public override void Deserialize(GenericReader reader) { base.Deserialize(reader); m_Control = (DungeonControl)World.FindItem((Serial)reader.ReadInt()); if (reader.ReadBool()) { m_SpawnerLink = (DungeonSpawner)World.FindItem((Serial)reader.ReadInt()); } if (reader.ReadBool()) { m_Chest = (MetalGoldenTreasureChest)World.FindItem((Serial)reader.ReadInt()); } if (m_Control == null) { Delete(); } else { InternalTimer timer = new InternalTimer(this); timer.Start(); } }
public override void OnResponse(Server.Network.NetState state, int index) { switch (index) { case 0: DungeonKey key = new DungeonKey((uint)m_DungeonControl.Serial.Value); state.Mobile.AddToBackpack(key); break; case 1: DungeonSpawner ds = new DungeonSpawner(); ds.Controller = m_DungeonControl; m_DungeonControl.Spawners.Add(ds); state.Mobile.AddToBackpack(ds); break; case 2: for (int i = 0; i < 5; i++) { DungeonSpawner ds1 = new DungeonSpawner(); ds1.Controller = m_DungeonControl; m_DungeonControl.Spawners.Add(ds1); state.Mobile.AddToBackpack(ds1); } break; case 3: DungeonWall dw = new DungeonWall(); dw.Controller = m_DungeonControl; m_DungeonControl.Walls.Add(dw); state.Mobile.AddToBackpack(dw); break; case 4: DungeonChestSpawner dcs = new DungeonChestSpawner(); dcs.Controller = m_DungeonControl; m_DungeonControl.TreasureChests.Add(dcs); state.Mobile.AddToBackpack(dcs); break; case 5: m_DungeonControl.Stop(); break; } }
public InternalTimer(DungeonSpawner ds) : base(TimeSpan.FromSeconds(30), TimeSpan.FromSeconds(30)) { m_Spawner = ds; Priority = TimerPriority.TwoFiftyMS; }