Example #1
0
        public override bool Use(GameObject user)
        {
            Mana mana = user.GetComponent <Mana>();

            if (mana.GetManaPoints() < manaCost)
            {
                return(false);
            }

            CooldownStore cooldownStore = user.GetComponent <CooldownStore>();

            if (cooldownStore.GetTimeRemaining(this) > 0)
            {
                return(false);
            }

            AbilityData data = new AbilityData(user);

            ActionScheduler actionScheduler = user.GetComponent <ActionScheduler>();

            actionScheduler.StartAction(data);

            targetingStrategy.StartTargeting(data, () => TargetAcquired(data));

            return(true);
        }