public int Compare(object a, object b) { if (!(a is TokenContributer) || !(b is TokenContributer)) { return(0); } TokenContributer contributera = (TokenContributer)a; TokenContributer contributerb = (TokenContributer)b; if (contributera.Amount > contributerb.Amount) { return(-1); } else if (contributera.Amount < contributerb.Amount) { return(1); } else if (contributera.Date > contributerb.Date) { return(-1); } else if (contributera.Date < contributerb.Date) { return(1); } else { return(0); } }
public TokenContributersGump(TokenFundRaiser raiser, Mobile from) : base(30, 30) { m_TokenFundRaiser = raiser; m_Mobile = from; AddPage(0); AddBackground(0, 0, 250, 360, 9270); AddAlphaRegion(0, 0, 250, 360); m_TokenFundRaiser.TokenContributers.Sort(new TokenContributionComparer()); AddLabel(50, 10, 2401, String.Format("Top {0} Contributors", m_TokenFundRaiser.TokenContributers.Count > 20 ? 20 : m_TokenFundRaiser.TokenContributers.Count)); for (int i = 0; i < m_TokenFundRaiser.TokenContributers.Count && i < 20; i++) { TokenContributer contributer = (TokenContributer)m_TokenFundRaiser.TokenContributers[i]; AddLabel(30, 30 + i * 15, 2401, (i + 1).ToString()); AddLabel(50, 30 + i * 15, 2401, contributer.Mobile.Name); AddLabel(170, 30 + i * 15, 2401, contributer.Amount.ToString()); } if (m_Mobile.AccessLevel >= AccessLevel.GameMaster) { AddLabel(280, 10, 2401, "Clear"); AddButton(250, 10, 4023, 4024, 1, GumpButtonType.Reply, 0); AddLabel(280, 30, 2401, "Full List"); AddButton(250, 30, 4023, 4024, 2, GumpButtonType.Reply, 0); } }
public TokenContributersStaffGump(ArrayList contributers, int page) : base(500, 30) { m_Page = page; m_TokenContributers = contributers; AddImageTiled(0, 0, 300, 425, 0xA40); AddAlphaRegion(1, 1, 298, 423); AddHtml(10, 10, 280, 20, "<basefont color=#A0A0FF><center>Fund Raiser [Staff View]</center></basefont>", false, false); int lastPage = (m_TokenContributers.Count - 1) / MaxEntriesPerPage; string sLog; if (page < 0 || page > lastPage) { sLog = ""; } else { int max = m_TokenContributers.Count - (lastPage - page) * MaxEntriesPerPage; int min = Math.Max(max - MaxEntriesPerPage, 0); StringBuilder builder = new StringBuilder(); for (int i = min; i < max; i++) { TokenContributer contributer = contributers[i] as TokenContributer; if (contributer != null && contributer.Mobile != null && contributer.Mobile.Account != null) { if (i != min) { builder.Append("<br>"); } builder.AppendFormat("{0} (<i>{1}</i>): {2}", contributer.Mobile.Name, contributer.Mobile.Account, contributer.Amount); } } sLog = builder.ToString(); } AddHtml(10, 40, 280, 350, sLog, false, true); if (page > 0) { AddButton(10, 395, 0xFAE, 0xFB0, 1, GumpButtonType.Reply, 0); // Previous page } AddLabel(45, 395, 0x481, String.Format("Current page: {0}/{1}", page + 1, lastPage + 1)); if (page < lastPage) { AddButton(261, 395, 0xFA5, 0xFA7, 2, GumpButtonType.Reply, 0); // Next page } }