add unity project
add example for FSM
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace DefaultNamespace
|
||||
{
|
||||
public class Test : UnityEngine.StateMachineBehaviour
|
||||
{
|
||||
private static readonly int IS_EXIT_ID = Animator.StringToHash("isExit");
|
||||
|
||||
[SerializeField] private InputAction _action;
|
||||
|
||||
public override void OnStateEnter(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateEnter");
|
||||
_action.Enable();
|
||||
}
|
||||
|
||||
public override void OnStateExit(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateExit");
|
||||
_action.Disable();
|
||||
}
|
||||
|
||||
public override void OnStateUpdate(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log($"{Time.time}: OnStateUpdate {Time.frameCount}");
|
||||
|
||||
if (_action.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($"{Time.time}: OnStateMove {Time.frameCount}");
|
||||
}
|
||||
|
||||
public override void OnStateIK(UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo,
|
||||
int layerIndex)
|
||||
{
|
||||
Debug.Log("OnStateIK");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2192e00baf048c0a3b8fe1a6906e938
|
||||
timeCreated: 1744100668
|
||||
Reference in New Issue
Block a user