private void SelectBack()
    {
        if (Utility.InputSelectBack())
        {
            SlotList[SelectedSlot].GetComponent <ISkillSlot>().State = SkillSlotState.Hovered;
            SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetAppearance();
            switch (State)
            {
            case SkillPanelState.SelectBattleArt:
                BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().Selected = false;
                BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().SetAppearance();
                break;

            case SkillPanelState.SelectPassiveAbility:
                PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().Selected = false;
                PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().SetAppearance();
                break;
            }
            State = SkillPanelState.SelectSlot;
        }
    }
    private void Confirm()
    {
        if (Utility.InputComfirm())
        {
            switch (State)
            {
            case SkillPanelState.SelectSlot:

                SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetState(SkillSlotState.Selected);
                SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetAppearance();

                if (SlotList[SelectedSlot].GetComponent <ISkillSlot>().Type == AbilityType.BattleArt)
                {
                    State             = SkillPanelState.SelectBattleArt;
                    SelectedBattleArt = 0;
                    BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().Selected = true;
                    BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().SetAppearance();
                }
                else
                {
                    State = SkillPanelState.SelectPassiveAbility;
                    SelectedPassiveAbility = 0;
                    PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().Selected = true;
                    PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().SetAppearance();
                }

                break;

            case SkillPanelState.SelectBattleArt:

                if (SkillPoint >= EquipCost && !SlotList[SelectedSlot].GetComponent <ISkillSlot>().IsAbilityEquiped())
                {
                    SkillPoint -= EquipCost;
                    SetSkillPoint();

                    State = SkillPanelState.SelectSlot;

                    BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().Selected = false;
                    BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().SetAppearance();

                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetState(SkillSlotState.Hovered);
                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetAppearance();

                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().Equip(BattleArtSelectionList[SelectedBattleArt].GetComponent <BattleArtSelection>().Ability);
                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetSlot();
                }

                break;

            case SkillPanelState.SelectPassiveAbility:

                if (SkillPoint >= EquipCost && !SlotList[SelectedSlot].GetComponent <ISkillSlot>().IsAbilityEquiped())
                {
                    SkillPoint -= EquipCost;
                    SetSkillPoint();

                    State = SkillPanelState.SelectSlot;

                    PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().Selected = false;
                    PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().SetAppearance();

                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetState(SkillSlotState.Hovered);
                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetAppearance();
                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().Equip(PassiveAbilitySelectionList[SelectedPassiveAbility].GetComponent <PassiveAbilitySelection>().Ability);
                    SlotList[SelectedSlot].GetComponent <ISkillSlot>().SetSlot();
                }
                break;
            }
        }
    }