private String GetNextSpawn(SpawnInstance si) { if (si.State == SpawnInstance.SpawnState.Respawning) { return((si.NextSpawn - DateTime.UtcNow).ToString()); } else { return("--"); } }
private String GetMobile(SpawnInstance si) { if (si.State == SpawnInstance.SpawnState.Active && si.Spawned != null) { return(si.Spawned.ToString()); } else { return("--"); } }
private String GetState(SpawnInstance si) { switch (si.State) { case SpawnInstance.SpawnState.Active: return("Active"); case SpawnInstance.SpawnState.Inactive: return("Inactive"); case SpawnInstance.SpawnState.Respawning: return("Respawing"); } return("--"); }
public CreatureSpawnerGump(CreatureSpawner spawner) : base(25, 25) { m_Spawner = spawner; AddPage(0); // Gump Structure AddBackground(0, 0, 520, 510, 0x13BE); AddImageTiled(10, 10, 500, 30, 0xA40); AddImageTiled(10, 50, 500, 190, 0xA40); AddImageTiled(10, 250, 500, 190, 0xA40); AddImageTiled(10, 450, 500, 45, 0xA40); AddAlphaRegion(10, 10, 500, 485); // Title AddHtmlColor(10, 14, 500, 20, "<CENTER>CREATURE SPAWNER GUMP</CENTER>", FontColor, false, false); // Spawn Info AddTextEntry(116, 60, 145, 20, 1271, 10, m_Spawner.SpawnName); AddLabel(22, 60, 1259, "Spawn Name"); AddTextEntry(116, 85, 74, 20, 1271, 11, m_Spawner.Count.ToString()); AddLabel(22, 85, 1259, "Amount"); AddTextEntry(116, 110, 74, 20, 1271, 12, m_Spawner.SpawnRange.ToString()); AddLabel(22, 110, 1259, "Spawn Range"); AddTextEntry(116, 135, 74, 20, 1271, 13, m_Spawner.HomeRange.ToString()); AddLabel(22, 135, 1259, "Home Range"); AddTextEntry(116, 160, 74, 20, 1271, 14, m_Spawner.MinDelay.ToString()); AddLabel(22, 160, 1259, "Min Delay"); AddTextEntry(116, 185, 74, 20, 1271, 15, m_Spawner.MaxDelay.ToString()); AddLabel(22, 185, 1259, "Max Delay"); AddTextEntry(116, 210, 74, 20, 1271, 16, m_Spawner.Team.ToString()); AddLabel(22, 210, 1259, "Team"); AddCheck(376, 60, 210, 211, m_Spawner.Active, 19); AddLabel(282, 60, 1259, "Active"); AddCheck(376, 85, 210, 211, m_Spawner.CantWalk, 17); AddLabel(282, 85, 1259, "Cant Walk"); AddCheck(376, 110, 210, 211, m_Spawner.Group, 18); AddLabel(282, 110, 1259, "Group"); AddCheck(376, 135, 210, 211, m_Spawner.Blessed, 20); AddLabel(282, 135, 1259, "Blessed"); AddCheck(376, 160, 210, 211, m_Spawner.Murderer, 21); AddLabel(282, 160, 1259, "Murderer"); AddCheck(376, 185, 210, 211, m_Spawner.ScaledDelay, 22); AddLabel(282, 185, 1259, "Scaled Delay"); AddCheck(376, 210, 210, 211, m_Spawner.Saturable, 23); AddLabel(282, 210, 1259, "Saturable"); AddButton(20, 465, 247, 248, 20, GumpButtonType.Reply, 0); if (m_Spawner.Group && m_Spawner.TotalSpawned == 0) { AddLabel(220, 465, 0x481, String.Format("Next Group Spawn: {0}", (m_Spawner.NextGroupRespawn - DateTime.UtcNow).ToString())); } // Column header int offset = 255; AddLabelCropped(22, offset, 100, 20, LabelHue, "Mobile"); AddLabelCropped(192, offset, 120, 20, LabelHue, "State"); AddLabelCropped(252, offset, 120, 20, LabelHue, "Next Spawn"); AddLabelCropped(402, offset, 120, 20, LabelHue, "Saturation"); // Entry info offset += 30; List <SpawnInstance> instances = m_Spawner.Instances; int maxPage = (instances.Count - 1) / EntriesPerPage; for (int i = 0; i < instances.Count; i++) { int page = i / EntriesPerPage; int entry = i % EntriesPerPage; if (entry == 0) { AddPage(page + 1); offset = 285; if (page > 0) { AddButton(465, 252, 0x15E3, 0x15E7, 0, GumpButtonType.Page, page); } else { AddImage(465, 252, 0x25EA); } if (page < maxPage) { AddButton(482, 252, 0x15E1, 0x15E5, 0, GumpButtonType.Page, page + 2); } else { AddImage(482, 252, 0x25E6); } } SpawnInstance si = instances[i]; AddLabelCropped(22, offset, 120, 20, LabelHue, GetMobile(si)); AddLabelCropped(192, offset, 120, 20, LabelHue, GetState(si)); AddLabelCropped(252, offset, 210, 20, LabelHue, GetNextSpawn(si)); //if ( !si.IsSaturated ) AddLabelCropped(402, offset, 120, 20, GreenHue, "0%"); //else // AddLabelCropped( 402, offset, 120, 20, RedHue, "100%" ); offset += 20; } }