/// <summary> /// Initializes the quest data as if the player has just started their /// journey in the game /// </summary> private void InitQuestData() { Debug.Log("Init quest data log"); PlayerQuestData questData = new PlayerQuestData(); //For all the quests we have in the manager we make //a clean slate for all of them for (int i = 0; i < questManager.quests.Count; i++) { questData.questID = i; questData.questName = questManager.quests[i].questData.questName; questData.questState = QuestState.pending; questManager.quests[i].questData.questState = questData.questState; questData.hasQuest = false; int requiredItemCount = questManager.GetQuests()[i].questData.requiredItems.Count; questData.amountDone = new int[requiredItemCount]; for (int j = 0; j < questData.amountDone.Length; j++) { questData.amountDone[j] = 0; } currentQuests.Add(questData); questData = new PlayerQuestData(); } Save(); }
private IEnumerator GetPlayerQuest(float questId, string questDetail = "") { System.DateTime epochStart = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc); long nowMilliSec = (long)(System.DateTime.UtcNow - epochStart).TotalSeconds * 1000; string requestData = "?game_id=" + gameId + "&version_id=" + versionId + "&client_timestamp=" + nowMilliSec + "&session_id=" + sessionId + "&session_seq_id=" + sessionSeqId + "&user_id=" + userId + "&quest_id=" + questId + "&quest_detail=" + questDetail; UnityWebRequest www = UnityWebRequest.Get(pageHost + phpPath + playerQuestPath + requestData); yield return(www.Send()); if (www.isNetworkError) { //Debug.Log(www.error); } else { string logReturnedString = www.downloadHandler.text; //Debug.Log(logReturnedString); PlayerQuestData pageLoadData = JsonUtility.FromJson <PlayerQuestData>(logReturnedString); dynamicQuestId = pageLoadData.dynamic_quest_id; Debug.Log("Dynamic quest ID: " + dynamicQuestId); } }
public void LoadPlayerQuestData(PlayerQuestData pqd) { GameManagerScript.ins.playerQuests.completedQuests.Clear(); GameManagerScript.ins.playerQuests.inProgressQuests.Clear(); DestroyAllExistingQuests(); foreach (QuestData qd in pqd.completedQuests) { Quest q = CreateQuestFromID(qd.ID); q.currentObjective = qd.currentObjective; GameManagerScript.ins.playerQuests.completedQuests.Add(q); } foreach (QuestData qd in pqd.inProgressQuests) { Quest q = CreateQuestFromID(qd.ID); q.currentObjective = qd.currentObjective; GameManagerScript.ins.playerQuests.inProgressQuests.Add(q); } }
public PlayerQuestData SavePlayerQuestData() { PlayerQuestData pqd = new PlayerQuestData(); pqd.inProgressQuests = new List <QuestData>(); pqd.completedQuests = new List <QuestData>(); foreach (Quest q in GameManagerScript.ins.playerQuests.completedQuests) { QuestData qd = new QuestData(); qd.ID = q.questID; qd.currentObjective = q.currentObjective; pqd.completedQuests.Add(qd); } foreach (Quest q in GameManagerScript.ins.playerQuests.inProgressQuests) { QuestData qd = new QuestData(); qd.ID = q.questID; qd.currentObjective = q.currentObjective; pqd.inProgressQuests.Add(qd); } return(pqd); }