public QuestCondition Parse(UniXMLElement element) { QuestConditionType type = element.GetEnum <QuestConditionType>("type"); switch (type) { case QuestConditionType.player_level_ge: { return(new PlayerLevelGEQuestCondition(element)); } case QuestConditionType.npc_killed_with_level: { return(new NpcKilledWithLevelQuestCondition(element)); } case QuestConditionType.npc_killed_with_class: { return(new NpcKilledWithClassQuestCondition(element)); } case QuestConditionType.npc_killed_with_color: { return(new NpcKilledWithColorQuestCondition(element)); } case QuestConditionType.quest_completed: { return(new QuestCompletedQuestCondition(element)); } case QuestConditionType.module_crafted: { return(new ModuleCraftedQuestCondition(element)); } case QuestConditionType.collect_ore: { return(new CollectOreQuestCondition(element)); } case QuestConditionType.create_structure: { return(new CreateStructureQuestCondition(element)); } case QuestConditionType.npc_killed_with_bot_group: { return(new NpcKilledWithBotGroupQuestCondition(element)); } } return(null); }
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; }
public CreateStructureQuestCondition(UniXMLElement element) { Structure = element.GetEnum <QuestStructureType>("value"); //Count = element.GetInt("count"); }
public ModuleCraftedQuestCondition(UniXMLElement element) { ModuleType = element.GetEnum <ShipModelSlotType>("value"); Color = element.GetEnum <ObjectColor>("color"); Level = element.GetInt("level"); }
public void Load(UniXMLElement element) { Type = element.GetEnum <QuestRewardType>("type"); Count = element.GetInt("count"); }