/// <summary> /// /// </summary> /// <returns></returns> IEnumerator ProcessBuy() { #if ULSP && SHOP bussy = true; LoadingUI.SetActive(true); WWWForm wf = bl_DataBaseUtils.CreateWWWForm(MFPS.ULogin.FormHashParm.Name, true); wf.AddSecureField("id", bl_DataBase.Instance.LocalUser.ID); wf.AddSecureField("name", bl_DataBase.Instance.LocalUser.LoginName); wf.AddSecureField("coins", CurrentPrice); //temp add the purchase List <bl_ShopPurchase> plist = bl_DataBase.Instance.LocalUser.ShopData.ShopPurchases; bl_ShopPurchase sp = new bl_ShopPurchase(); sp.ID = previewData.ID; sp.TypeID = (int)previewData.Type; plist.Add(sp); wf.AddSecureField("line", bl_ShopData.CompilePurchases(plist)); using (UnityWebRequest w = UnityWebRequest.Post(bl_LoginProDataBase.Instance.GetUrl(bl_LoginProDataBase.URLType.Shop), wf)) { yield return(w.SendWebRequest()); if (!w.isHttpError && !w.isNetworkError) { string result = w.downloadHandler.text; if (result.Contains("done")) { bl_DataBase.Instance.LocalUser.ShopData.ShopPurchases = plist; bl_DataBase.Instance.LocalUser.Coins -= CurrentPrice; bl_LobbyUI.Instance.UpdateCoinsText(); //update all UI and Inventory InstanceItems(); ConfirmationIcon.sprite = BuyIconImage.sprite; PurchaseAnimationUI.SetActive(true); Debug.Log("Purchase successfully"); } else { Debug.LogWarning(result); } } else { Debug.LogError(w.error); } } LoadingUI.SetActive(false); bussy = false; #else yield break; #endif }
public static List <bl_ShopPurchase> DecompilePurchases(string line) { string[] split = line.Split("-"[0]); List <bl_ShopPurchase> list = new List <bl_ShopPurchase>(); for (int i = 0; i < split.Length; i++) { if (string.IsNullOrEmpty(split[i])) { continue; } string[] info = split[i].Split(","[0]); bl_ShopPurchase sp = new bl_ShopPurchase(); sp.TypeID = int.Parse(info[0]); sp.ID = int.Parse(info[1]); list.Add(sp); } return(list); }
public void AddPurchase(bl_ShopPurchase purchase) { ShopPurchases.Add(purchase); }