Example #1
0
        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;
        }
Example #2
0
 public static bool IsLastRankInLine(Rank rank, List<Rank> line)
 {
     if (line.FindIndex(r => r.Equals(rank)) == line.Count - 1)
         return true;
     else
         return false;
 }
Example #3
0
        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;
        }
Example #4
0
        //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;
        }
Example #5
0
 public static bool IsLastRankInLine(Rank rank, List <Rank> line)
 {
     return(rank.FindNext() == null);
 }