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); }