public static string Parse(string msg, List<Rank> tree, Rank rank, EconomyPlayer plr) { var parsers = new Dictionary<string, object>() { {"%CUR_INDEX%", (rank.GetIndex(tree) + 1)}, {"%CUR_NAME%", rank.name}, {"%CUR_GROUP%", rank.group}, {"%CUR_PARENT%", rank.parentgroup}, {"%CUR_COST%", rank.Cost().ToLongString()}, {"%MAX%", tree.Count.ToString()}, {"%NEXT_INDEX%", (rank.FindNext().GetIndex(tree) + 1)}, {"%NEXT_NAME%", rank.FindNext().name}, {"%NEXT_GROUP%", rank.FindNext().group}, {"%NEXT_COST%", rank.FindNext().Cost().ToLongString()}, {"%CURLEFT%", new Money(rank.FindNext().Cost() - plr.BankAccount.Balance).ToLongString(true)}, {"%BALANCE%", plr.BankAccount.Balance.ToLongString(true)} }; string parsed = msg; foreach (var wc in parsers) { if (parsed.Contains(wc.Key)) parsed = parsed.Replace(wc.Key, wc.Value.ToString()); } return parsed; }
public static bool IsLastRankInLine(Rank rank, List<Rank> line) { if (line.FindIndex(r => r.Equals(rank)) == line.Count - 1) return true; else return false; }
public static string Parse(string msg, TSPlayer ply, Rank rank = null) { string parsed = msg; if (parsed.Contains("%NAME%")) { parsed = parsed.Replace("%NAME%", rank.name); } if (parsed.Contains("%GROUP%")) { parsed = parsed.Replace("%GROUP%", ply.Group.Name); } if (parsed.Contains("%PARENT%")) { parsed = parsed.Replace("%PARENT%", ply.Group.ParentName); } return parsed; }
//public static List<Rank> MakeRankTree(Rank rank) //{ // if (rank.RankLine == null) // return null; // return new List<Rank>(Config.config.Ranks.Where(r => r.RankLine == rank.RankLine)); //} public static List<Rank> MakeRankTree2(Rank rank) { var list = new List<Rank>(); var ranks = Config.config.Ranks; for (int i = rank.GetIndex(Config.config.Ranks); i > 0; i--) { if (ranks[i].Group() == rank.ParentGroup()) { rank = ranks[i]; } } for (int i = 0; i < Config.config.Ranks.Count; i++) { list.Add(rank); rank = rank.FindNext(); if (rank == null) break; } return list; }
public static bool IsLastRankInLine(Rank rank, List <Rank> line) { return(rank.FindNext() == null); }