Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
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;
        }
Ejemplo n.º 5
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();
        }