/// <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();
    }
Example #2
0
    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);
        }
    }
Example #3
0
 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);
     }
 }
Example #4
0
    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);
    }