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); }