Added Unity project for AI

Added FSM examples
This commit is contained in:
2026-04-20 12:49:00 +02:00
parent af72eec045
commit 3e8a3a56cf
83 changed files with 8059 additions and 0 deletions
@@ -0,0 +1,58 @@
using UnityEngine;
using UnityEngine.InputSystem;
namespace AI.StateMachineBehaviours
{
public class TestStateBehaviour : StateMachineBehaviour
{
private static readonly int IS_EXIT = Animator.StringToHash("IsExit");
[SerializeField] private InputActionReference inputAction;
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("TestStateBehaviour OnStateEnter");
inputAction.action.Enable();
}
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("TestStateBehaviour OnStateExit");
inputAction.action.Disable();
}
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("TestStateBehaviour OnStateUpdate");
if (inputAction.action.triggered)
{
animator.SetBool(IS_EXIT, !animator.GetBool(IS_EXIT));
}
}
public override void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("TestStateBehaviour OnStateMove");
}
public override void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
Debug.Log("TestStateBehaviour OnStateIK");
}
public override void OnStateMachineEnter(Animator animator, int stateMachinePathHash)
{
base.OnStateMachineEnter(animator, stateMachinePathHash);
Debug.Log("TestStateBehaviour OnStateMachineEnter");
}
public override void OnStateMachineExit(Animator animator, int stateMachinePathHash)
{
base.OnStateMachineExit(animator, stateMachinePathHash);
Debug.Log("TestStateBehaviour OnStateMachineExit");
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a6b10e8225ce4540b47737d3ad6e9391
timeCreated: 1776673990