public void loadSkills()
    {
//		if (charaSkills != null)
//		{
//			for (int i = charaSkills.Length; i > 0; i--)
//			{
//				Destroy(charaSkills[i]);
//			}
//		}

//		int numSkills = playerCharaStatuses[selectedCharacter].availSkills.Count;
//		charaSkills = new skillData[numSkills];
        charaSkills = playerCharaStatuses[selectedCharacter].availSkills.ToArray();
        skillItems  = new GameObject[charaSkills.Length - 2];
        for (int i = 2; i < charaSkills.Length; i++)
        {
            skillItems[i - 2] = Instantiate(skillPrefab);
            skillItems[i - 2].transform.SetParent(skillsMenuContent.transform, false);
            skillItems[i - 2].name = charaSkills[i].skillName;
            battleSkillController  = skillItems[i - 2].GetComponent <battleSkillController>();
            battleSkillController.battleController = this;
            battleSkillController.skillID          = charaSkills[i].skillID;
            battleSkillController.skillIndex       = i - 2;
            battleSkillController.skillName        = charaSkills[i].skillName;
            battleSkillController.MPCost           = charaSkills[i].MPCost;
            if (battleSkillController.MPCost > playerCharaStatuses[selectedCharacter].currentMP)
            {
                skillItems[i - 2].GetComponent <Button>().interactable = false;
            }
            battleSkillController.rechargeTime = charaSkills[i].rechargeTime;
            battleSkillController.castingTime  = charaSkills[i].castingTime;
            battleSkillController.skillTimer   = playerCharaStatuses[selectedCharacter].skillTimers[i];

            skillText         = skillItems[i - 2].GetComponentsInChildren <Text>();
            skillText[0].text = charaSkills[i].skillName + " (" + charaSkills[i].MPCost + ")";
//			if (playerCharaStatuses[selectedCharacter].skillTimers.Count >= i)
//			{
//				skillText[1].text = playerCharaStatuses[selectedCharacter].skillTimers[i].ToString("F");
//			}
//			else
//			{
//				skillText[1].text = 0.ToString("F");
//			}
        }

        if (charaSkills.Length < 3)
        {
            skillsButton.interactable = false;
        }
    }
    public void useSkill()
    {
        skillData  skill  = charaSkills[selectedSkill + 2];
        GameObject target = targets[selectedTarget];
        characterStatusController targetStatus    = target.GetComponent <characterStatusController>();
        battleSkillController     skillController =
            skillItems[selectedSkill].GetComponent <battleSkillController>();

        skillController.skillTimer = skillController.rechargeTime + skillController.castingTime;
        playerCharaStatuses[selectedCharacter].currentMP -= skill.MPCost;

        targetStatus.calculateDamage(skill, playerParty[selectedCharacter]);

        targetMenu.SetActive(false);
        skillsMenu.SetActive(false);
        selectedSkill  = -1;
        selectedTarget = -1;
    }