using Game; using System.Collections; using System.Collections.Generic; using UnityEngine; public class anime_DeadAnimeEnd : StateMachineBehaviour { public int RoleID = 0; public int NodeType = 0; bool bSendEvent = false; // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bSendEvent = false; NodeType = animator.GetInteger("NodeType"); RoleID = animator.GetInteger("RoleID"); } // OnState}Update is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (!bSendEvent && stateInfo.normalizedTime > 0.95f) { bSendEvent = true; AppEntry.Event.Fire(null, RoleDeadAnimeEndEventArgs.Create((E_NODE_TYPE)NodeType, RoleID)); } } // OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (!bSendEvent) { bSendEvent = true; AppEntry.Event.Fire(null, RoleDeadAnimeEndEventArgs.Create((E_NODE_TYPE)NodeType,RoleID)); } } // OnStateMove is called right after Animator.OnAnimatorMove() //override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) //{ // // Implement code that processes and affects root motion //} // OnStateIK is called right after Animator.OnAnimatorIK() //override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) //{ // // Implement code that sets up animation IK (inverse kinematics) //} }