public void SaveStatistics()
    {
        var prefix      = PF_GamePlay.ActiveQuest.levelData.StatsPrefix;
        var charUpdates = new Dictionary <string, int>();

        var damageDone   = 0;
        var bossesKilled = 0;

        foreach (var item in PF_GamePlay.QuestProgress.CompletedEncounters)
        {
            if (item.Data.EncounterType == EncounterTypes.BossCreep)
            {
                bossesKilled++;
            }

            if (item.Data.EncounterType.ToString().Contains(GlobalStrings.ENCOUNTER_CREEP))
            {
                damageDone += item.Data.Vitals.MaxHealth;
            }
        }

        // Character Statistics Section
        charUpdates.Add(prefix + "Complete", PF_GamePlay.ActiveQuest.difficulty);
        charUpdates.Add(prefix + "Deaths", PF_GamePlay.QuestProgress.Deaths);
        charUpdates.Add(prefix + "DamageDone", damageDone);
        charUpdates.Add(prefix + "EncountersCompleted", PF_GamePlay.QuestProgress.CompletedEncounters.Count);
        charUpdates.Add(prefix + "UnicornsRescued", PF_GamePlay.QuestProgress.HeroRescues);
        charUpdates.Add(prefix + "ItemsUsed", PF_GamePlay.QuestProgress.ItemsUsed);
        charUpdates.Add(prefix + "XPGained", PF_GamePlay.QuestProgress.XpCollected);
        charUpdates.Add(prefix + "ItemsFound", PF_GamePlay.QuestProgress.ItemsFound.Count);
        charUpdates.Add(prefix + "GoldFound", PF_GamePlay.QuestProgress.GoldCollected);
        charUpdates.Add("QuestsCompleted", 1);
        charUpdates.Add("BossesKilled", bossesKilled);

        PF_PlayerData.UpdateCharacterStatistics(PF_PlayerData.activeCharacter.characterDetails.CharacterId, charUpdates);


        // User Statistics Section
        Dictionary <string, int> userUpdates = new Dictionary <string, int>();

        // Special calculation for the HighestCharacterLevel (we're pushing a delta, so we have to determine it)
        var curLevel   = PF_PlayerData.activeCharacter.characterData.CharacterLevel;
        var savedLevel = 0;

        PF_PlayerData.userStatistics.TryGetValue("HighestCharacterLevel", out savedLevel);
        var levelUpdate = (Math.Max(curLevel, savedLevel) - savedLevel);

        userUpdates.Add("Total_DamageDone", damageDone);
        userUpdates.Add("Total_EncountersCompleted", PF_GamePlay.QuestProgress.CompletedEncounters.Count);
        userUpdates.Add("Total_UnicornsRescued", PF_GamePlay.QuestProgress.HeroRescues);
        userUpdates.Add("Total_ItemsUsed", PF_GamePlay.QuestProgress.ItemsUsed);
        userUpdates.Add("Total_XPGained", PF_GamePlay.QuestProgress.XpCollected);
        userUpdates.Add("Total_ItemsFound", PF_GamePlay.QuestProgress.ItemsFound.Count);
        userUpdates.Add("Total_GoldFound", PF_GamePlay.QuestProgress.GoldCollected);
        userUpdates.Add("Total_QuestsCompleted", 1);
        userUpdates.Add("Total_BossesKilled", bossesKilled);
        userUpdates.Add("HighestCharacterLevel", levelUpdate);

        PF_PlayerData.UpdateUserStatistics(userUpdates);
    }
    public void HandleCallbackSuccess(string details, PlayFabAPIMethods method, MessageDisplayStyle style)
    {
        switch (method)
        {
        case PlayFabAPIMethods.MakePurchase:
            // refresh after purchase.
            if (PF_PlayerData.activeCharacter == null)
            {
                PF_PlayerData.GetUserAccountInfo();
            }
            else
            {
                PF_PlayerData.GetCharacterInventory(PF_PlayerData.activeCharacter.characterDetails.CharacterId);
            }
            break;

        case PlayFabAPIMethods.GetCharacterInventory:
            DialogCanvasController.RequestStore(this.StoreName.text);
            break;

        case PlayFabAPIMethods.GetAccountInfo:
            DialogCanvasController.RequestStore(this.StoreName.text);
            break;
        }
    }
    public void Initialize(string missionName)
    {
        this.missionName = missionName;
        name.text        = missionName;
        if (GameController.Instance.PlayerData.IsMissionAvailable(missionName) || GameController.Instance.DevModeEnabled)
        {
            button.onClick.RemoveAllListeners();
            button.onClick.AddListener(() => GameController.Instance.PlayMission(missionName));
            lockImage.gameObject.SetActive(false);

            if (PlayFabClientAPI.IsClientLoggedIn())
            {
                PF_PlayerData.GetPlayerLeaderboardPosition(this.missionName);
                PF_PlayerData.GetHighScore(this.missionName);
            }
            else
            {
                SetPlayerScore();
            }
        }
        else
        {
            lockImage.gameObject.SetActive(true);
            button.onClick.AddListener(() => DialogCanvasManager.Instance.midInfo.Show("Mission Locked!"));
        }
    }
