mergemilitary/Assets/Scripts/Game/Pet/PetAvatar.cs

73 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PetAvatar : MonoBehaviour
{
private Animator mAnimator;
private TimerUnit mIdleTimer;
private void Awake()
{
mAnimator = GetComponentInChildren<Animator>();
mIdleTimer = TimerManager.Instance.CreateTimerUnit();
SwitchPose();
}
private void OnDestroy()
{
if (mIdleTimer != null)
{
mIdleTimer.Destroy();
}
}
public void Happy()
{
PlayAnimation("Happy");
SwitchPose();
}
public void Courage()
{
PlayAnimation("Courage");
mIdleTimer.CancelTimer();
}
public void Win()
{
PlayAnimation("Win");
mIdleTimer.CancelTimer();
}
private void SwitchPose()
{
mIdleTimer.StartTimer(RandomPose, Random.Range(5f, 10f));
}
private void PlayAnimation(string pAniName)
{
mAnimator.CrossFade(pAniName, 0.2f);
}
private void RandomPose()
{
int tRandomIndex = Random.Range(0, 4);
if (tRandomIndex == 0)
{
PlayAnimation("Idle");
}
else
{
PlayAnimation("Random" + tRandomIndex);
}
SwitchPose();
}
private void OnMouseUpAsButton()
{
PlayAnimation("Tap" + Random.Range(1, 4));
SwitchPose();
}
}