public GameStateManager(A3Data a3Data) { _stateStack = new Stack <GameState>(); _a3Data = a3Data; PushState(new CombatState(_a3Data)); _enabled = true; }
public CombatState(A3Data a3Data) : base(a3Data) { Character Innocentia = new Character("Innocentia"); Player testPlayer = new Player("Doll 1", new PlayerInputMethod()); testPlayer.Character = Innocentia; _a3Data.SelectedPlayer = testPlayer; }
public void HandleInput(A3Data a3Data) //yes that means we can only handle one command at a time. { foreach (KeyCode k in _registeredKeys) { if (SwinGame.KeyDown(k)) { if (a3Data.SelectedPlayer != null) { _keyToCommands[k].Execute(a3Data.SelectedPlayer.Character); } else { throw new MissingMemberException("selectedPlayer not found", "a3Data.SelectedPlayer"); } //We can fix this later } } }
public void Run() { try { SwinGame.OpenAudio(); } catch (Exception e) { Console.WriteLine("Audio failed to open: " + e.Message); //Not like it's an issue. } A3Data _a3Data = new A3Data(); Services.Instance.Initialise(_a3Data); GameStateManager _gameStateManager = new GameStateManager(_a3Data); SwinGame.OpenGraphicsWindow("Artillery3x", Artillery.Constants.WindowWidth, Artillery.Constants.WindowHeight); LoadResources(); while (!SwinGame.WindowCloseRequested() && !_userExitRequested) { SwinGame.ClearScreen(Color.White); SwinGame.ProcessEvents(); Services.Update(); Services.Draw(); _gameStateManager.Update(); _gameStateManager.Draw(); SwinGame.RefreshScreen(60); } SwinGame.CloseAudio(); SwinGame.ReleaseAllResources(); }
public GameState(A3Data a3Data) { _a3Data = a3Data; }
public void HandleInput(A3Data a3Data) { a3Data.SelectedPlayer.InputMethod.HandleInput(a3Data); }
public void HandleInput(A3Data a3Data) { a3Data.CommandStream.AddCommand(new CommandMoveRight()); }