Esempio n. 1
0
    public static Promise <Player> GetPlayer()
    {
        var promise       = new Promise <Player>();
        var request       = new GetPlayerCombinedInfoRequest();
        var requestParams = new GetPlayerCombinedInfoRequestParams {
            GetPlayerStatistics = true, GetUserData = true, GetUserInventory = true, GetUserVirtualCurrency = true
        };

        request.InfoRequestParameters = requestParams;
        PlayFabClientAPI.GetPlayerCombinedInfo(request, (result) => {
            try {
                Player player = new Player();
                List <Currency> currencies = CurrencyService.CurrenciesFromDictionary(result.InfoResultPayload.UserVirtualCurrency);
                if (currencies != null)
                {
                    player.SetCurrencies(currencies);
                }
                List <Statistic> statistics = StatisticService.StatisticsFromList(result.InfoResultPayload.PlayerStatistics);
                if (statistics != null)
                {
                    player.SetStatistics(statistics);
                }
                Inventory inventory = ItemService.InventoryFromItemInstanceList(result.InfoResultPayload.UserInventory);
                if (inventory != null)
                {
                    player.SetInventory(inventory);
                }
                PlayerData playerData = DataService.PlayerDataFromDictionary(result.InfoResultPayload.UserData);
                if (playerData != null)
                {
                    player.SetData(playerData);
                }
                GetPlayerSuccessBallback(result);
                promise.Resolve(player);
            } catch (Exception ex) {
                promise.Reject(ex);
            }
        }, ErrorCallback);
        return(promise);
    }