Beispiel #4
0
    void HandleCallbackSuccess(string message, MessageDisplayStyle mg = MessageDisplayStyle.none)
    {
        if (message.Contains("New Account Registered"))
        {
            Debug.Log("Account Created, logging in with new account.");

            //System.Collections.Generic.Dictionary<string, string> updates = new System.Collections.Generic.Dictionary<string, string>();
            //updates.Add("FireComponent", "1000");
            //updates.Add("WaterComponent", "1000");
            //updates.Add("GrassComponent", "1000");
            //updates.Add("DarkComponent", "1000");
            //updates.Add("LightComponent", "1000");
            FG_ResourceData updates = new FG_ResourceData()
            {
                FireComponent = 1000, WaterComponent = 1000, DarkComponent = 1000, GrassComponent = 1000, LightComponent = 1000
            };
            System.Collections.Generic.Dictionary <string, string> update2 = new System.Collections.Generic.Dictionary <string, string>();
            update2.Add("Component", PlayFab.Json.PlayFabSimpleJson.SerializeObject(updates));

            UnityEngine.Events.UnityAction <PlayFab.ClientModels.UpdateUserDataResult> action = (PlayFab.ClientModels.UpdateUserDataResult s) => {
                PF_Authentication.LoginWithUsername(user.text, pass1.text);
            };

            PF_PlayerData.UpdateUserData(update2, "Public", action);
        }
    }
 private void Update()
 {
     if (Input.GetKeyDown(KeyCode.A))
     {
         PF_PlayerData.CreateNewCharacter(PF_GameData.Classes["Ivysaur"].CatalogCode, PF_GameData.Classes["Ivysaur"]);
     }
 }
Beispiel #6
0
    void CheckIsNewPlayer()
    {
        if (PF_PlayerData.SavedTeam == null)
        {
            if (PF_PlayerData.playerCharacters.Count != 0)
            {
                int rng = Random.Range(0, PF_PlayerData.playerCharacters.Count - 1);
                PF_PlayerData.MyTeamsCharacterId = new Dictionary <string, List <string> >();
                PF_PlayerData.MyTeamsCharacterId.Add("CurrentTeam", new List <string>()
                {
                    PF_PlayerData.playerCharacters[rng].CharacterId
                });
                string json = PlayFab.Json.PlayFabSimpleJson.SerializeObject(PF_PlayerData.MyTeamsCharacterId);
                PF_PlayerData.UpdateUserData(new Dictionary <string, string>()
                {
                    { "Teams", json }
                });
            }

            if (PF_PlayerData.playerCharacters.Count == 0)
            {
                PF_PlayerData.CreateNewCharacter(PF_GameData.Classes.ToList()[0].Value.CatalogCode, PF_GameData.Classes.ToList()[0].Value);
            }
        }
    }
