public void NextPlayerShop() { _currentPlayerIndex++; Console.WriteLine("player index: " + _currentPlayerIndex); Console.WriteLine("number of players: " + A3RData.NumberOfPlayers); if (_currentPlayerIndex > A3RData.NumberOfPlayers - 1) { A3RData.Camera.FocusLock = false; UserInterface.Instance.NotifyUIEvent(this, new UIEventArgs(UIEvent.StartCombat)); } else { A3RData.SelectedPlayer = A3RData.Players[_currentPlayerIndex]; } UIModule = new UI_ShopMenu(A3RData, NextPlayerShop); _scrollingPoint = new CameraFocusPoint(); _scrollingPoint.Vector.Y = A3RData.WindowRect.Height / 2; A3RData.Camera.FocusLock = false; A3RData.Camera.FocusCamera(_scrollingPoint); A3RData.Camera.FocusLock = true; UserInterface.Instance.RefreshUI(); }
public override void EnterState() { _currentPlayerIndex = 0; A3RData.SelectedPlayer = A3RData.Players[_currentPlayerIndex]; UIModule = new UI_ShopMenu(A3RData, NextPlayerShop); _scrollingPoint = new CameraFocusPoint(); _scrollingPoint.Vector.Y = A3RData.WindowRect.Height / 2; Console.WriteLine("Welcome to the shop!"); A3RData.Camera.FocusCamera(_scrollingPoint); A3RData.Camera.FocusLock = true; SwinGame.StopMusic(); SwinGame.PlayMusic("shopDrone"); SwinGame.PlaySoundEffect("entryboomShop"); base.EnterState(); }
public World(Rectangle windowRect, InputHandler inputHandler) { _windowRect = windowRect; UserInterface.Instance.World = this; _camera = UserInterface.Instance.Camera; _cameraFocusPoint = new CameraFocusPoint(); _logicalTerrain = new Terrain(_windowRect); _environment = new Environment(_windowRect, _camera); _inputHandler = inputHandler; _players = new List <Player>(); _selectedPlayer = null; _state = new StateComponent <WorldState>(WorldState.TrackingPlayer); //change to loading later _observer = new WorldObserver(this); _random = new Random(); _windMarker = SwinGame.CreateSprite(SwinGame.BitmapNamed("windMarker")); _satellite = new Satellite("Maia", Constants.TerrainWidth / 2, -300); _turnCount = 0; }
public CombatGameState(A3RData a3RData) : base(a3RData) { _a3RData = a3RData; _windowRect = a3RData.WindowRect; _cameraFocusPoint = new CameraFocusPoint(); A3RData.Environment = new Environment(_windowRect, A3RData.Camera); _state = new StateComponent <CombatState>(CombatState.TrackingPlayer); //change to loading later A3RData.Satellite = new Satellite("Maia", Constants.TerrainWidth / 2, -300); _inputHandler = new InputHandler(); _observer = new CombatStateObserver(this); UIModule = new UI_Combat(A3RData); _backgroundBg = SwinGame.BitmapNamed("combatBg"); _turnCount = 0; }
public void Run() { SwinGame.OpenAudio(); SwinGame.OpenGraphicsWindow("Artillery3", (int)_windowRect.Width, (int)_windowRect.Height); SwinGame.SetIcon("H:\\repos\\Artillery3\\Resources\\images\\logoArtillery3LogoIcon.ico"); LoadResources(); SwinGame.ClearScreen(Color.White); _gameState.Push(_gameStateTransitions[UIEvent.MainMenu]); _currentState = _gameState.Peek(); _currentState.EnterState(); while (!SwinGame.WindowCloseRequested() && !_a3RData.UserExitRequested) { _currentState = _gameState.Peek(); SwinGame.ProcessEvents(); _currentState.Update(); UserInterface.Instance.Update(); #region Developer Region /* * if (SwinGame.KeyDown(KeyCode.MKey)) * { * _devFocusPoint = new CameraFocusPoint(); * Clamp(_devFocusPoint.Pos.X, _a3RData.WindowRect.Width / 2, _a3RData.Terrain.Map.Length - _a3RData.WindowRect.Width / 2); * _devFocusPoint.Pos = _a3RData.Camera.Focus.Pos; * _a3RData.Camera.FocusCamera(_devFocusPoint); * } */ //if (SwinGame.KeyDown(KeyCode.LKey)) _devFocusPoint.Vector.X += 10; //if (SwinGame.KeyDown(KeyCode.JKey)) _devFocusPoint.Vector.X -= 10; //if (SwinGame.KeyDown(KeyCode.IKey)) _devFocusPoint.Vector.Y -= 10; //if (SwinGame.KeyDown(KeyCode.KKey)) _devFocusPoint.Vector.Y += 10; if (SwinGame.MouseDown(MouseButton.RightButton)) { if (_mouseFocusPoint == null) { _mouseFocusPoint = new CameraFocusPoint(); } _mouseFocusPoint.Vector.X = SwinGame.MouseX() + _a3RData.Camera.Pos.X; _mouseFocusPoint.Vector.Y = SwinGame.MouseY() + _a3RData.Camera.Pos.Y; _a3RData.Camera.FocusCamera(_mouseFocusPoint); } #endregion SwinGame.ClearScreen(Color.White); _currentState.Draw(); UserInterface.Instance.Draw(); SwinGame.RefreshScreen(60); } SwinGame.CloseAudio(); SwinGame.ReleaseAllResources(); }