private bool ActivateActions(int startIndex) { for (int i = startIndex; i < Actions.Length; i++) { activeActionIndex = i; FsmStateAction fsmStateAction = Actions[i]; if (!fsmStateAction.Enabled) { fsmStateAction.Finished = true; continue; } ActiveActions.Add(fsmStateAction); activeAction = fsmStateAction; fsmStateAction.Active = true; fsmStateAction.Finished = false; fsmStateAction.Init(this); fsmStateAction.Entered = true; fsmStateAction.OnEnter(); if (Fsm.IsSwitchingState) { return(false); } if (!fsmStateAction.Finished && isSequence) { return(false); } } return(true); }
public void OnGUI() { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.OnGUI(); } RemoveFinishedActions(); }
public void OnLateUpdate() { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.OnLateUpdate(); } CheckAllActionsFinished(); }
public bool OnJointBreak2D(Joint2D joint) { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.DoJointBreak2D(joint); } RemoveFinishedActions(); return(fsm.IsSwitchingState); }
public bool OnControllerColliderHit(ControllerColliderHit collider) { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.DoControllerColliderHit(collider); } RemoveFinishedActions(); return(fsm.IsSwitchingState); }
public bool OnTriggerExit2D(Collider2D other) { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.DoTriggerExit2D(other); } RemoveFinishedActions(); return(fsm.IsSwitchingState); }
public bool OnCollisionExit2D(Collision2D collisionInfo) { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.DoCollisionExit2D(collisionInfo); } RemoveFinishedActions(); return(fsm.IsSwitchingState); }
public bool OnParticleCollision(GameObject other) { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.DoParticleCollision(other); } RemoveFinishedActions(); return(fsm.IsSwitchingState); }
public bool OnAnimatorIK(int layerIndex) { for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.DoAnimatorIK(layerIndex); } RemoveFinishedActions(); return(fsm.IsSwitchingState); }
public void OnUpdate() { if (!finished) { StateTime += Time.deltaTime; for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); fsmStateAction.OnUpdate(); } CheckAllActionsFinished(); } }
public bool OnEvent(FsmEvent fsmEvent) { bool result = false; for (int i = 0; i < ActiveActions.Count; i++) { FsmStateAction fsmStateAction = ActiveActions[i]; fsmStateAction.Init(this); result = fsmStateAction.Event(fsmEvent); } if (!fsm.IsSwitchingState) { return(result); } return(true); }