示例#1
0
 public bool TryGetCompleteConditions(Race race, out QuestConditionCollection conditions)
 {
     conditions = null;
     if (CompleteConditions.TryGetValue(race, out conditions))
     {
         return(true);
     }
     return(false);
 }
示例#2
0
        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);
            }
        }