public bool Action(GameAction action) { switch (action) { case GameAction.Forward: _previousWorld = _currentWorld; _currentWorld = _worldHandler.GenerateWorld(); break; case GameAction.Back: SwitchWorlds(); break; case GameAction.Fight: HandleFight(); break; case GameAction.Observe: break; case GameAction.Exit: _outputHandler.Exit(); return(false); } _outputHandler.Observe(_currentWorld.Observe()); return(true); }