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 }