protected override void OnAfterDelete() { base.OnAfterDelete(); Altar = null; Vendor = null; BossEarth = null; BossFire = null; BossFrost = null; BossPoison = null; BossEnergy = null; Bosses.SetAll(i => null); Bosses = null; TeleportersTo.SetAll(i => null); TeleportersTo = null; TeleportersFrom.SetAll(i => null); TeleportersFrom = null; Circles = null; Floors.Free(true); Floors.SetAll(i => null); Floors = null; Stage.Free(true); Stage = null; }
protected override void OnDelete() { base.OnDelete(); if (Altar != null) { Altar.Delete(); } if (Vendor != null) { Vendor.Delete(); } foreach (var b in Bosses.Where(b => b != null)) { b.Delete(); } foreach (var t in TeleportersTo.Union(TeleportersFrom).Where(t => t != null)) { t.Delete(); } foreach (var s in Floors.Where(l => l != null).SelectMany(l => l.Where(s => s != null))) { s.Delete(); } foreach (var s in Stage.Where(s => s != null)) { s.Delete(); } }