Ejemplo n.º 1
0
    public void OnReturnToHubClick()
    {
        if (PF_GamePlay.QuestProgress.isQuestWon)
        {
            Dictionary <string, object> eventData = new Dictionary <string, object>()
            {
                { "Current_Quest", PF_GamePlay.ActiveQuest.levelName },
                { "Character_ID", PF_PlayerData.activeCharacter.characterDetails.CharacterId }
            };
            PF_Bridge.LogCustomEvent(PF_Bridge.CustomEventTypes.Client_LevelComplete, eventData);
        }

        if (PF_PlayerData.activeCharacter.PlayerVitals.didLevelUp)
        {
            Dictionary <string, object> eventData = new Dictionary <string, object>()
            {
                { "New_Level", PF_PlayerData.activeCharacter.characterData.CharacterLevel + 1 },
                { "Character_ID", PF_PlayerData.activeCharacter.characterDetails.CharacterId },
                { "Current_Quest", PF_GamePlay.ActiveQuest.levelName }
            };
            PF_Bridge.LogCustomEvent(PF_Bridge.CustomEventTypes.Client_LevelUp, eventData);
        }

        // Only save if the game has been won
        // may want to add in some stats for missions failed / deaths
        if (PF_GamePlay.QuestProgress.isQuestWon)
        {
            PF_GamePlay.SavePlayerData();
            SaveStatistics();

            if (PF_GamePlay.QuestProgress.areItemsAwarded == false)
            {
                PF_GamePlay.RetriveQuestItems();
            }
        }

        var loadingDelay = .5f;

        if (PF_GamePlay.UseRaidMode)
        {
            var eventData = new Dictionary <string, object>
            {
                { "Killed_By", "Raid Mode" },
                { "Enemy_Health", "Raid Mode" },
                { "Current_Quest", PF_GamePlay.ActiveQuest.levelName },
                { "Character_ID", PF_PlayerData.activeCharacter.characterDetails.CharacterId }
            };

            for (var z = 0; z < PF_GamePlay.QuestProgress.Deaths; z++)
            {
                PF_PlayerData.SubtractLifeFromPlayer();
                PF_Bridge.LogCustomEvent(PF_Bridge.CustomEventTypes.Client_PlayerDied, eventData);
            }
        }

        GameController.Instance.sceneController.RequestSceneChange(SceneController.GameScenes.Profile, loadingDelay);
    }
    public void RetrunToProfile()
    {
        //update to playfab
        if (PF_GamePlay.QuestProgress.isQuestWon)
        {
            PF_GamePlay.SavePlayerData(PF_PlayerData.SavedTeam[0], PF_GamePlay.QuestProgress);
        }
        if (!PF_GamePlay.QuestProgress.areItemsAwarded)
        {
            PF_GamePlay.RetriveQuestItems();
        }

        PhotonNetwork.Disconnect();
        GameController.Instance.sceneController.RequestSceneChange(SceneController.GameScenes.Profile, 1f);
    }