Beispiel #7
0
    void UpdateTeam()
    {
        string jsonToUpdate = PlayFabSimpleJson.SerializeObject(PF_PlayerData.MyTeamsCharacterId);

        PF_PlayerData.UpdateUserData(new Dictionary <string, string>()
        {
            { "Teams", jsonToUpdate }
        }, "Public", (UpdateUserDataResult) => { Debug.Log(" teams updated"); });
    }
Beispiel #8
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);
    }
Beispiel #9
0
 public static void CharacterSelectDataRefresh()
 {
     //Debug.Log("Ran CharacterSelectDataRefresh");
     PF_GameData.GetTitleData();
     PF_GameData.GetTitleNews();
     PF_GameData.GetCatalogInfo();
     PF_GameData.GetOffersCatalog();
     PF_PlayerData.GetPlayerCharacters();
     PF_PlayerData.GetUserStatistics();
 }
Beispiel #10
0
    private static void OnGetCatalogSuccess(GetCatalogItemsResult result)
    {
        catalogItems.Clear();
        foreach (var eachItem in result.Catalog)
        {
            catalogItems[eachItem.ItemId] = eachItem;
        }

        PF_PlayerData.GetUserAccountInfo();
    }
    public void OnRemoveFriendClicked()
    {
        UnityAction afterRemove = () =>
        {
            controller.UpdateFriendList();
            OnCloseClicked();
        };

        PF_PlayerData.RemoveFriend(activeFriend.FriendPlayFabId, afterRemove);
    }
    void HandleInventoryRequest(Action <string> callback = null, InventoryFilters filter = InventoryFilters.AllItems)
    {
        Action afterGetInventory = () =>
        {
            // ENABLE THIS AFTER WE HAVE A CONSISTENT WAY TO HIDE TINTS
            //ShowTint();
            floatingInvPrompt.Init(callback, filter);
        };

        PF_PlayerData.GetUserInventory(afterGetInventory);
    }
Beispiel #13
0
 public void Continue()
 {
     if (changedLoginState)
     {
         Dictionary <string, string> updates = new Dictionary <string, string> {
             { "ShowAccountOptionsOnLogin", PF_PlayerData.showAccountOptionsOnLogin ? "1" : "0" },
             { "IsRegisteredForPush", PF_PlayerData.isRegisteredForPush ? "1" : "0" },
         };
         PF_PlayerData.UpdateUserData(updates);
     }
     gameObject.SetActive(false);
 }
Beispiel #14
0
 private void Update()
 {
     if (Input.GetKeyDown(KeyCode.A))
     {
         int rng = UnityEngine.Random.Range(0, PF_GameData.Classes.Count);
         PF_PlayerData.CreateNewCharacter(PF_GameData.Classes.ToList()[rng].Value.CatalogCode, PF_GameData.Classes.ToList()[rng].Value);
     }
     if (Input.GetKeyDown(KeyCode.F))
     {
         PF_PlayerData.DrawCharactersToUser();
     }
 }
    public static void CharacterSelectDataRefresh()
    {
        //Debug.Log("Ran CharacterSelectDataRefresh");
        PF_GameData.GetEventData();
//        PF_GameData.GetActiveEventData(); // now called directly from GetEventData to ensure ordering
        PF_GameData.GetTitleData();
        PF_GameData.GetTitleNews();
        PF_GameData.GetCatalogInfo();
        PF_GameData.GetOffersCatalog();
        PF_PlayerData.GetPlayerCharacters();
        PF_PlayerData.GetUserStatistics();
    }
Beispiel #16
0
    public void DeleteCharacter()
    {
        Action <bool> processResponse = (bool response) => {
            if (response == true && this.selectedSlot != null)
            {
                PF_PlayerData.DeleteCharacter(this.selectedSlot.saved.characterDetails.CharacterId);
                this.selectedSlot = null;
            }
        };

        DialogCanvasController.RequestConfirmationPrompt(GlobalStrings.DEL_CHAR_PROMPT, string.Format(GlobalStrings.DEL_CHAR_MSG, this.selectedSlot.ponyName.text), processResponse);
    }
