Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 public void OnGUI()
 {
     for (int i = 0; i < ActiveActions.Count; i++)
     {
         FsmStateAction fsmStateAction = ActiveActions[i];
         fsmStateAction.Init(this);
         fsmStateAction.OnGUI();
     }
     RemoveFinishedActions();
 }
Esempio n. 3
0
 public void OnLateUpdate()
 {
     for (int i = 0; i < ActiveActions.Count; i++)
     {
         FsmStateAction fsmStateAction = ActiveActions[i];
         fsmStateAction.Init(this);
         fsmStateAction.OnLateUpdate();
     }
     CheckAllActionsFinished();
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
 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);
 }
Esempio n. 6
0
 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);
 }
Esempio n. 7
0
 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);
 }
Esempio n. 8
0
 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);
 }
Esempio n. 9
0
 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);
 }
Esempio n. 10
0
 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();
     }
 }
Esempio n. 11
0
        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);
        }