add unity project
add FSM examples
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace DefaultNamespace.StateMachineBehaviours
|
||||
{
|
||||
public class Test : UnityEngine.StateMachineBehaviour
|
||||
{
|
||||
private static readonly int IS_EXIT_ID = Animator.StringToHash("isExit");
|
||||
|
||||
[SerializeField] private InputAction _inputAction;
|
||||
|
||||
public override void OnStateEnter(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateEnter");
|
||||
_inputAction.Enable();
|
||||
}
|
||||
|
||||
public override void OnStateExit(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateExit");
|
||||
_inputAction.Disable();
|
||||
}
|
||||
|
||||
public override void OnStateUpdate(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateUpdate");
|
||||
|
||||
if (_inputAction.triggered)
|
||||
{
|
||||
animator.SetBool(IS_EXIT_ID, !animator.GetBool(IS_EXIT_ID));
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnStateMove(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateMove");
|
||||
}
|
||||
|
||||
public override void OnStateIK(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateIK");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0eabf46f6ebc4205b98427a83dbe96e2
|
||||
timeCreated: 1744122422
|
||||
Reference in New Issue
Block a user