public CTFBoardGump(Mobile mob, CTFGame game) : this(mob, game, null) { }
public CTFBoardGump(Mobile mob, CTFGame game, CTFTeamInfo section) : base(60, 60) { m_Game = game; CTFTeamInfo ourTeam = game.GetTeamInfo(mob); List <IRankedCTF> entries = new List <IRankedCTF>(); if (section == null) { for (int i = 0; i < game.Context.Participants.Count; ++i) { CTFTeamInfo teamInfo = game.Controller.TeamInfo[i % 8]; if (teamInfo == null || teamInfo.Flag == null) { continue; } entries.Add(teamInfo); } } else { foreach (CTFPlayerInfo player in section.Players.Values) { if (player.Score > 0) { entries.Add(player); } } } entries.Sort(delegate(IRankedCTF a, IRankedCTF b) { return(b.Score - a.Score); }); int height = 0; if (section == null) { height = 73 + (entries.Count * 75) + 28; } Closable = false; AddPage(0); AddBackground(1, 1, 398, height, 3600); AddImageTiled(16, 15, 369, height - 29, 3604); for (int i = 0; i < entries.Count; i += 1) { AddImageTiled(22, 58 + (i * 75), 357, 70, 0x2430); } AddAlphaRegion(16, 15, 369, height - 29); AddImage(215, -45, 0xEE40); //AddImage( 330, 141, 0x8BA ); AddBorderedText(22, 22, 294, 20, Center("CTF Scoreboard"), LabelColor32, BlackColor32); AddImageTiled(32, 50, 264, 1, 9107); AddImageTiled(42, 52, 264, 1, 9157); if (section == null) { for (int i = 0; i < entries.Count; ++i) { CTFTeamInfo teamInfo = entries[i] as CTFTeamInfo; AddImage(30, 70 + (i * 75), 10152); AddImage(30, 85 + (i * 75), 10151); AddImage(30, 100 + (i * 75), 10151); AddImage(30, 106 + (i * 75), 10154); AddImage(24, 60 + (i * 75), teamInfo == ourTeam ? 9730 : 9727, teamInfo.Color - 1); int nameColor = LabelColor32; int borderColor = BlackColor32; switch (teamInfo.Color) { case 0x47E: nameColor = 0xFFFFFF; break; case 0x4F2: nameColor = 0x3399FF; break; case 0x4F7: nameColor = 0x33FF33; break; case 0x4FC: nameColor = 0xFF00FF; break; case 0x021: nameColor = 0xFF3333; break; case 0x01A: nameColor = 0xFF66FF; break; case 0x455: nameColor = 0x333333; borderColor = 0xFFFFFF; break; } AddBorderedText(60, 65 + (i * 75), 250, 20, String.Format("{0}: {1} Team", LadderGump.Rank(1 + i), teamInfo.Name), nameColor, borderColor); AddBorderedText(50 + 10, 85 + (i * 75), 100, 20, "Score:", 0xFFC000, BlackColor32); AddBorderedText(50 + 15, 105 + (i * 75), 100, 20, teamInfo.Score.ToString("N0"), 0xFFC000, BlackColor32); AddBorderedText(110 + 10, 85 + (i * 75), 100, 20, "Kills:", 0xFFC000, BlackColor32); AddBorderedText(110 + 15, 105 + (i * 75), 100, 20, teamInfo.Kills.ToString("N0"), 0xFFC000, BlackColor32); AddBorderedText(160 + 10, 85 + (i * 75), 100, 20, "Captures:", 0xFFC000, BlackColor32); AddBorderedText(160 + 15, 105 + (i * 75), 100, 20, teamInfo.Captures.ToString("N0"), 0xFFC000, BlackColor32); CTFPlayerInfo pl = teamInfo.Leader; AddBorderedText(235 + 10, 85 + (i * 75), 250, 20, "Leader:", 0xFFC000, BlackColor32); if (pl != null) { AddBorderedText(235 + 15, 105 + (i * 75), 250, 20, pl.Player.Name, 0xFFC000, BlackColor32); } } } else { } AddButton(314, height - 42, 247, 248, 1, GumpButtonType.Reply, 0); }