public override void HandleInput(GameComponents.Input input, GameTime gameTime)
        {
            base.HandleInput(input, gameTime);

            /*((FreeCamera)CameraManager.ActiveCamera).Rotate(input.MouseMoved.X * 0.01f, input.MouseMoved.Y * 0.01f);
             *
             * Vector3 moveVector = Vector3.Zero;
             * if (input.Up) moveVector += Vector3.Forward;
             * if (input.Down) moveVector += Vector3.Backward;
             * if (input.Right) moveVector += Vector3.Left;
             * if (input.Left) moveVector += Vector3.Right;
             * moveVector *= ((float)gameTime.ElapsedGameTime.TotalMilliseconds / 1000.0f) * 30.0f;
             *
             * ((FreeCamera)CameraManager.ActiveCamera).Move(moveVector);*/
        }
        /// <summary>
        /// Handle the input of the user relative to the <c>DeadScreen</c> screen.
        /// </summary>
        /// <param name="input">Current state of the player input.</param>
        /// <param name="gameTime">Current time of the game.</param>
        public override void HandleInput(GameComponents.Input input, GameTime gameTime)
        {
            base.HandleInput(input, gameTime);

            if (input.Up)
            {
                _selectedEntry = (_selectedEntry - 1) == -1 ? _menuEntries.Count - 1 : (_selectedEntry - 1);
            }

            if (input.Down)
            {
                _selectedEntry = (_selectedEntry + 1) == _menuEntries.Count ? 0 : (_selectedEntry + 1);
            }

            if (input.Action)
            {
                switch (_selectedEntry)
                {
                case 0:
                    ScreenManager.RemoveScreen("AGameMenu");
                    break;

                case 1:
                    ScreenManager.RemoveScreen("AGameMenu");
                    EventManager.Trigger(new EventData_SaveGame(_gameScreen.MapName,
                                                                _gameScreen.MainPlayer, _gameScreen.Enemies));
                    break;

                case 2:
                    ScreenManager.RemoveScreen("AGameMenu");

                    int      index = 0;
                    string[] files = FileHelper.GetFilesInDirectory();
                    if (files.Length == 0)
                    {
                        ScreenManager.RemoveScreen("AGameMenu");
                    }
                    else
                    {
                        bool finish = false;
                        for (int i = 0; i < files.Length && !finish; i++)
                        {
                            if (files[i].Contains("GameSetting"))
                            {
                                continue;
                            }

                            string extension = files[i].Split(' ')[2].Split('.')[1];
                            if (extension != "png")
                            {
                                index  = i;
                                finish = true;
                            }
                        }

                        for (int i = 1; i < files.Length; i++)
                        {
                            if (files[i].Contains("GameSetting"))
                            {
                                continue;
                            }

                            string extension = files[i].Split(' ')[2].Split('.')[1];
                            if (extension != "png")
                            {
                                int date = Convert.ToInt32(files[i].Split(' ')[1]);
                                int hour = Convert.ToInt32(files[i].Split(' ')[2].Split('.')[0]);
                                if (date > Convert.ToInt32(files[index].Split(' ')[1]))
                                {
                                    index = i;
                                }
                                else if (date == Convert.ToInt32(files[index].Split(' ')[1]) &&
                                         hour > Convert.ToInt32(files[index].Split(' ')[2].Split('.')[0]))
                                {
                                    index = i;
                                }
                            }
                        }

                        EventManager.Trigger(new EventData_LoadSavedGame(files[index]));
                    }

                    break;

                case 3:
                    ScreenManager.RemoveScreen("AGameMenu");
                    ScreenManager.AddScreen("LoadingScreen", new LoadingGame(
                                                LevelManager.GetLevel(_gameScreen.MapName).MapInformation, false));
                    ScreenManager.RemoveScreen("ContinueGame");

                    break;
                }
            }

            /*if (input.Select)
             * {
             *  ScreenManager.RemoveScreen("InGameMenu");
             * }*/
        }
        /// <summary>
        /// Handle the input of the user relative to the <c>MainGameScreen</c> screen.
        /// </summary>
        /// <param name="input">Current state of the player input.</param>
        /// <param name="gameTime">Current time of the game.</param>
        public override void HandleInput(GameComponents.Input input, GameTime gameTime)
        {
            if (input.Up)
            {
                if (_player.PlayerYDirection != Player.YDirection.Up)
                {
                    EventManager.QueueEvent(new EventData_UnitDirectionYChanged(ref _player, Player.YDirection.Up));
                }
            }

            if (input.Down)
            {
                if (_player.PlayerYDirection != Player.YDirection.Down)
                {
                    EventManager.QueueEvent(new EventData_UnitDirectionYChanged(ref _player, Player.YDirection.Down));
                }
            }

            if (!input.Up && !input.Down)
            {
                if (_player.PlayerYDirection != Player.YDirection.None)
                {
                    EventManager.QueueEvent(new EventData_UnitDirectionYChanged(ref _player, Player.YDirection.None));
                }
            }

            if (input.Left)
            {
                if (_player.PlayerXDirection != Player.XDirection.Left)
                {
                    EventManager.QueueEvent(new EventData_UnitDirectionXChanged(ref _player, Player.XDirection.Left));
                }

                if (_player.PlayerState == Player.State.Waiting)
                {
                    EventManager.QueueEvent(new EventData_UnitStateChanged(_player, Player.State.Running));
                }
            }

            if (input.Right)
            {
                if (_player.PlayerXDirection != Player.XDirection.Right)
                {
                    EventManager.QueueEvent(new EventData_UnitDirectionXChanged(ref _player, Player.XDirection.Right));
                }

                if (_player.PlayerState == Player.State.Waiting)
                {
                    EventManager.QueueEvent(new EventData_UnitStateChanged(_player, Player.State.Running));
                }
            }

            if (!input.Left && !input.Right)
            {
                if (_player.PlayerXDirection != Player.XDirection.None)
                {
                    EventManager.QueueEvent(new EventData_UnitDirectionXChanged(ref _player, Player.XDirection.None));
                }

                if (_player.PlayerState == Player.State.Running)// || _player.PlayerState == GameUnit.State.Jumping)
                {
                    EventManager.QueueEvent(new EventData_UnitStateChanged(_player, Player.State.Waiting));
                }
            }

            if (input.Attack)
            {
                _amount += (float)(gameTime.ElapsedGameTime.Milliseconds / 1000f);
                if (_player.PlayerGun != null && _amount > _player.ShotSpeed)
                {
                    Vector3 origin = Vector3.Zero;
                    Vector3 up     = Vector3.Zero;
                    Vector3 speed  = Vector3.Zero;

                    if (_player.PlayerState == Player.State.Jumping)
                    {
                        if (_player.PlayerXDirection == Character.XDirection.Left ||
                            (_player.PlayerXDirection == Character.XDirection.None &&
                             _player.LastPlayerXDirection == Character.XDirection.Left))
                        {
                            origin = new Vector3(
                                _player.DModel.BSphere.Center.X - _player.DModel.BSphere.Radius / 1f,
                                _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius / 2.5f,
                                _player.DModel.BSphere.Center.Z);
                            up    = -Vector3.Up;
                            speed = new Vector3(-10f, 0, 0);
                        }
                        else if (_player.PlayerXDirection == Character.XDirection.Right ||
                                 (_player.PlayerXDirection == Character.XDirection.None &&
                                  _player.LastPlayerXDirection == Character.XDirection.Right))
                        {
                            origin = new Vector3(
                                _player.DModel.BSphere.Center.X + _player.DModel.BSphere.Radius / 1.2f,
                                _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius / 4.5f,
                                _player.DModel.BSphere.Center.Z);
                            up    = Vector3.Up;
                            speed = new Vector3(10f, 0, 0);
                        }
                    }
                    else if (_player.PlayerXDirection == Character.XDirection.None &&
                             _player.PlayerYDirection == Character.YDirection.Up)
                    {
                        origin = new Vector3(
                            _player.DModel.BSphere.Center.X,
                            _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius * 1.5f,
                            _player.DModel.BSphere.Center.Z);
                        up    = new Vector3(-1f, 0, 0);
                        speed = new Vector3(0, 10f, 0);
                    }
                    else if (_player.PlayerXDirection == Character.XDirection.Left ||
                             (_player.PlayerXDirection == Character.XDirection.None && _player.LastPlayerXDirection == Character.XDirection.Left))
                    {
                        if (_player.PlayerYDirection == Character.YDirection.Up)
                        {
                            origin = new Vector3(
                                _player.DModel.BSphere.Center.X - _player.DModel.BSphere.Radius / 1.3f,
                                _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius / 0.85f,
                                _player.DModel.BSphere.Center.Z);
                            up    = new Vector3(-0.75f, -0.75f, 0);
                            speed = new Vector3(-10f, 10f, 0);
                        }
                        else
                        {
                            origin = new Vector3(
                                _player.DModel.BSphere.Center.X - _player.DModel.BSphere.Radius / 0.9f,
                                _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius / 4.5f,
                                _player.DModel.BSphere.Center.Z);
                            up    = Vector3.Up;
                            speed = new Vector3(-10f, 0, 0);
                        }
                    }
                    else if (_player.PlayerXDirection == Character.XDirection.Right ||
                             (_player.PlayerXDirection == Character.XDirection.None && _player.LastPlayerXDirection == Character.XDirection.Right))
                    {
                        if (_player.PlayerYDirection == Character.YDirection.Up)
                        {
                            origin = new Vector3(
                                _player.DModel.BSphere.Center.X + _player.DModel.BSphere.Radius / 1.3f,
                                _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius / 0.9f,
                                _player.DModel.BSphere.Center.Z);
                            up    = new Vector3(-0.75f, 0.75f, 0);
                            speed = new Vector3(10f, 10f, 0);
                        }
                        else
                        {
                            origin = new Vector3(
                                _player.DModel.BSphere.Center.X + _player.DModel.BSphere.Radius / 1.2f,
                                _player.DModel.BSphere.Center.Y + _player.DModel.BSphere.Radius / 4.5f,
                                _player.DModel.BSphere.Center.Z);
                            up    = Vector3.Up;
                            speed = new Vector3(10f, 0, 0);
                        }
                    }

                    if (_player.PlayerState != Player.State.Climbing)
                    {
                        if (_player.PlayerGun.CurrentAmmo != 0)
                        {
                            if (_player.PlayerGun.GunType == Gun.ShotType.Laser)
                            {
                                SoundManager.GetSound("LaserShot").Volume = GameSettings.DefaultInstance.SoundVolume;
                                SoundManager.GetSound("LaserShot").Play(true, false);
                            }
                            else
                            {
                                SoundManager.GetSound("MetalShot").Volume = GameSettings.DefaultInstance.SoundVolume;
                                SoundManager.GetSound("MetalShot").Play(true, false);
                            }

                            _shotManager.AddShot(new Shot(_player.PlayerGun.GunType, origin, up, speed));

                            _player.PlayerGun.CurrentAmmo -= 1;
                        }
                        else
                        {
                            foreach (Objects.Object playerObject in _player.Objects)
                            {
                                if (playerObject is Objects.Ammo &&
                                    ((Objects.Ammo)playerObject).Type == _player.PlayerGun.GunType)
                                {
                                    EventManager.Trigger(new EventData_ReloadGun(_player, playerObject));
                                    ((AnimatedModel)_player.DModel).Animation.StartClip("Reload", false);
                                }
                            }
                        }
                    }

                    _amount = 0.0f;
                }
            }

            if (input.Jump)
            {
                EventManager.QueueEvent(new EventData_UnitStateChanged(_player, Player.State.Jumping));
            }

            if (input.Select)
            {
                Input.Continuous = false;
                ScreenManager.AddScreen("AGameMenu", new GameMenuScreen(this, "AGameMenu", 25f));
            }

            if (input.Start)
            {
                ((ChaseCamera)CameraManager.ActiveCamera).Position = new Vector3(10f, 7.5f, 18f);
                ((ChaseCamera)CameraManager.ActiveCamera).Target   = new Vector3(10f, 7.5f, 5f);

                _player.Position = new Vector3(10, 6.5f, 5f);
            }

            if (input.Inventory)
            {
                SoundManager.GetSound("Running").Pause();
                ScreenManager.AddScreen("Inventory", new InventoryScreen(
                                            this, "Inventory", "InventoryBackground", _player));
            }

            /*((FreeCamera)CameraManager.ActiveCamera).Rotate(input.MouseMoved.X * 0.01f, input.MouseMoved.Y * 0.01f);
             *
             * Vector3 moveVector = Vector3.Zero;
             * if (input.Up)    moveVector += Vector3.Forward;
             * if (input.Down)  moveVector += Vector3.Backward;
             * if (input.Right) moveVector += Vector3.Left;
             * if (input.Left)  moveVector += Vector3.Right;
             * moveVector *= ((float)gameTime.ElapsedGameTime.TotalMilliseconds / 1000.0f) * 30.0f;
             *
             * ((FreeCamera)CameraManager.ActiveCamera).Move(moveVector);*/
        }
