Пример #1
0
    /// <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
    }
Пример #2
0
    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);
    }
Пример #3
0
 public void AddPurchase(bl_ShopPurchase purchase)
 {
     ShopPurchases.Add(purchase);
 }