Exemplo n.º 1
0
	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);
		}
	}
Exemplo n.º 2
0
	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);
	}
Exemplo n.º 3
0
	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;
	}