/// <summary> /// Switches between the states /// </summary> /// <param name="stateType"> /// Takes a gamestate as a argument and switches the activestate /// </param> /// <exception cref="ArgumentOutOfRangeException"></exception> public void SwitchState(StateTransformer.GameStateType stateType) { switch (stateType) { case StateTransformer.GameStateType.GameRunning: ActiveState = GameRunning.GetInstance(); break; case StateTransformer.GameStateType.GamePaused: ActiveState = GamePaused.GetInstance(); break; case StateTransformer.GameStateType.MainMenu: ActiveState = MainMenu.GetInstance(); break; default: throw new ArgumentOutOfRangeException(nameof(stateType), stateType, null); } }
public static GamePaused GetInstance() { return(GamePaused.instance ?? (GamePaused.instance = new GamePaused())); }