/// <summary> /// Called by SpellPhase.NotifyStart /// </summary> internal void NotifyStart() { isActive = true; pulseCount = 0; StartTime = Time.time; // initialize target collection Targets.InitializeTargets(ContextOwner, Phase.SpellCastContext); // apply aura if (Phase.Template.AuraTemplate != null && ContextOwner != null) { Aura.AddAura(ContextOwner.gameObject, Phase.Template.AuraTemplate, 0); } // apply StartEffects ApplySpellEffects(Phase.Template.StartEffects); // start pulsing if (Phase.Template.RepeatEffects != null) { isPulsing = true; StartCoroutine(KeepPulsing()); } }