void PopulatePersistentSystemsForNewState(State state, SystemManagerState newState) { List <SystemManagerState.ISystem> persistentSystems; if (persistentSystemsForStates.TryGetValue(state, out persistentSystems)) { newState.AddSystems(persistentSystemsForStates[state]); } }
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); }