73 lines
1.4 KiB
C#
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();
|
|
}
|
|
} |