예제 #1
0
    void PopulatePersistentSystemsForNewState(State state, SystemManagerState newState)
    {
        List <SystemManagerState.ISystem> persistentSystems;

        if (persistentSystemsForStates.TryGetValue(state, out persistentSystems))
        {
            newState.AddSystems(persistentSystemsForStates[state]);
        }
    }
예제 #2
0
    SystemManagerState GetStateForEnum(State state)
    {
        SystemManagerState newState = null;

        switch (state)
        {
        case State.Editor: newState = new EditorState(); break;

        case State.Playing: Debug.LogError("Attempting to change state to a default Playing State. This is not allowed."); return(null);    // call from Play function in this editor instead

        case State.Menu: return(menuState);

        case State.Loading: return(loadingState);

        default: break;
        }

        PopulatePersistentSystemsForNewState(state, newState);

        return(newState);
    }