/// <summary> /// Request for buy an item. /// </summary> /// <param name="callback"></param> public static void RequestBuyItem(string itemid, int quantity, GrdEventHandler <GrdPurchaseRequest> callback) { Dictionary <string, string> pars = new Dictionary <string, string>(); pars["itemid"] = itemid; pars["quantity"] = quantity.ToString(); handler.Post((data) => { Dictionary <string, object> result = GetObjectData(data); if (callback != null) { int error = int.Parse(result["error"].ToString()); GrdEventArgs <GrdPurchaseRequest> args = null; if (error == 0) { GrdPurchaseRequest request = new GrdPurchaseRequest(); request.RequestId = result["requestid"].ToString(); args = new GrdEventArgs <GrdPurchaseRequest>(error, "", data, request); } else { args = new GrdEventArgs <GrdPurchaseRequest>(error, result["message"].ToString(), data, null); } callback(error, args); } }, "requestpurchase", pars); }
private void ShowBuy(int itemIndex) { Grd.GrdManager.RequestBuyItem(items[itemIndex].itemcode, 1, (error, args) => { if (error == 0) { allowChecking = true; request = args.Data; requestPanel.SetActive(true); requestPanel.transform.GetChild(0).Find("ItemName").GetComponent <Text>().text = items[itemIndex].itemname; requestPanel.transform.GetChild(0).Find("Price").GetComponent <Text>().text = items[itemIndex].price.ToString(); requestPanel.transform.GetChild(0).Find("RequestStatus").GetComponent <Text>().text = "Waiting for purchase..."; Grd.GrdManager.GetRequestPurchaseQRCode(request.RequestId, (err1, args1) => { if (err1 == 0) { var qrcode = args1.Data; requestPanel.transform.GetChild(0).Find("QRCode").GetComponent <Image>().sprite = Sprite.Create(qrcode, new Rect(0, 0, qrcode.width, qrcode.height), new Vector2(0.5f, 0.5f)); } }); StartCoroutine(DownLoadIcon(items[itemIndex].itemicon, requestPanel.transform.GetChild(0).Find("ItemIcon").GetComponent <Image>())); } }); }