using System; using System.Collections.Generic; using System.Text; namespace Server.Engines.ConPVP { public class TourneyParticipant : IComparable { public TourneyParticipant(Mobile owner) { Log = new List(); Players = new List { owner }; } public TourneyParticipant(List players) { Log = new List(); Players = players; } public List Players{ get; set; } public List Log{ get; set; } public int FreeAdvances{ get; set; } public int TotalLadderXP { get { Ladder ladder = Ladder.Instance; if (ladder == null) return 0; int total = 0; for (int i = 0; i < Players.Count; ++i) { Mobile mob = Players[i]; LadderEntry entry = ladder.Find(mob); if (entry != null) total += entry.Experience; } return total; } } public string NameList { get { StringBuilder sb = new StringBuilder(); for (int i = 0; i < Players.Count; ++i) { if (Players[i] == null) continue; Mobile mob = Players[i]; if (sb.Length > 0) { if (Players.Count == 2) sb.Append(" and "); else if (i + 1 < Players.Count) sb.Append(", "); else sb.Append(", and "); } sb.Append(mob.Name); } if (sb.Length == 0) return "Empty"; return sb.ToString(); } } public int CompareTo(TourneyParticipant p) { return p.TotalLadderXP - TotalLadderXP; } public void AddLog(string text) { Log.Add(text); } public void AddLog(string format, params object[] args) { AddLog(string.Format(format, args)); } public void WonMatch(TourneyMatch match) { AddLog("Match won."); } public void LostMatch(TourneyMatch match) { AddLog("Match lost."); } } }