Exemplo n.º 1
0
        protected virtual void OnStateChange(StateChangeEventArgs e)
        {
            if (StateChange != null)
            {
                StateChange(this, e);
            }

            return;;
        }
Exemplo n.º 2
0
        public void SetState(State state)
        {
            StateChangeEventArgs e =
                new StateChangeEventArgs(
                    name_, "SET", state_, state);

            #if TRACE
            Trace.WriteLine("ENTER STATE     : " +    state.Name);
            #endif

            state_ = state;

            OnStateChange(e);

            return;
        }
Exemplo n.º 3
0
        public void PopState()
        {
            if (stateStack_.Count == 0)
            {
            #if TRACE
                Trace.WriteLine("POPPING ON EMPTY STATE STACK.");
            #endif

                throw new
                    System.InvalidOperationException(
                        "popping an empty state stack");
            }
            else
            {
                State nextState = (State) stateStack_.Pop();
                StateChangeEventArgs e =
                    new StateChangeEventArgs(
                        name_, "POP", state_, nextState);

                // The pop method removes the top element
                // from the stack and returns it.
                state_ = nextState;

            #if TRACE
                Trace.WriteLine("POP TO STATE    : " + state_.Name);
            #endif

                OnStateChange(e);
            }

            return;
        }
Exemplo n.º 4
0
        public void PushState(State state)
        {
            StateChangeEventArgs e =
                new StateChangeEventArgs(
                    name_, "PUSH", state_, state);

            #if TRACE
            Trace.WriteLine("PUSH TO STATE   : " +    state.Name);
            #endif

            if (state_ != null)
            {

                stateStack_.Push(state_);
            }

            state_ = state;

            OnStateChange(e);

            return;
        }
Exemplo n.º 5
0
        public void SetState(State state)
        {
            StateChangeEventArgs e =
                new StateChangeEventArgs(
                    name_, "SET", state_, state);

            #if TRACE
            Trace.WriteLine("ENTER STATE     : " +    state.Name);
            #endif

            // clearState() is not called when a transition has
            // no actions, so set _previousState to _state in
            // that situation. We know clearState() was not
            // called when _state is not null.
            if (state_ != null)
            {
                previousState_ = state_;
            }

            state_ = state;

            OnStateChange(e);

            return;
        }