Ejemplo n.º 1
0
        public void AddState(string pStateName, OnStateChange pOnEnterState, OnStateChange pOnLeaveState)
        {
            SStateEntry e = new SStateEntry();

            e.name         = pStateName;
            e.OnEnterState = pOnEnterState;
            e.OnLeaveState = pOnLeaveState;

            mUIStates.Add(e);
        }
Ejemplo n.º 2
0
        public void GoToState(string pStateName, System.Action pOnDoneCbk = null)
        {
            SStateEntry newState = GetUIState(pStateName);

            if (mCurrentUIState.name != null && mCurrentUIState.OnLeaveState != null)
            {
                mCurrentUIState.OnLeaveState(() => {
                    mCurrentUIState = newState;
                    newState.OnEnterState(pOnDoneCbk);
                });
            }
            else
            {
                mCurrentUIState = newState;
                newState.OnEnterState(pOnDoneCbk);
            }
        }