public StartPlayerRaceModel(UniXMLElement parent) { race = (Race)Enum.Parse(typeof(Race), parent.GetString("id")); models = new Dictionary <Workshop, StartPlayerWorkshopModel>(); var dump = parent.Element("workshops").Elements("workshop").Select(we => { StartPlayerWorkshopModel wModel = new StartPlayerWorkshopModel(we); models.Add(wModel.workshop, wModel); return(wModel); }).ToList(); }
private void LoadBaseData(UniXMLElement parent, Race race, string elementName) { var raceElement = parent.Element("base_data").Element(elementName); if (raceElement != null) { BaseData data = new BaseData(); data.Load(raceElement); RaceBaseData[race] = data; } }
public void Load(UniXMLElement element) { Id = element.GetString("id"); Type = element.GetEnum <QuestType>("type"); RaceBaseData = new Dictionary <Race, BaseData>(); LoadBaseData(element, Race.Humans, "humans"); LoadBaseData(element, Race.Borguzands, "borgs"); LoadBaseData(element, Race.Criptizoids, "krips"); Rewards = new List <QuestRewardData>(); foreach (var rewardElement in element.Element("rewards").Elements("reward")) { QuestRewardData reward = new QuestRewardData(); reward.Load(rewardElement); Rewards.Add(reward); } var humansCompleteConditions = element.Element("complete_conditions").Element("humans"); var borgsCompleteConditions = element.Element("complete_conditions").Element("borgs"); var kripsCompleteConditions = element.Element("complete_conditions").Element("krips"); QuestConditionCollection humanComplete = new QuestConditionCollection(); humanComplete.Load(humansCompleteConditions); QuestConditionCollection borgsComple = new QuestConditionCollection(); borgsComple.Load(borgsCompleteConditions); QuestConditionCollection kripsComplete = new QuestConditionCollection(); kripsComplete.Load(kripsCompleteConditions); CompleteConditions[Race.Humans] = humanComplete; CompleteConditions[Race.Borguzands] = borgsComple; CompleteConditions[Race.Criptizoids] = kripsComplete; }