Beispiel #17
0
 public void RefreshInventory()
 {
     if (this.activeMode == InventoryMode.Character)
     {
         PF_PlayerData.GetUserInventory();
         DialogCanvasController.RequestInventoryPrompt(null, this.activeFilter, this.showTransUi, FloatingInventoryController.InventoryMode.Character);
     }
     else
     {
         PF_PlayerData.GetCharacterInventory(PF_PlayerData.activeCharacter.characterDetails.CharacterId);
         DialogCanvasController.RequestInventoryPrompt(null, this.activeFilter, this.showTransUi, FloatingInventoryController.InventoryMode.Player);
     }
 }
Beispiel #18
0
    /// <summary>
    /// Raises the retrieve quest items success event.
    /// </summary>
    /// <param name="result">Result.</param>
    private static void OnRetrieveQuestItemsSuccess(ExecuteCloudScriptResult result)
    {
        if (!PF_Bridge.VerifyErrorFreeCloudScriptResult(result))
        {
            return;
        }

        QuestProgress.ItemsGranted    = JsonWrapper.DeserializeObject <List <ItemGrantResult> >(result.FunctionResult.ToString());
        QuestProgress.areItemsAwarded = true;
        PF_PlayerData.GetUserInventory();

        PF_Bridge.RaiseCallbackSuccess("Items granted", PlayFabAPIMethods.RetriveQuestItems, MessageDisplayStyle.none);
    }
Beispiel #19
0
    public void ToggleFacebookLink()
    {
        if (PF_PlayerData.accountInfo.FacebookInfo != null)
        {
            Action <bool> afterCheck = (bool response) =>
            {
                if (response == true)
                {
                    //unlink
                    UnityAction afterUnlink = () =>
                    {
                        Text txt = this.linkToFaceBook.GetComponentInChildren <Text>();
                        txt.color = Color.red;
                        txt.text  = GlobalStrings.LINK_FB_BTN_MSG;
                        this.facebookPicture.overrideSprite = null;
                        Debug.Log("NEED ACCOUNT REFRESH???");
                        PF_PlayerData.accountInfo.FacebookInfo = null;
                        this.changedLoginState = true;
                    };

                    PF_PlayerData.UnlinkFBAccount(afterUnlink);
                }
            };

            DialogCanvasController.RequestConfirmationPrompt(GlobalStrings.CONFIRM_UNLINK_PROMPT, GlobalStrings.CONFIRM_UNLINK_MSG, afterCheck);
        }
        else
        {
            // link
            UnityAction afterLink = () =>
            {
                Text btnText = this.linkToFaceBook.GetComponentInChildren <Text>();
                btnText.text  = GlobalStrings.UNLINK_FB_BTN_MSG;
                btnText.color = Color.green;


                Debug.Log("NEED ACCOUNT REFRESH???");
                this.changedLoginState = true;
                PF_PlayerData.accountInfo.FacebookInfo = new UserFacebookInfo();

                UnityAction <Texture2D> afterGetPhoto = (Texture2D tx) =>
                {
                    facebookPicture.overrideSprite = Sprite.Create(tx, new Rect(0, 0, 128, 128), new Vector2());
                };

                StartCoroutine(FacebookHelperClass.GetPlayerProfilePhoto(FetchWebAsset, afterGetPhoto));
            };

            PF_PlayerData.LinkFBAccount(afterLink);
        }
    }
