예제 #1
0
        public bool QueueState(StateKey id, object context, bool forceStateChange)
        {
            if (m_wasShutdown)
            {
                return(false);
            }

            IFsmState <StateKey> queuedState = m_registeredStates[id];

            if (!queuedState.CanEnterState(CurrentStateId))
            {
                return(false);
            }

            this.m_context          = context;
            this.m_forceStateChange = forceStateChange;
            this.m_queuedState      = queuedState;

            return(true);
        }