public void CheckCollision() { if (CalculateDistance(target.GlobalPositionCenter, GlobalPosition) < speed) { target.dealDamage(damage, Tower.Type.RocketTower); Kill = true; Vector2 pos = position + parent.Position; MyParticleControl.AddExplosion(pos); PlaySound(SND_ROCKET_IMPACT); } }
public void Explode() { foreach (Enemy e in ObjectLists.Enemies) { float radius = CalculateDistance(GlobalPosition, e.GlobalPositionCenter); if (radius < explosionRadius) { e.dealDamage(damage * (damageMultiplierInCenter - (radius / explosionRadius) * damageMultiplierInCenter), Tower.Type.Base); } } MyParticleControl.AddExplosion(position + parent.Position); Kill = true; }