public int CompareTo(object obj) { DMRankSorter p = ( DMRankSorter )obj; if (p.Kills - Kills == 0) { return(Deaths - p.Deaths); } return(p.Kills - Kills); }
public DMScoreGump(Mobile from, ArrayList list) : base(50, 40) { from.CloseGump(typeof(DMScoreGump)); m_List = list; m_From = from; ArrayList playerlist = new ArrayList(); foreach (ScoreKeeper s in m_List) { playerlist.Add(new DMRankSorter(s)); } AddPage(0); AddBackground(0, 0, 420, 540, 5054); AddBlackAlpha(10, 10, 400, 520); AddLabel(160, 15, RedHue, "Deathmatch top 20"); AddLabel(20, 40, LabelHue, "Players"); AddLabel(185, 40, LabelHue, "Kills"); AddLabel(345, 40, LabelHue, "Deaths"); playerlist.Sort(); for (int i = 0; i < playerlist.Count; ++i) { DMRankSorter g = ( DMRankSorter )playerlist[i]; string name = null; if ((name = g.Keeper.Player.Name) != null && (name = name.Trim()).Length <= 15) { name = g.Keeper.Player.Name; } string wins = g.Keeper.Kills.ToString(); string loses = g.Keeper.Deaths.ToString(); AddLabel(20, 70 + ((i % 20) * 20), GreenHue, name); AddLabel(198, 70 + ((i % 20) * 20), GreenHue, wins); AddLabel(358, 70 + ((i % 20) * 20), GreenHue, loses); } }