void AddAbility(AbstractActiveAbility ability)
        {
            GameObject abilityIcon = Instantiate(abilityIconPrefab, this.transform);

            iconDictionary.Add(ability, abilityIcon);
            abilityIcon.transform.GetChild(0).GetComponent <Image>().sprite = ability.icon;
            abilityIcon.name = ability.abilityName;
            if (ability.usesPerBattle > 0)
            {
                abilityIcon.transform.GetChild(1).GetComponent <Text>().text = ability.usesLeft.ToString();
            }

            abilityIcon.transform.GetChild(2).GetComponent <Text>().text = ability.energyCost.ToString();
            MouseHoverInfoCursor iconInfo = abilityIcon.GetComponentInChildren <MouseHoverInfoCursor>();

            if (isRightClickTooltip == false)
            {
                var iconInfoTemp = iconInfo as MouseHoverAbilityIconCursor;
                iconInfoTemp.myAbility = ability;
            }

            iconInfo.tooltipName = ability.abilityName;
            iconInfo.tooltipText = ability.description;
            if (isRightClickTooltip == false)
            {
                abilityIcon.GetComponentInChildren <Button>().onClick.AddListener(ability.OnClickIcon);
            }
        }
        public void CancelAbility()
        {
            AbstractActiveAbility currentAbility = Global.instance.currentEntity as AbstractActiveAbility;

            currentAbility.OnFinish();
        }