public static void GetCharacterData()
    {
        var JsonUtil = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer);

        playerCharacterData.Clear();
        characterAchievements.Clear();

        var remainingCallbacks = playerCharacters.Count;

        if (remainingCallbacks == 0)
        {
            PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.GetCharacterReadOnlyData, MessageDisplayStyle.none);
            return;
        }
        else
        {
            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetCharacterReadOnlyData);
        }


        foreach (var character in playerCharacters)
        {
            var request = new GetCharacterDataRequest
            {
                PlayFabId   = PlayerId,
                CharacterId = character.CharacterId,
                Keys        = new List <string> {
                    "CharacterData", "Achievements"
                }
            };

            PlayFabClientAPI.GetCharacterReadOnlyData(request, (result) =>
            {
                if (result.Data.ContainsKey("Achievements"))
                {
                    characterAchievements.Add(result.CharacterId, JsonUtil.DeserializeObject <List <string> >(result.Data["Achievements"].Value));
                }

                if (!result.Data.ContainsKey("CharacterData"))
                {
                    return;
                }

                playerCharacterData.Add(result.CharacterId, JsonUtil.DeserializeObject <UB_CharacterData>(result.Data["CharacterData"].Value));
                remainingCallbacks--;
                if (remainingCallbacks == 0)
                {
                    PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.GetCharacterReadOnlyData, MessageDisplayStyle.none);
                }
            }, PF_Bridge.PlayFabErrorCallback);
        }
    }
Beispiel #2
0
    public static void GetCharacterDataById(string characterId)
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetCharacterReadOnlyData);

        var request = new GetCharacterDataRequest
        {
            PlayFabId   = PlayerId,
            CharacterId = characterId,
            Keys        = new List <string> {
                "CharacterData"
            }
        };

        PlayFabClientAPI.GetCharacterReadOnlyData(request, result =>
        {
            if (result.Data.ContainsKey("CharacterData"))
            {
                playerCharacterData[result.CharacterId] = JsonWrapper.DeserializeObject <UB_CharacterData>(result.Data["CharacterData"].Value);
                PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.GetCharacterReadOnlyData, MessageDisplayStyle.none);
            }
        }, PF_Bridge.PlayFabErrorCallback);
    }
Beispiel #3
0
    public static void GetCharacterDataById(string characterId)
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetCharacterReadOnlyData);

        GetCharacterDataRequest request = new GetCharacterDataRequest();

        //request.PlayFabId = PlayFabSettings.PlayerId;
        request.CharacterId = characterId;
        request.Keys        = new List <string>()
        {
            "CharacterData"
        };

        PlayFabClientAPI.GetCharacterReadOnlyData(request, (result) =>
        {
            if (result.Data.ContainsKey("CharacterData"))
            {
                playerCharacterData[result.CharacterId] = PlayFabSimpleJson.DeserializeObject <FG_CharacterData>(result.Data["CharacterData"].Value);

                PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.GetCharacterReadOnlyData, MessageDisplayStyle.none);
            }
        }, PF_Bridge.PlayFabErrorCallback);
    }
Beispiel #4
0
    public static void GetCharacterData(Action callback = null)
    {
        playerCharacterData.Clear();
        characterEquipedItem.Clear();
        //characterAchievements.Clear();

        int remainingCallbacks = playerCharacters.Count;

        if (remainingCallbacks == 0)
        {
            PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.GetCharacterReadOnlyData, MessageDisplayStyle.none);
            return;
        }
        else
        {
            DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.GetCharacterReadOnlyData);
        }


        foreach (var character in playerCharacters)
        {
            GetCharacterDataRequest request = new GetCharacterDataRequest();
            //request.PlayFabId = PlayFabSettings.PlayerId;
            request.CharacterId = character.CharacterId;
            request.Keys        = new List <string>()
            {
                "CharacterData"
            };

            PlayFabClientAPI.GetCharacterReadOnlyData(request, (result) => {
                // OFFERS

                //if (result.Data.ContainsKey("Achievements"))
                //{
                //    characterAchievements.Add(result.CharacterId, PlayFab.SimpleJson.DeserializeObject<List<string>>(result.Data["Achievements"].Value));
                //}


                if (result.Data.ContainsKey("CharacterData"))
                {
                    playerCharacterData.Add(result.CharacterId, PlayFabSimpleJson.DeserializeObject <FG_CharacterData>(result.Data["CharacterData"].Value));

                    #region setup equipment
                    if (playerCharacterData[result.CharacterId].EquipedWeapon != null)
                    {
                        if (!characterEquipedItem.Contains(playerCharacterData[result.CharacterId].EquipedWeapon.EquipmentId))
                        {
                            characterEquipedItem.Add(playerCharacterData[result.CharacterId].EquipedWeapon.EquipmentId);
                        }
                    }
                    if (playerCharacterData[result.CharacterId].EquipedArmor != null)
                    {
                        if (!characterEquipedItem.Contains(playerCharacterData[result.CharacterId].EquipedArmor.EquipmentId))
                        {
                            characterEquipedItem.Add(playerCharacterData[result.CharacterId].EquipedArmor.EquipmentId);
                        }
                    }
                    if (playerCharacterData[result.CharacterId].EquipedJewelry != null)
                    {
                        if (!characterEquipedItem.Contains(playerCharacterData[result.CharacterId].EquipedJewelry.EquipmentId))
                        {
                            characterEquipedItem.Add(playerCharacterData[result.CharacterId].EquipedJewelry.EquipmentId);
                        }
                    }
                    #endregion

                    remainingCallbacks--;
                    if (remainingCallbacks == 0)
                    {
                        if (callback != null)
                        {
                            callback();
                        }

                        PF_Bridge.RaiseCallbackSuccess("", PlayFabAPIMethods.GetCharacterReadOnlyData, MessageDisplayStyle.none);
                    }
                }
                //Debug.Log(result.Data["CharacterData"].Value);
            }, PF_Bridge.PlayFabErrorCallback);
        }
    }