Esempio n. 1
0
        public Evolution(string evolutionStringFormat)
        {
            if (String.IsNullOrEmpty(evolutionStringFormat))
            {
                return;
            }

            string[] data = evolutionStringFormat.Trim(',').Split(',');

            for (int i = 0; i < data.Length; i++)
            {
                var field = data[i];

                if (field.StartsWith("#"))
                {
                    var target = new EvolutionTarget();
                    target.Target = field.Substring(1);
                    Targets.Add(target);
                }
                else
                {
                    var last = Targets.Last();
                    last.ItemRequirements.Add(new Utilities.Extension.Tuple <object, int>(field, Int32.Parse(data[i + 1])));
                    i++;
                }
            }
        }
Esempio n. 2
0
        public Evolution(string evolutionStringFormat, MetaTable <int> itemDb, MetaTable <int> mobDb)
        {
            if (String.IsNullOrEmpty(evolutionStringFormat))
            {
                return;
            }

            string[] data = evolutionStringFormat.Trim(',').Split(',');

            for (int i = 0; i < data.Length; i++)
            {
                var field = data[i];

                if (field.StartsWith("#"))
                {
                    var target = new EvolutionTarget();
                    target.Target = DbIOUtils.Name2Id(mobDb, ServerMobAttributes.AegisName, field.Substring(1), "mob_db", true).ToString();
                    Targets.Add(target);
                }
                else
                {
                    var last = Targets.Last();
                    last.ItemRequirements.Add(new Utilities.Extension.Tuple <object, int>(DbIOUtils.Name2Id(itemDb, ServerItemAttributes.AegisName, data[i], "item_db", true), Int32.Parse(data[i + 1])));
                    i++;
                }
            }
        }
Esempio n. 3
0
        public EvolutionTarget Copy()
        {
            EvolutionTarget target = new EvolutionTarget();

            target.Target           = this.Target;
            target.ItemRequirements = new List <Utilities.Extension.Tuple <object, int> >(this.ItemRequirements.Count);

            foreach (var requirement in ItemRequirements)
            {
                target.ItemRequirements.Add(new Utilities.Extension.Tuple <object, int>(requirement.Item1, requirement.Item2));
            }

            return(target);
        }