public virtual void CastAbilityTo(IFighter[] aTargets) { bool hasEffect = !string.IsNullOrEmpty(m_EffectScript); for (int i = 0; i < aTargets.Length; i++) { IFighter fighter = aTargets[i]; if (hasEffect) { AddEffect(fighter); } if (m_AbilityPrefab != null) { CreateAbilityFX(fighter.GetFighterGameObject().transform.position); } } }
private void AddEffect(IFighter aTarget) { BaseAbilityEffect abilityEffect = (BaseAbilityEffect)aTarget.GetFighterGameObject().AddComponent(System.Type.GetType(m_EffectScript)); abilityEffect.InitEffect(aTarget, m_EffectLifeSpan, m_EffectPower); }