override public void SetBasement(Plane b, PixelPosByte pos) { if (b == null) { return; } SetBuildingData(b, pos); if (current != null & current != this) { current.Annihilate(StructureAnnihilationOrder.ManualDestructed); } current = this; }
override public void SetBasement(Plane b, PixelPosByte pos) { if (b == null) { return; } SetBuildingData(b, pos); if (current != null & current != this) { current.Annihilate(true, true, false); } current = this; }
override public void Annihilate(StructureAnnihilationOrder order) { if (destroyed) { return; } else { destroyed = true; } PrepareBuildingForDestruction(order); if (current == this) { current = null; } Destroy(gameObject); }
override public void Annihilate(bool clearFromSurface, bool returnResources, bool leaveRuins) { if (destroyed) { return; } else { destroyed = true; } PrepareBuildingForDestruction(clearFromSurface, returnResources, leaveRuins); if (current == this) { current = null; } Destroy(gameObject); }