public virtual void OnExecutingEvent(XFsmEvent fsmEvent) { fsmEvent.OnEnter(); if (null != fsmEvent.NextState) { CurrState.OnExit(); CurrState = fsmEvent.NextState; CurrState.OnEnter(); } fsmEvent.OnExit(); }
public virtual void UngistEvent(XFsmEvent component) { fsmEvents.Remove(component); component.OwnerState = null; }
public virtual void RegistFinishEvent() { FinishEvent = new XFsmEvent(); RegistEvent(FinishEvent); }
public virtual void RegistEvent(XFsmEvent component) { fsmEvents.Add(component); component.OwnerState = this; }