Files
valheim/Assets/_Valheim/Scripts/EnemyAnimatorMachineBehaviour/RandomIdelMachineBehaviour.cs
2025-07-04 14:16:14 +08:00

59 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valheim;
public class RandomIdelMachineBehaviour : StateMachineBehaviour
{
[HideInInspector]
public int IdelIndex = -1;
// OnStateEnter is called before OnStateEnter is called on any state inside this state machine
// override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
// {
// }
// OnStateUpdate is called before OnStateUpdate is called on any state inside this state machine
//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// // // OnStateExit is called before OnStateExit is called on any state inside this state machine
// override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
// {
// if (stateInfo.IsName("TakeDamage"))
// {
// animator.SetBool("TakeDamage", false);
// }
// }
// OnStateMove is called before OnStateMove is called on any state inside this state machine
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateIK is called before OnStateIK is called on any state inside this state machine
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateMachineEnter is called when entering a state machine via its Entry Node
override public void OnStateMachineEnter(Animator animator, int stateMachinePathHash)
{
if (IdelIndex == -1)
{
int length = 2;
IdelIndex = Random.Range(0, length);
}
animator.SetInteger("randomIdelIndex", IdelIndex);
}
// OnStateMachineExit is called when exiting a state machine via its Exit Node
// override public void OnStateMachineExit(Animator animator, int stateMachinePathHash)
// {
// }
}