Example #4
0
        /// <summary>
        /// Handle the input of the user relative to the <c>InventoryScreen</c> screen.
        /// </summary>
        /// <param name="input">Current state of the player input.</param>
        /// <param name="gameTime">Current time of the game.</param>
        public override void HandleInput(GameComponents.Input input, GameTime gameTime)
        {
            base.HandleInput(input, gameTime);

            if (!_inside)
            {
                if (input.Up)
                {
                    if (_currentElement == InventoryParts.Equipment)
                    {
                        _currentElement = InventoryParts.Exit;
                    }
                    else if (_currentElement == InventoryParts.Inventory)
                    {
                        _currentElement = InventoryParts.Equipment;
                    }
                    else
                    {
                        _currentElement = InventoryParts.Inventory;
                    }
                }

                if (input.Down)
                {
                    if (_currentElement == InventoryParts.Equipment)
                    {
                        _currentElement = InventoryParts.Inventory;
                    }
                    else if (_currentElement == InventoryParts.Inventory)
                    {
                        _currentElement = InventoryParts.Exit;
                    }
                    else
                    {
                        _currentElement = InventoryParts.Equipment;
                    }
                }

                if (input.Left)
                {
                    if (_currentElement == InventoryParts.Inventory)
                    {
                        _currentElement = InventoryParts.Equipment;
                    }
                    else if (_currentElement == InventoryParts.Equipment)
                    {
                        _currentElement = InventoryParts.Inventory;
                    }
                    else
                    {
                        _currentElement = InventoryParts.Equipment;
                    }
                }

                if (input.Right)
                {
                    if (_currentElement == InventoryParts.Inventory)
                    {
                        _currentElement = InventoryParts.Equipment;
                    }
                    else if (_currentElement == InventoryParts.Equipment)
                    {
                        _currentElement = InventoryParts.Inventory;
                    }
                    else
                    {
                        _currentElement = InventoryParts.Equipment;
                    }
                }

                if (input.Action)
                {
                    switch (_currentElement)
                    {
                    case InventoryParts.Inventory:
                        _inside = true;
                        _equipment.HandleInput(input);
                        break;

                    case InventoryParts.Equipment:
                        _inside = true;
                        _inventory.HandleInput(input);
                        break;

                    case InventoryParts.Exit:
                        ScreenManager.RemoveScreen("Inventory");
                        break;
                    }
                }

                if (input.Cancel)
                {
                    ScreenManager.RemoveScreen("Inventory");
                }
            }
            else
            {
                bool isCurrentElementInside = false;
                if (_currentElement == InventoryParts.Equipment && _equipment.Inside)
                {
                    isCurrentElementInside = true;
                }
                else if (_currentElement == InventoryParts.Inventory && _inventory.Inside)
                {
                    isCurrentElementInside = true;
                }

                if (_currentElement == InventoryParts.Equipment)
                {
                    _equipment.Focus = true;
                    _equipment.HandleInput(input);
                }
                else if (_currentElement == InventoryParts.Inventory)
                {
                    _inventory.Focus = true;
                    _inventory.HandleInput(input);
                }

                if (input.Cancel)
                {
                    if (!isCurrentElementInside)
                    {
                        _inventory.Focus = false;
                        _equipment.Focus = false;
                        _inside          = false;
                    }
                }
            }
        }
        /// <summary>
        /// Handle the input of the user in the equipment screen.
        /// </summary>
        /// <param name="input">Current state of the player input.</param>
        public void HandleInput(GameComponents.Input input)
        {
            if (input.Down)
            {
                if (!_inside)
                {
                    if (_selectedObject == 0)
                    {
                        _selectedObject = 2;
                    }
                    else if (_selectedObject == 1)
                    {
                        _selectedObject = 3;
                    }
                    else if (_selectedObject == 2)
                    {
                        _selectedObject = 4;
                    }
                    else if (_selectedObject == 3)
                    {
                        _selectedObject = 1;
                    }
                    else
                    {
                        _selectedObject = 0;
                    }
                }
                else
                {
                    _selectedEntryMenu = _selectedEntryMenu - 1 < 0 ? 1 : 0;
                }
            }

            if (input.Up)
            {
                if (!_inside)
                {
                    if (_selectedObject == 0)
                    {
                        _selectedObject = 4;
                    }
                    else if (_selectedObject == 1)
                    {
                        _selectedObject = 3;
                    }
                    else if (_selectedObject == 2)
                    {
                        _selectedObject = 0;
                    }
                    else if (_selectedObject == 3)
                    {
                        _selectedObject = 1;
                    }
                    else
                    {
                        _selectedObject = 2;
                    }
                }
                else
                {
                    _selectedEntryMenu = _selectedEntryMenu + 1 > 1 ? 0 : 1;
                }
            }

            if (input.Left)
            {
                if (!_inside)
                {
                    if (_selectedObject == 0)
                    {
                        _selectedObject = 1;
                    }
                    else if (_selectedObject == 1)
                    {
                        _selectedObject = 0;
                    }
                    else if (_selectedObject == 2)
                    {
                        _selectedObject = 3;
                    }
                    else if (_selectedObject == 3)
                    {
                        _selectedObject = 2;
                    }
                }
            }

            if (input.Right)
            {
                if (!_inside)
                {
                    if (_selectedObject == 0)
                    {
                        _selectedObject = 1;
                    }
                    else if (_selectedObject == 1)
                    {
                        _selectedObject = 0;
                    }
                    else if (_selectedObject == 2)
                    {
                        _selectedObject = 3;
                    }
                    else if (_selectedObject == 3)
                    {
                        _selectedObject = 2;
                    }
                }
            }

            if (input.Action)
            {
                if (!_inside)
                {
                    //_inside = true;
                    foreach (Objects.Object playerObject in _equippedObjects)
                    {
                        if (playerObject is Objects.Weapon && _selectedObject == 1)
                        {
                            _inside = true;
                        }
                        else if (playerObject is Objects.Armature && _selectedObject == 0 &&
                                 ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Helmet)
                        {
                            _inside = true;
                        }
                        else if (playerObject is Objects.Armature && _selectedObject == 2 &&
                                 ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Body)
                        {
                            _inside = true;
                        }
                        else if (playerObject is Objects.Armature && _selectedObject == 3 &&
                                 ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Hand)
                        {
                            _inside = true;
                        }
                        else if (playerObject is Objects.Armature && _selectedObject == 4 &&
                                 ((Objects.Armature)playerObject).Type == Armature.ArmatureType.Foot)
                        {
                            _inside = true;
                        }
                    }
                }
                else
                {
                    if (_selectedEntryMenu == 0)
                    {
                        Objects.Object element = null;
                        for (int i = 0; i < _equippedObjects.Count && element == null; i++)
                        {
                            if (_selectedObject == 0 && _equippedObjects[i] is Objects.Armature &&
                                ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Helmet)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 1 && _equippedObjects[i] is Objects.Weapon)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 2 && _equippedObjects[i] is Objects.Armature &&
                                     ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Body)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 3 && _equippedObjects[i] is Objects.Armature &&
                                     ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Hand)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 4 && _equippedObjects[i] is Objects.Armature &&
                                     ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Foot)
                            {
                                element = _equippedObjects[i];
                            }
                        }

                        if (element != null)
                        {
                            EventManager.Trigger(new EventData_UnequipObject(_player, element, _inventoryScreen));
                        }
                    }
                    else
                    {
                        Objects.Object element = null;
                        for (int i = 0; i < _equippedObjects.Count && element == null; i++)
                        {
                            if (_selectedObject == 0 && _equippedObjects[i] is Objects.Armature &&
                                ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Helmet)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 1 && _equippedObjects[i] is Objects.Weapon)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 2 && _equippedObjects[i] is Objects.Armature &&
                                     ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Body)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 3 && _equippedObjects[i] is Objects.Armature &&
                                     ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Hand)
                            {
                                element = _equippedObjects[i];
                            }
                            else if (_selectedObject == 4 && _equippedObjects[i] is Objects.Armature &&
                                     ((Objects.Armature)_equippedObjects[i]).Type == Armature.ArmatureType.Foot)
                            {
                                element = _equippedObjects[i];
                            }
                        }

                        if (element != null)
                        {
                            EventManager.Trigger(new EventData_ThrowAway(_player, element, _inventoryScreen));
                        }
                    }
                }
            }

            if (input.Cancel)
            {
                _inside = false;
            }
        }
