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++; } } }
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++; } } }
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); }