public bool TryGetTarget(out TdUnit target) { target = null; if (m_attackData.TargetType == ETarget.Enemies) { if (m_enemiesInCollider.Count > 0) { target = m_enemiesInCollider[0]; } } else if (m_attackData.TargetType == ETarget.Towers) { if (m_towersInCollider.Count > 0) { target = m_towersInCollider[0]; } } return(target != null); }
public virtual void Init(ProjectileData data, TdUnit target, float damageMultiplier) { }
public static float GetFinalDamage(AttackData data, TdUnit target, float damageMultiplier) { return(data.Damage * damageMultiplier * GameManager.Instance.TypesManager.GetDamageTypeMultiplier(target.GetCreatureData(), data.DamageType)); }
public override void Init(ProjectileData data, TdUnit target, float damageMultiplier) { m_data = (HomingProjectileData)data; m_target = target; m_damageMultiplier = damageMultiplier; }
public void UnregisterUnit(TdUnit unit) { UnitList.Remove(unit); }
public void RegisterUnit(TdUnit unit) { UnitList.Add(unit); }