Example #1
0
        private void Init()
        {
            if (_didInit)
            {
                return;
            }
            _didInit = true;

            for (int index = 0; index < states.Count; index++)
            {
                FSMState fsmState = states[index];
                if (fsmState == null)
                {
                    return;
                }
                fsmState.Awake(this);
                var outgoingTransitions = new List <TransitionStatePair>();
                TransitionMap[fsmState] = outgoingTransitions;
                foreach (SrlTransitionPair srlTransitionPair in transitions)
                {
                    if (srlTransitionPair.fromState == index)
                    {
                        outgoingTransitions.Add(new TransitionStatePair()
                        {
                            State      = GetState(srlTransitionPair.toState),
                            Transition = srlTransitionPair.transition
                        });
                    }
                }
            }
        }