IdleBehaviour.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using UnityEngine;
  2. namespace SoftKitty.MasterCharacterCreator
  3. {
  4. public class IdleBehaviour : StateMachineBehaviour
  5. {
  6. public string IdleIntName = "Idle";
  7. public float checkTimer = 3F;
  8. public int[] RandomIdleID;
  9. public int ChanceToPlayRandomIdle = 20;
  10. private float _timer = 0F;
  11. override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
  12. {
  13. if (_timer < checkTimer)
  14. {
  15. _timer += Time.deltaTime;
  16. }
  17. else
  18. {
  19. _timer = Random.Range(-8F, -3F);
  20. if (Random.Range(0, 100) < ChanceToPlayRandomIdle)
  21. {
  22. animator.SetInteger(IdleIntName, RandomIdleID[Random.Range(0, RandomIdleID.Length)]);
  23. }
  24. }
  25. }
  26. override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
  27. {
  28. animator.SetInteger(IdleIntName, 0);
  29. }
  30. }
  31. }