public override void SimulationStateOnlyUpdate(float seconds) { base.SimulationStateOnlyUpdate(seconds); foreach (GameObject obj in this.Game.GameObjectCollection.Tree.GetObjectsInCircle(this.WorldPosition(), Ship.MaxRadius + Bullet.MaxRadius)) { if (obj is Bullet) { Bullet bullet = (Bullet)obj; if (!bullet.BelongsTo(this) && this.CollidesWith(bullet)) { this.Health = this.Health - bullet.Damage; if (this.Health <= 0) { bullet.Hit(); } bullet.Destroy(); } } } if (this.Health <= 0) { this.Destroy(); } }