private void RelayAttack(PointerEventData eventData)
    {
        if (currentSelectedSkill == "")
        {
            return;
        }
        //this isDisabled line may not even have to run because...were going to block it from coming into ui_anim at all.
        if (currentSelectedSkillObject.IsDisabled())
        {
            return;
        }
        CharStateManager owner = currentSelectedSkillOwner;

        //check first with that owner.skillCost > 0
        //if so, owner.InitAttack(currentSelectedSKill), then disableSkill() and resetSkillSelection(); and owner skillCost--;
        if (owner.skillCostRemaining > 0)
        {
            owner.InitAttack(currentSelectedSkill);
            currentSelectedSkillObject.DisableSkill();
            ResetCurrentSkillSelection();
        }
        else
        {
            //ELSE that means we are out of skills. so invoke an "OUT OF SKILL POINTS" event that the MASTER ANIMATOR listens to.
            //after invoking it, disable that last un-usable skill via currentSleected disablskill() and ResetCurrentSkillSellection()
            //now all skills are un-interactable.!
            //invoke OUT OF SKILL POINTS method here.
            StartCoroutine(ShowSkillCostDepletedBubble());
            currentSelectedSkillObject.DisableSkill();
            ResetCurrentSkillSelection();
        }
        //remember to re-enable skills with TurnSystem.CS
    }