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();
        }
Example #2
0
        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();
        }
Example #4
0
    /// <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);
    }
Example #5
0
        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);
        }