public virtual void OnAfterDeserialize() { Actions.Clear(); FixedActions.Clear(); TransitionConditions.Clear(); for (int i = 0; i < ActionObjects.Count; i++) { if (ActionObjects[i] is StateAction <T> ) { Actions.Add(ActionObjects[i] as StateAction <T>); } } for (int i = 0; i < FixedActionObjects.Count; i++) { if (FixedActionObjects[i] is StateAction <T> ) { FixedActions.Add(FixedActionObjects[i] as StateAction <T>); } } for (int i = 0; i < TransitionConditionObjects.Count; i++) { if (TransitionConditionObjects[i] is StateTransitionCondition <T> ) { TransitionConditions.Add(TransitionConditionObjects[i] as StateTransitionCondition <T>); } } }
public virtual void FixedTick(T controller) { FixedActions.ForEach(fa => { if (!_halted) { fa.Act(controller); } }); }