Example #1
0
 static List<QuestStartCondition> GetConditions(Quest quest, string name)
 {
     List<String> conds = new List<string>();
     Utility<Quest>.Instance.Export(quest, name, conds);
     List<QuestStartCondition> startConditions = new List<QuestStartCondition>();
     if (conds.Count > 0) {
         foreach (string cond in conds) {
             string[] parseString = cond.Split(new string[] { " ", "," },
                                               StringSplitOptions.RemoveEmptyEntries);
             var finalConds = new Dictionary<int, QuestStep>();
             var condition = new QuestStartCondition();
             condition.questSteps = new List<QuestStep>();
             foreach (string c in parseString) {
                 string[] condData = c.Split('_');
                 string questIdStep = (condData.Length > 1 ? condData[1] : condData[0]).TrimStart('q', 'Q');
                 condData = questIdStep.Split(':');
                 int questId = Int32.Parse(condData[0]);
                 int rewardNo = 0;
                 if (condData.Length > 1)
                     rewardNo = Int32.Parse(condData[1]);
                 QuestStep qs = new QuestStep(questId, rewardNo);
                 if (finalConds.ContainsKey(questId)) {
                     QuestStep qsOld = finalConds[questId];
                 } else {
                     finalConds.Add(questId, qs);
                 }
             }
             condition.questSteps = finalConds.OrderBy(p => p.Key).Select(p => p.Value).ToList();
             startConditions.Add(condition);
         }
     }
     return startConditions;
 }
Example #2
0
 static List<QuestItemsOur> GetSelectableRewards(Quest quest, string name)
 {
     List<QuestItemsOur> list = new List<QuestItemsOur>(1);
     Utility<Quest>.Instance.Export(quest, name, list);
     list = list.Where(r => r.count > 0).ToList();
     if (list.Count == 0)
         list = null;
     return list;
 }
Example #3
0
 static void AddQuest(string eventCategory, Quest quest)
 {
     if (!String.IsNullOrEmpty(eventCategory)) {
         if (questsByCategory.ContainsKey(eventCategory)) {
             questsByCategory[eventCategory].Add(quest);
         } else {
             questsByCategory.Add(eventCategory, new List<Quest>() { quest });
         }
     }
 }