public override void Destroy() { if (SoundInstance != null && !SoundInstance.IsDisposed) { SoundInstance.Dispose(); SoundInstance = null; } if (UnitCommited) { UnitCommited = false; FactionManager.RemoveUnit(this); } base.Destroy(); Dead = true; PathFindingManager.Rebuild(); }