public override void OnDelete() { if (this == m_Instance) { m_Instance = null; } base.OnDelete(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); MobList = reader.ReadStrongMobileList(); // global attributes m_Instance = this; }
public static void UpdateInstancePosition(PetRestorationStone attemptedConstruct) { if (attemptedConstruct == null) { return; } if (m_Instance == null) // should never happen, but if it does, make this the instance { m_Instance = attemptedConstruct; } else if (attemptedConstruct.Location != new Point3D(0, 0, 0)) // move the instance to it's location and delete it { m_Instance.Location = attemptedConstruct.Location; attemptedConstruct.Delete(); } }
public PetRestorationStone() : base(0xEDC) { Name = "Pet Restoration Stone - Double click and pets lost in the recent update will be brought here (NOT to your stable) and you will have control of them."; Movable = false; Visible = false; if (m_Instance != null) { // there can only be one WeaponDamageController game stone in the world m_Instance.Location = Location; CommandHandlers.BroadcastMessage( AccessLevel.Administrator, 0x489, "Existing PetRestorationStone has been moved to this location (DON'T DELETE IT!)."); Timer.DelayCall(TimeSpan.FromSeconds(1), UpdateInstancePosition, this); } else { m_Instance = this; } }