Beispiel #20
0
    private void OnPlayfabCallbackSuccess(string details, PlayFabAPIMethods method, MessageDisplayStyle displayStyle)
    {
        if (method == PlayFabAPIMethods.SavePlayerInfo)
        {
            //PF_PlayerData.GetCharacterDataById(selectedSlot.saved.characterDetails.CharacterId);
            PF_PlayerData.GetCharacterData();
        }
        else if (method == PlayFabAPIMethods.GetCharacterReadOnlyData)
        {
            RefreshData();

            equipController.Refresh();
        }
    }
    public void OnCloseClicked()
    {
        if (_didCustomTagsChange)
        {
            UnityAction afterSetTags = () =>
            {
                gameObject.SetActive(false);
            };
            PF_PlayerData.SetFriendTags(activeFriend.FriendPlayFabId, activeFriend.Tags, afterSetTags);
        }

        ProfilePhoto.overrideSprite = null;
        gameObject.SetActive(false);
    }
 private void HandlePlayfabCallbackSuccess(string details, PlayFabAPIMethods method, MessageDisplayStyle displayStyle)
 {
     if (method == PlayFabAPIMethods.DrawCharacterToUser)
     {
         ShowGrantedCharacterImage(details);
         debugText.text = details;
         PF_PlayerData.GetUserAccountInfo();
     }
     if (method == PlayFabAPIMethods.GetAccountInfo)
     {
         vcText.text = PF_PlayerData.virtualCurrency["NT"].ToString();
         CanPlayerDraw();
     }
 }
Beispiel #23
0
    public void Continue()
    {
        if (changedLoginState == true)
        {
            PF_PlayerData.showAccountOptionsOnLogin = this.isShownOnLogin;

            Dictionary <string, string> updates = new Dictionary <string, string>();
            updates.Add("ShowAccountOptionsOnLogin", this.isShownOnLogin == true ? "1" : "0");
            updates.Add("IsRegisteredForPush", this.isRegisteredForPush == true ? "1" : "0");

            PF_PlayerData.UpdateUserData(updates);
        }
        this.gameObject.SetActive(false);
    }
Beispiel #24
0
    public void PonyPicked(ArrowUI pony)
    {
        Action <string> processResponse = (string response) => {
            if (response != null)
            {
                //ShowButtons();
                PF_PlayerData.CreateNewCharacter(response, pony.details);
            }
        };

        string[] randomNames = new string[] { "Sparkle", "Twinkle", "PowerHoof", "Nova", "Lightning", "ReignBow", "Charlie", "Balloonicorn", "Roach" };
        int      rng         = UnityEngine.Random.Range(0, randomNames.Length);

        DialogCanvasController.RequestTextInputPrompt(GlobalStrings.CHAR_NAME_PROMPT, GlobalStrings.CHAR_NAME_MSG, processResponse, randomNames[rng]);
    }
Beispiel #25
0
    void HandleCharacterRequest(Action <string> callback = null, CharacterFilters filter = CharacterFilters.AllCharacter)
    {
        Action afterGetCharacter = () =>
        {
            // ENABLE THIS AFTER WE HAVE A CONSISTENT WAY TO HIDE TINTS
            //ShowTint();

            Action afterGetData = () =>
            {
                this.floatingChaPrompt.Init(callback, filter);
            };

            PF_PlayerData.GetCharacterData(afterGetData);
        };

        PF_PlayerData.GetPlayerCharacters(afterGetCharacter);
    }
Beispiel #26
0
    public static void CharacterSelectDataRefresh()
    {
        //Debug.Log("Ran CharacterSelectDataRefresh");
        PF_PlayerData.GetUserAccountInfo();
        PF_GameData.GetTitleData();
        //PF_GameData.GetTitleNews();
        PF_GameData.GetCatalogInfo();
        //PF_GameData.GetOffersCatalog();

        System.Action action = () =>
        {
            PF_PlayerData.GetCharacterData();
        };

        PF_PlayerData.GetPlayerCharacters(action);
        //PF_PlayerData.GetCharacterData();
        //PF_PlayerData.GetUserStatistics();
    }
    void HandleInventoryRequest(Action <string> callback = null, InventoryFilters filter = InventoryFilters.AllItems, bool enableTransUi = true, FloatingInventoryController.InventoryMode displayMode = FloatingInventoryController.InventoryMode.Character)
    {
        Action afterGetInventory = () =>
        {
            // ENABLE THIS AFTER WE HAVE A CONSISTENT WAY TO HIDE TINTS
            //ShowTint();
            this.floatingInvPrompt.Init(callback, filter, enableTransUi, displayMode);
        };

        if (displayMode == FloatingInventoryController.InventoryMode.Character)
        {
            PF_PlayerData.GetCharacterInventory(PF_PlayerData.activeCharacter.characterDetails.CharacterId, afterGetInventory);
        }
        else
        {
            PF_PlayerData.GetUserInventory(afterGetInventory);
        }
    }
