private FightComponentResult ProcessHotBarUseInput(ConsoleKey key)
        {
            var result = new FightComponentResult();

            switch (key)
            {
            case KeyMapping.Cancel:
                _componentState = FightComponentState.Fight;
                break;

            case KeyMapping.PreviousItem:
                _player.HotBar.SelectedSlot.PrevItem();
                break;

            case KeyMapping.NextItem:
                _player.HotBar.SelectedSlot.NextItem();
                break;

            case KeyMapping.Confirm:
                _player.HotBar.SelectedSlot.PressCurrentItem();
                _player.HotBar.SelectedSlot = null;
                _componentState             = FightComponentState.Fight;
                break;
            }

            return(result);
        }
        public FightComponentResult ProcessFightInput(ConsoleKey key)
        {
            var result = new FightComponentResult();

            switch (key)
            {
            case KeyMapping.HotBar_1:
                if (_player.HotBar.Slot1.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot1;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_2:
                if (_player.HotBar.Slot2.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot2;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_3:
                if (_player.HotBar.Slot3.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot3;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_4:
                if (_player.HotBar.Slot4.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot4;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_5:
                if (_player.HotBar.Slot5.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot5;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_6:
                if (_player.HotBar.Slot6.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot6;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_7:
                if (_player.HotBar.Slot7.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot7;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_8:
                if (_player.HotBar.Slot8.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot8;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_9:
                if (_player.HotBar.Slot9.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot9;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.HotBar_10:
                if (_player.HotBar.Slot10.IsOccupied)
                {
                    _player.HotBar.SelectedSlot = _player.HotBar.Slot10;
                    _player.HotBar.SelectedSlot.UpdateCharacterSelectList(_player);

                    _componentState = FightComponentState.HotBarUse;
                }
                break;

            case KeyMapping.EndTurn:
                result.TurnEnd = true;
                break;
            }

            return(result);
        }