public bool TryGetCompleteConditions(Race race, out QuestConditionCollection conditions) { conditions = null; if (CompleteConditions.TryGetValue(race, out conditions)) { return(true); } return(false); }
public void Load(XElement element) { Id = element.GetString("id"); Type = element.GetEnum <QuestType>("type"); var startConditionsElement = element.Element("start_conditions"); StartConditions.Load(startConditionsElement); 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.TryAdd(Race.Humans, humanComplete); CompleteConditions.TryAdd(Race.Borguzands, borgsComple); CompleteConditions.TryAdd(Race.Criptizoids, kripsComplete); var rewardsElement = element.Element("rewards"); if (rewardsElement != null) { Rewards.Load(rewardsElement); } }