Example #6
0
 /// <summary>
 /// Handle the input of the user relative to the <c>LoadingGame</c> screen.
 /// </summary>
 /// <param name="input">Current state of the player input.</param>
 /// <param name="gameTime">Current time of the game.</param>
 public override void HandleInput(GameComponents.Input input, GameTime gameTime)
 {
     base.HandleInput(input, gameTime);
 }
        /// <summary>
        /// Handle the input of the user in the inventory screen.
        /// </summary>
        /// <param name="input">Current state of the player input.</param>
        public void HandleInput(GameComponents.Input input)
        {
            if (input.Up)
            {
                if (!_inside)
                {
                    int nextValue = (_selectedObject / 3) == 0 ? _selectedObject :
                                    3 * ((_selectedObject / 3) - 1) + (_selectedObject % 3);
                    if (nextValue < _notEquippedObjects.Count)
                    {
                        _selectedObject = nextValue;
                    }
                }
                else
                {
                    _selectedEntryMenu = _selectedEntryMenu + 1 > 1 ? 0 : 1;
                }
            }

            if (input.Down)
            {
                if (!_inside)
                {
                    int nextValue = (_selectedObject / 3) == 2 ? _selectedObject :
                                    3 * ((_selectedObject / 3) + 1) + (_selectedObject % 3);
                    if (nextValue < _notEquippedObjects.Count)
                    {
                        _selectedObject = nextValue;
                    }
                }
                else
                {
                    _selectedEntryMenu = _selectedEntryMenu - 1 < 0 ? 1 : 0;
                }
            }

            if (input.Left)
            {
                _selectedObject = (_selectedObject - 1) < 0 ? 0 : _selectedObject - 1;
            }

            if (input.Right)
            {
                _selectedObject = (_selectedObject + 1) >= _notEquippedObjects.Count ?
                                  _notEquippedObjects.Count - 1 : _selectedObject + 1;
            }

            if (input.Action)
            {
                if (!_inside)
                {
                    _inside = true;
                }
                else
                {
                    if (_selectedEntryMenu == 0)
                    {
                        if (_notEquippedObjects[_selectedObject] is Objects.Ammo)
                        {
                            if (_player.PlayerGun != null && _player.PlayerGun.GunType == ((Objects.Ammo)_notEquippedObjects[_selectedObject]).Type &&
                                _player.PlayerGun.CurrentAmmo < _player.PlayerGun.MaxAmmo - 1)
                            {
                                EventManager.Trigger(new EventData_ReloadGun(_player, _notEquippedObjects[_selectedObject]));
                            }
                        }
                        else
                        {
                            EventManager.Trigger(new EventData_EquipObject(_player, _notEquippedObjects[_selectedObject], _inventoryScreen));
                        }
                    }
                    else
                    {
                        EventManager.Trigger(new EventData_ThrowAway(_player, _notEquippedObjects[_selectedObject], _inventoryScreen));
                    }
                }
            }

            if (input.Cancel)
            {
                _inside = false;
            }
        }