public void InterpretParseQuestLog(ParseQuestLogData questLogData) { Debug.LogWarning("unpacking parse quest log data"); for (int i = 0; i < questLogData.currentQuests.Count; i++) { RPGQuest newQuest = Storage.LoadById<RPGQuest>(questLogData.currentQuests[i].questID, new RPGQuest()); Debug.Log("added new current quest: " + newQuest.ID); for (int j = 0; j < newQuest.questSteps.Count; j++) { for (int k = 0; k < newQuest.questSteps[j].Tasks.Count; k++) { newQuest.questSteps[j].Tasks[k].CurrentAmount = questLogData.currentQuests[i].questSteps[j].taskCurrentAmounts[k]; Debug.Log("updating quest step: " + j + " task: " + k + "current amount: " + questLogData.currentQuests[i].questSteps[j].taskCurrentAmounts[k]); } } CurrentQuests.Add(newQuest); } for (int i = 0; i < questLogData.finishedQuests.Count; i++) { RPGQuest newQuest = Storage.LoadById<RPGQuest>(questLogData.finishedQuests[i].questID, new RPGQuest()); Debug.Log("added new finished quest: " + newQuest.ID); for (int j = 0; j < newQuest.questSteps.Count; j++) { for (int k = 0; k < newQuest.questSteps[j].Tasks.Count; k++) { newQuest.questSteps[j].Tasks[k].CurrentAmount = questLogData.finishedQuests[i].questSteps[j].taskCurrentAmounts[k]; Debug.Log("updating quest step: " + j + " task: " + k + "current amount: " + questLogData.finishedQuests[i].questSteps[j].taskCurrentAmounts[k]); } } Debug.LogWarning("ufinished npacking parse quest log data"); FinishedQuests.Add(newQuest); } }
public void InterpretParseQuestLog(byte[] data) { ParseQuestLogData newQuestLog = new ParseQuestLogData(); BinaryFormatter bb = new BinaryFormatter(); MemoryStream mm = new MemoryStream(data); newQuestLog = (ParseQuestLogData)bb.Deserialize(mm); questLog.InterpretParseQuestLog(newQuestLog); }
public ParseQuestLogData ParseThisQuestLog() { Debug.LogWarning("saving questlog to parse"); ParseQuestLogData questData = new ParseQuestLogData(); for (int i = 0; i < CurrentQuests.Count; i++) { //dont save repeatable quests if(CurrentQuests[i].repeatable) { Debug.Log("ignoring a repeatable quest"); continue; } ParseQuestData newQuest = new ParseQuestData(); newQuest.questID = CurrentQuests[i].ID; Debug.Log("adding a new quest: " + CurrentQuests[i].ID); for (int j = 0; j < CurrentQuests[i].questSteps.Count; j++) { ParseQuestStepData newStep = new ParseQuestStepData(); Debug.Log("adding a new queststep :" + j + CurrentQuests[i].questSteps[j].QuestLogNote); for (int k = 0; k < CurrentQuests[i].questSteps[j].Tasks.Count; k++) { newStep.taskCurrentAmounts.Add(CurrentQuests[i].questSteps[j].Tasks[k].CurrentAmount); Debug.Log(CurrentQuests[i].questSteps[j].Tasks[i].TaskType.ToString() + " current amount: " + newStep.taskCurrentAmounts[k]); } newQuest.questSteps.Add(newStep); } questData.currentQuests.Add(newQuest); } for (int i = 0; i < FinishedQuests.Count; i++) { ParseQuestData newQuest = new ParseQuestData(); newQuest.questID = FinishedQuests[i].ID; Debug.Log("adding a finished quest: " +FinishedQuests[i].ID); for (int j = 0; j < FinishedQuests[i].questSteps.Count; j++) { ParseQuestStepData newStep = new ParseQuestStepData(); Debug.Log("adding a new queststep :" + j + FinishedQuests[i].questSteps[j].QuestLogNote); for (int k = 0; k < FinishedQuests[i].questSteps[j].Tasks.Count; k++) { newStep.taskCurrentAmounts.Add(FinishedQuests[i].questSteps[j].Tasks[k].CurrentAmount); Debug.Log(FinishedQuests[i].questSteps[j].Tasks[k].TaskType.ToString() + " current amount: " + newStep.taskCurrentAmounts[k]); } newQuest.questSteps.Add(newStep); } questData.finishedQuests.Add(newQuest); } Debug.LogWarning("finished converting questlog to parse"); return questData; }