Beispiel #28
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="wasAlreadyRedemed">If set to <c>true</c>  if the player has already redeemed this offer.</param>
    public void ContinueClicked(bool wasAlreadyRedemed = false)
    {
        UnityAction <string> afterRedeem = (string result) =>
        {
            if (!string.IsNullOrEmpty(result))
            {
                DialogCanvasController.RequestItemViewer(new List <string>()
                {
                    result
                }, true);
            }

            PF_PlayerData.OfferContainers.RemoveAt(0);
            this.Init();
        };

        PF_PlayerData.RedeemItemOffer(this.activeItem, this.activeInstance.ItemInstanceId, afterRedeem, wasAlreadyRedemed);
    }
    private void CheckToContinue()
    {
        if (_isCharacterDataLoaded)
        {
            var ponyType = (PF_PlayerData.PlayerClassTypes)Enum.Parse(typeof(PF_PlayerData.PlayerClassTypes), PF_PlayerData.activeCharacter.baseClass.CatalogCode);

            switch ((int)ponyType)
            {
            case 0:
                foreach (var item in colorize)
                {
                    item.color = PF_GamePlay.ClassColor1;
                }
                break;

            case 1:
                foreach (var item in colorize)
                {
                    item.color = PF_GamePlay.ClassColor2;
                }
                break;

            case 2:
                foreach (var item in colorize)
                {
                    item.color = PF_GamePlay.ClassColor3;
                }
                break;

            default:
                Debug.LogWarning("Unknown Class type detected...");
                break;
            }

            PF_PlayerData.UpdateActiveCharacterData();
            foreach (var each in UiObjects)
            {
                each.gameObject.SetActive(true); //<---- BOOM Null Ref
                each.BroadcastMessage("Init", SendMessageOptions.DontRequireReceiver);
            }
            // ResetDataChecks
            _isCharacterDataLoaded = false;
        }
    }
Beispiel #30
0
    public void HandleCallbackSuccess(string details, PlayFabAPIMethods method, MessageDisplayStyle style)
    {
        switch (method)
        {
        case PlayFabAPIMethods.GetTitleData_General:
        case PlayFabAPIMethods.GetAccountInfo:
            isTitleDataLoaded       |= method == PlayFabAPIMethods.GetTitleData_General;
            isPlayerInventoryLoaded |= method == PlayFabAPIMethods.GetAccountInfo;

            int extraCount = 0;
            InventoryCategory temp;
            if (PF_PlayerData.inventoryByCategory != null && PF_PlayerData.inventoryByCategory.TryGetValue("ExtraCharacterSlot", out temp))
            {
                extraCount = temp.count;
            }
            maxCharacterSlots = PF_GameData.StartingCharacterSlots + extraCount;
            break;

        case PlayFabAPIMethods.GetAllUsersCharacters:
            isPlayerCharatersLoaded = true;
            PF_PlayerData.GetCharacterData();
            PF_PlayerData.GetCharacterStatistics();
            break;

        case PlayFabAPIMethods.DeleteCharacter:
            ResetDataChecks();
            GameController.CharacterSelectDataRefresh();
            break;

        case PlayFabAPIMethods.GrantCharacterToUser:
            ResetDataChecks();
            GameController.CharacterSelectDataRefresh();
            break;

        case PlayFabAPIMethods.GetCharacterReadOnlyData:
            isCharacterDataLoaded = true;
            break;

        case PlayFabAPIMethods.GetUserStatistics:
            isUserStatsLoaded = true;
            break;
        }
        CheckToInit();
    }