public static void addTransition(this FsmState self, string eventName, string toState) { List <FsmTransition> transitions = self.Transitions.ToList(); FsmTransition trans = new FsmTransition { ToState = toState, FsmEvent = FsmEvent.EventListContains(eventName) ? FsmEvent.GetFsmEvent(eventName) : new FsmEvent(eventName) }; transitions.Add(trans); self.Transitions = transitions.ToArray(); }
public static void AddTransition(this FsmState self, string eventName, string toState) { FsmTransition[] transitions = new FsmTransition[self.Transitions.Length + 1]; Array.Copy(self.Transitions, transitions, self.Transitions.Length); self.Transitions = transitions; FsmTransition trans = new FsmTransition { ToState = toState, FsmEvent = FsmEvent.EventListContains(eventName) ? FsmEvent.GetFsmEvent(eventName) : new FsmEvent(eventName) }; self.Transitions[self.Transitions.Length - 1] = trans; }
public static void AddTransition(this FsmState self, string eventName, string toState) { List <FsmTransition> transitions = self.Transitions.ToList(); FsmTransition trans = new FsmTransition(); trans.ToState = toState; if (FsmEvent.EventListContains(eventName)) { trans.FsmEvent = FsmEvent.GetFsmEvent(eventName); } else { trans.FsmEvent = new FsmEvent(eventName); } transitions.Add(trans); self.Transitions = transitions.ToArray(); }
/// <summary> /// Creates the global event if needed. /// </summary> /// <returns><c>true</c>, if global event was created <c>false</c> if event existed already.</returns> /// <param name="EventName">Event name.</param> public FsmEvent CreateGlobalEvent(string EventName, out bool ExistsAlready) { FsmEvent _event = FsmEvent.GetFsmEvent(EventName); ExistsAlready = FsmEvent.EventListContains(EventName); if (ExistsAlready) { if (_event != null && _event.IsGlobal) { _event.IsGlobal = true; } return(_event); } _event = new FsmEvent(EventName); _event.IsGlobal = true; FsmEvent.AddFsmEvent(_event); return(_event); }
public RandomizerBoolTest(string boolName, string failEventName, string successEventName, bool playerdata = false) { _boolName = boolName; _playerdata = playerdata; if (failEventName != null) { _failEvent = FsmEvent.EventListContains(failEventName) ? FsmEvent.GetFsmEvent(failEventName) : new FsmEvent(failEventName); } if (successEventName == null) { return; } _successEvent = FsmEvent.EventListContains(successEventName) ? FsmEvent.GetFsmEvent(successEventName) : new FsmEvent(successEventName); }