void CheckAndGrantSkin(string SkinName) { GetUserInventoryRequest items = new GetUserInventoryRequest { }; PlayFabClientAPI.GetUserInventory(items, itemInfo => { foreach (var eachStat in itemInfo.Inventory) { bool grant = true; if (eachStat.ItemId == SkinName) { grant = false; } if (grant) { var purchaseRequest = new PurchaseItemRequest(); purchaseRequest.CatalogVersion = "Skins"; purchaseRequest.ItemId = SkinName + "Bundle"; purchaseRequest.VirtualCurrency = "ST"; purchaseRequest.Price = 0; PlayFabClientAPI.PurchaseItem(purchaseRequest, result => { Debug.Log(SkinName + " added"); }, error => { Debug.Log(SkinName + " was not added added"); }); for (int j = 0; j < skinSelection.SkinDetails.Length; j++) { if (skinSelection.SkinDetails[j].Name == SkinName) { skinSelection.Locked[j] = false; } } } } }, itemError => { itemError.GenerateErrorReport(); }); }
// 购买成功后重新获取玩家的仓库信息 void OnPurchaseItem(PurchaseItemResult result) { confirmButton.GetComponentInChildren <Text>().text = "已拥有"; GetUserInventoryRequest req = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(req, OnGetUserInventory, OnPlayfabError); }
public void UpdateInventory() { //if (PV.IsMine) //{ GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, result => { List <ItemInstance> itemInstance = result.Inventory; foreach (GameObject gameObj in ItemList) { Destroy(gameObj); } foreach (ItemInstance item in itemInstance) { foreach (Weapon weaponItem in IL.weapons) { if (weaponItem.Name == item.ItemId) { GameObject o = Instantiate(ButtonObj, invArea.transform.position, Quaternion.identity); o.GetComponent <Image>().sprite = weaponItem.GetComponent <SpriteRenderer>().sprite; o.transform.SetParent(invArea.transform); ItemList.Add(o); //o.GetComponent<Button>().onClick.AddListener(delegate { MakePurchase(w.Name, w.Price); }); } } } }, error => { }); //} }
private void GetInventory(LoginResult result = null) { LockUI(); var request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, GetInventoryCallback, OnApiCallError); }
void GrantSkin(string skinName) { RewardLabel.text = skinName + " skin"; GetUserInventoryRequest items = new GetUserInventoryRequest { }; PlayFabClientAPI.GetUserInventory(items, itemInfo => { bool grant = true; foreach (var eachStat in itemInfo.Inventory) { if (skinName == eachStat.ItemId) { grant = false; } } if (grant) { var purchaseRequest = new PurchaseItemRequest(); purchaseRequest.CatalogVersion = "Skins"; purchaseRequest.ItemId = skinName + "Bundle"; purchaseRequest.VirtualCurrency = "ST"; purchaseRequest.Price = 0; PlayFabClientAPI.PurchaseItem(purchaseRequest, result => { Debug.Log(skinName + " added"); }, error => { Debug.Log(skinName + " was not added added"); }); } }, itemError => { itemError.GenerateErrorReport(); }); }
//商城面板激活时调用,获取商城道具信息,显示在商城面板中 void OnEnable() { currentPanel.text = "商 城"; shopLoadingWindow.SetActive(true); shopItemDetails.SetActive(false); foreach (GameObject go in shopItemsPanel) { go.SetActive(false); } //获取玩家仓库信息 GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGetUserInventory, OnPlayFabError); backButton.onClick.RemoveAllListeners(); backButton.onClick.AddListener(delegate { if (PhotonNetwork.inRoom) { roomPanel.SetActive(true); } else { lobbyPanel.SetActive(true); } shopPanel.SetActive(false); }); }
void GetInventory() { Debug.Log("Getting the player inventory..."); GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGetInventoryCallback, OnApiCallError); }
public async Task <bool> getCurrencies() { var request = new GetUserInventoryRequest(); var currenciesTask = await PlayFabClientAPI.GetUserInventoryAsync(request); if (currenciesTask.Error != null) { logError(currenciesTask.Error.Error.ToString(), currenciesTask.Error.ErrorMessage); await Task.Delay(1500); return(false); } else if (currenciesTask.Result != null) { freeChestRecharge = currenciesTask.Result.VirtualCurrencyRechargeTimes["BK"].SecondsToRecharge; normalChests = int.Parse(currenciesTask.Result.VirtualCurrency["PK"].ToString()); pranaGems = int.Parse(currenciesTask.Result.VirtualCurrency["PG"].ToString()); cosmicCoins = int.Parse(currenciesTask.Result.VirtualCurrency["CC"].ToString()); ascensionSpheres = int.Parse(currenciesTask.Result.VirtualCurrency["AS"].ToString()); heroChests = int.Parse(currenciesTask.Result.VirtualCurrency["KU"].ToString()) / 10; freeChestAvailable = currenciesTask.Result.VirtualCurrency["BK"].ToString() == "1" ? true : false; return(true); } await Task.Delay(1500); return(false); }
public void RequestGetPlayerInventory() { request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, InventoryResult, OnError); }
private int maxPageNumber; //总页数 //玩家仓库界面启用后,初始化仓库界面信息 void OnEnable() { currentPanel.text = "仓 库"; isEquiped = false; inventoryLoadingWindow.SetActive(true); //提示仓库数据正在加载 inventoryItemDetails.SetActive(false); foreach (GameObject go in inventoryItems) { go.SetActive(false); } //获取玩家仓库信息 GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGetUserInventory, OnPlayFabError); //为返回按钮绑定响应函数 backButton.onClick.RemoveAllListeners(); backButton.onClick.AddListener(delegate { if (PhotonNetwork.inRoom) //如果玩家在游戏房间中,点击返回按钮后,游戏界面显示游戏房间。 { roomPanel.SetActive(true); } else //如果玩家在游戏大厅中,点击返回按钮后,游戏界面显示游戏大厅。 { lobbyPanel.SetActive(true); } inventoryPanel.SetActive(false); }); }
public void GetPlayFabInventory() { var request = new GetUserInventoryRequest { }; PlayFabClientAPI.GetUserInventory(request, OnGetInventorySuccess, OnGetInventoryFailure); }
public async Task <GetUserInventoryResponse> GetUserInventory( GetUserInventoryRequest request) { return(await PostAsync <GetUserInventoryRequest, GetUserInventoryResponse>( request, CreateUri(HydraServices.UserService4, HydraMethods.GetUserInventory), compress : true)); }
/** * Initialises user inventory. */ private void InitialiseInventory() { Debug.Log("Initialising inventory"); GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnInventorySuccess, OnInventoryFailure); }
/// <summary> /// Retrieves the specified user's current inventory of virtual goods /// </summary> public static void GetUserInventory(GetUserInventoryRequest request, Action <GetUserInventoryResult> resultCallback, Action <PlayFabError> errorCallback, object customData = null) { if (PlayFabSettings.DeveloperSecretKey == null) { throw new Exception("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); } PlayFabHttp.MakeApiCall("/Admin/GetUserInventory", request, AuthType.DevSecretKey, resultCallback, errorCallback, customData); }
private void OnPurchaseItemSuccess(PurchaseItemResult result) { Debug.Log("Items Purchased"); result.Items.ForEach(Print); var request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGetUserInventorySuccess, OnGetUserInventoryFailure); }
public override void Execute() { if (_args is GetInventoryCommandArgs getInventoryArgs) { var request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGotUserInventory, OnHttpError); } }
public void GetInventory(System.Action <GetUserInventoryResult> successCallback, System.Action <PlayFabError> failureCallback) { if (failureCallback == null) { failureCallback = Callback_Generic_Error; } var request = new GetUserInventoryRequest { }; PlayFabClientAPI.GetUserInventory(request, successCallback, failureCallback); }
protected override void getPlayerInventory(Action <List <RawPlayerItem>, RawCurrencySet> successHandler, Action failureHandler) { GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory( request, result => { parseItems(result, successHandler); }, error => { Debug.LogError("Couldn't parse player inventory."); failureHandler(); } ); }
void UpdateCurrentGold() { GetUserInventoryRequest requestInventory = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(requestInventory, result => { result.VirtualCurrency.TryGetValue("GO", out curGold); GoldAmtText.text = curGold.ToString(); }, error => { Debug.Log(error.ErrorMessage); }); }
public virtual void Request() { if (IsOnline) { var request = new GetUserInventoryRequest { }; PlayFabClientAPI.GetUserInventory(request, RetrieveCallback, ErrorCallback); } else { Load <GetUserInventoryResult>(FileName, RetrieveCallback, ErrorCallback); } }
public static Promise <Inventory> GetInventory() { var promise = new Promise <Inventory>(); var request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, (result) => { try { Inventory inventory = InventoryFromItemInstanceList(result.Inventory); SuccessCallback(result); promise.Resolve(inventory); } catch (Exception ex) { promise.Reject(ex); } }, ErrorCallback); return(promise); }
public static Promise <Currency> GetCurrency(CurrencyCode currencyCode) { var promise = new Promise <Currency>(); var request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, (result) => { try { Currency currency = new Currency(currencyCode, result.VirtualCurrency[currencyCode.ToString()]); promise.Resolve(currency); GetCurrencySuccessCallback(result); } catch (Exception ex) { promise.Reject(ex); } }, ErrorCallback); return(promise); }
/// <summary> /// 仮想通貨の情報を取得 /// </summary> public void GetUserVirtualCurrency() { // 通信待ちでなかったら通信開始 if (!waitConnect.GetWait(gameObject.name)) { // 通信待ちに設定する waitConnect.AddWait(gameObject.name); //GetUserInventoryRequestのインスタンスを生成 var userInventoryRequest = new GetUserInventoryRequest(); //インベントリの情報の取得 Debug.Log($"仮想通貨の情報の取得開始"); PlayFabClientAPI.GetUserInventory(userInventoryRequest, OnSuccessGet, OnErrorGet); } }
/// <summary> /// Gets the currency value for the current user or sets it from cache /// </summary> public void GetCurrencyValue(bool showLoadScreen) { if (showLoadScreen) { loadingAnimation.SetActive(true); if (Application.internetReachability != NetworkReachability.NotReachable && PlayerPrefs.GetInt(PlayerPrefsStrings.currencyNeedsSync) == 1) { debugReporter.text = debugReporter.text + "\n" + "SyncCurrencyWhenOnline() called and needs to add: " + PlayerPrefs.GetInt(PlayerPrefsStrings.currencyValueToAddForSync).ToString(); debugReporter.text = debugReporter.text + "\n" + "SyncCurrencyWhenOnline() called and needs to substract: " + PlayerPrefs.GetInt(PlayerPrefsStrings.currencyValueToSubstractForSync).ToString(); SyncCurrencyWhenOnline(); } } debugReporter.text = debugReporter.text + "\n" + "GetCurrencyValue() called"; GetUserInventoryRequest requestInventory = new GetUserInventoryRequest(); int gold = 0; PlayFabClientAPI.GetUserInventory(requestInventory, result => { loadingAnimation.SetActive(false); result.VirtualCurrency.TryGetValue("DM", out gold); diamondCurrencyValue.Value = gold; diamonCurrencyValueText.text = gold.ToString(); PlayerPrefs.SetInt(PlayerPrefsStrings.diamondCurrencyValue, diamondCurrencyValue.Value); debugReporter.text = debugReporter.text + "\n" + "GetCurrencyValue() : refreshed diamond currency"; }, error => { if (Application.internetReachability != NetworkReachability.NotReachable) { loadingAnimation.SetActive(false); diamondCurrencyValue.Value = PlayerPrefs.GetInt(PlayerPrefsStrings.diamondCurrencyValue); diamonCurrencyValueText.text = diamondCurrencyValue.Value.ToString(); debugReporter.text = debugReporter.text + "\n" + "GetCurrencyValue() : error getting currency value" + error.GenerateErrorReport(); FindObjectOfType <ShowErrorMessageController>().SetErrorMessage("Retrieving the currency value failed: " + error.GenerateErrorReport()); } else { //Sets the currency value from player prefs if no internet connection is available diamondCurrencyValue.Value = PlayerPrefs.GetInt(PlayerPrefsStrings.diamondCurrencyValue); diamonCurrencyValueText.text = diamondCurrencyValue.Value.ToString(); } }); }
/// <summary> /// インベントリの取得 /// </summary> public IEnumerator PlayFabGetInventory() { if (!isLogin) { Debug.LogWarning("Error:PlayFab not Login"); yield break; } var getInventoryFunction = new CustomPlayFabFunction <GetUserInventoryRequest, GetUserInventoryResult>(); var request = new GetUserInventoryRequest(); getInventoryFunction.SetRequest = request; yield return(StartCoroutine(getInventoryFunction.ExecuteCoroutine(PlayFabClientAPI.GetUserInventory))); Debug.Log("Result:" + JsonUtility.ToJson(getInventoryFunction.GetResult)); inventory = getInventoryFunction.GetResult; }
private int itemsPerPage = 4; //每页显示道具个数 //玩家仓库界面启用后,初始化仓库界面信息 void OnEnable() { currentPageNumber = 1; //初始化当前房间页 maxPageNumber = 1; //初始化最大房间页 isEquiped = false; inventoryLoadingInfo.gameObject.SetActive(true); inventoryItemDetails.SetActive(false); itemsPerPage = itemMessages.Length; foreach (GameObject go in itemMessages) { go.SetActive(false); } //获取玩家仓库信息 GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGetUserInventory, OnPlayFabError); }
public void GetInventory(Callback <List <IMyItemInstance> > successCallback) { StartRequest("Getting inventory"); GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, (result) => { RequestComplete("GetInventory() complete", LogTypes.Info); List <IMyItemInstance> items = new List <IMyItemInstance>(); foreach (ItemInstance item in result.Inventory) { items.Add(new MyItemInstance() { Id = item.ItemId, Count = (int)item.RemainingUses }); } successCallback(items); }, (error) => { HandleError(error, BackendMessages.GET_INVENTORY_FAIL); }); }
public async Task <List <ItemInstance> > GetUserInventoryUsingAdminAPI(string playFabId) { PlayFabResult <GetUserInventoryResult> result; var reqGetInventory = new GetUserInventoryRequest { PlayFabId = playFabId, }; try { result = await PlayFabAdminAPI.GetUserInventoryAsync(reqGetInventory); } catch { // This is a retry, since we've seen a random issue that fails to return the user inventory // and succeeds on the following request result = await PlayFabAdminAPI.GetUserInventoryAsync(reqGetInventory); } return(result?.Result?.Inventory ?? new List <ItemInstance>()); }
private int itemsPerPage = 4; //每页显示道具个数 //商城面板激活时调用,获取商城道具信息,显示在商城面板中 void OnEnable() { currentPageNumber = 1; //初始化当前房间页 maxPageNumber = 1; //初始化最大房间页 shopLoadingInfo.gameObject.SetActive(true); shopItemDetails.SetActive(false); //lobbyLoadingLabel.SetActive (true); //启用游戏大厅加载提示信息 //roomLoadingLabel.SetActive (false); //禁用游戏房间加载提示信息 //获取房间信息面板 // RectTransform rectTransform = shopItemsPanel.GetComponent<RectTransform> (); // itemsPerPage = rectTransform.childCount; //获取房间信息面板的条目数 // // //初始化每条房间信息条目 // itemMessage = new GameObject[itemsPerPage]; // for (int i = 0; i < itemsPerPage; i++) { // itemMessage [i] = rectTransform.GetChild (i).gameObject; // itemMessage [i].SetActive (false); //禁用房间信息条目 // } itemsPerPage = itemMessages.Length; foreach (GameObject go in itemMessages) { go.SetActive(false); } //获取玩家仓库信息 GetUserInventoryRequest request = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(request, OnGetUserInventory, OnPlayFabError); // backButton.onClick.RemoveAllListeners (); //移除返回按钮绑定的所有监听事件 // backButton.onClick.AddListener (delegate() { //为返回按钮绑定新的监听事件 // PhotonNetwork.Disconnect(); //断开客户端与Photon服务器的连接 // loginPanel.SetActive(true); //启用游戏登录面板 // lobbyPanel.SetActive(false); //禁用游戏大厅面板 // userMessage.SetActive (false); //禁用玩家昵称信息 // backButton.gameObject.SetActive (false); //禁用返回按钮 // }); }
void CheckUserInventory() { GetUserInventoryRequest requestInventory = new GetUserInventoryRequest(); PlayFabClientAPI.GetUserInventory(requestInventory, result => { foreach (ItemInstance item in result.Inventory) { if (item.ItemId == "AKM") { PlayerOwnsAKM = true; } if (item.ItemId == "M4") { PlayerOwnsM4 = true; } if (item.ItemId == "L96") { PlayerOwnsL96 = true; } if (item.ItemId == "Glock") { PlayerOwnsGlock = true; } if (item.ItemId == "Shotgun") { PlayerOwnsShotgun = true; } } }, error => { Alerts a = new Alerts(); StartCoroutine(a.CreateNewAlert(error.ErrorMessage)); }); }