Example #1
0
        public virtual void FireSkill(ActiveSkill skill)
        {
            if (Energy < skill.EnergyCost)
            {
                return;
            }

            if (skill.Owner.IsSkillReleased)
            {
                return;
            }

            BeforeFireSkill?.Invoke(skill);

            AddEN(-skill.EnergyCost);
            skill.Owner.IsSkillReleased = true;
            skill.Fire();

            OnFireSkill?.Invoke(skill);
            AfterFireSkill?.Invoke(skill);
        }