IEnumerator ButtonCDRoutine(Ability ability)
        {
            int ID = AbilityManager.GetAbilityIndex(ability);

            if (ability.usedRemained >= 0)
            {
                buttonList[ID].label.text = ability.usedRemained.ToString();
            }

            buttonList[ID].button.interactable = false;

            if (ability.usedRemained == 0)
            {
                yield break;
            }


            while (true)
            {
                string text     = "";
                float  duration = ability.currentCD;
                if (duration <= 0)
                {
                    break;
                }

                if (duration > 60)
                {
                    text = Mathf.Floor(duration / 60).ToString("F0") + "m";
                }
                else
                {
                    text = (Mathf.Ceil(duration)).ToString("F0") + "s";
                }
                buttonList[ID].label.text = text;

                yield return(new WaitForSeconds(0.05f));
            }

            buttonList[ID].label.text          = "";
            buttonList[ID].button.interactable = true;
        }