/* * private void OnSubmitSuccess(object sender, ShopBuyStoneArguments arg) * { * if(string.IsNullOrEmpty(arg.ResponseBaseInfo1.Error)) * { * if(arg.ResponseBaseInfo1.ResponseCode.Equals("0")) * { * this.Success(StoreKitHelper.ComfirmTransaction(this.transactionID)); * } * else * { * this.Success(StoreKitHelper.ComfirmTransaction(this.transactionID)); * } * } * else * { * this.Success(null); * } * } */ private void Success(string comfirmedProduct) { this.ShopModule.State = comfirmedProduct == null ? ShopActionState.Idle : ShopActionState.Success; if (this.SuccessorContext == null) { this.ShopModule.ChangeContext(new IdleContext()); } else { this.ShopModule.State = ShopActionState.Operating; FetchContext fetchContext = this.SuccessorContext as FetchContext; this.ShopModule.ChangeContext(this.SuccessorContext); if (fetchContext != null) { fetchContext.StartFetch(); } } if (comfirmedProduct == null) { return; } ShopItemInformation info = new ShopItemInformation(); //info.Initialize(Json.jsonDecode(comfirmedProduct) as Hashtable); this.ShopModule.OnPurchaseSuccessed(info); }
public void Buy(string purchaseID, string productID) { Debug.Log("buying!"); NdShopUtility shopUtility = (NdShopUtility)this.ShopModule; PlayerPrefs.SetString(NdShopUtility.UNCONFIRMED_PURCHASE_ID_KEY, purchaseID); PlayerPrefs.Save(); ShopItemInformation item = shopUtility.ProductsDict[productID]; NdCenter.Instace.Buy(purchaseID, productID, item.LocaleTitle, double.Parse(item.Price), double.Parse(item.Price), 1, ""); }
private List <ShopItemInformation> ConstructShopItemInformation() { string products = StoreKitHelper.GetValidProducts(); Debug.Log(products); if (products == null) { return(null); } ArrayList productList = JsonUtility.jsonDecode(products) as ArrayList; if (productList == null) { return(null); } List <ShopItemInformation> temp = new List <ShopItemInformation>(); foreach (object product in productList) { Hashtable info = product as Hashtable; if (info == null) { return(null); } ShopItemInformation itemInformation = new ShopItemInformation(); itemInformation.Initialize(info); temp.Add(itemInformation); } List <ShopItemInformation> result = new List <ShopItemInformation>(); List <ProductConfigData> productsData = ((iOSShopUtility)this.ShopModule).ProductsData; foreach (ProductConfigData p in productsData) { foreach (ShopItemInformation info in temp) { if (p.ProductID.Equals(info.ProductID)) { info.GemQuantity = p.GemQuantity; info.IconName = p.IconName; result.Add(info); break; } } } return(result); }
private List <ShopItemInformation> ConstructShopItemInformation() { string products = StoreKitHelper.GetValidProducts(); Debug.Log(products); if (products == null) { return(null); } ArrayList productList = new ArrayList(); //= Json.jsonDecode(products) as ArrayList; if (productList == null) { return(null); } List <ShopItemInformation> results = new List <ShopItemInformation>(); foreach (object product in productList) { Hashtable info = product as Hashtable; if (info == null) { return(null); } ShopItemInformation itemInformation = new ShopItemInformation(); itemInformation.Initialize(info); results.Add(itemInformation); } /* * results.Sort((x, y) => * { * if(float.Parse(x.Price) < float.Parse(y.Price)) * { * return -1; * } * else if(float.Parse(x.Price) > float.Parse(y.Price)) * { * return 1; * } * return 0; * }); */ return(results); }
private void InitialProductItems() { this.m_ProductsDict = new Dictionary <string, ShopItemInformation>(); List <ProductConfigData> products = ConfigInterface.Instance.ProductConfigHelper.GetProducts(PlatformType.Nd); List <ShopItemInformation> result = new List <ShopItemInformation>(); for (int i = 0; i < products.Count; i++) { ShopItemInformation info = new ShopItemInformation(); info.Initialize(products[i]); this.m_ProductsDict.Add(info.ProductID, info); result.Add(info); } this.OnRequestSuccessed(result); }
public override void Execute() { if (!m_IsConfirm) { string purchaseID = PlayerPrefs.GetString(NdShopUtility.UNCONFIRMED_PURCHASE_ID_KEY); string productID = PlayerPrefs.GetString(NdShopUtility.UNCONFIRMED_PRODUCT_ID_KEY); ConfirmNdPurchaseRequestParameter request = new ConfirmNdPurchaseRequestParameter(); request.PurchaseID = purchaseID; request.ProductID = productID; CommunicationUtility.Instance.ConfirmNdPurchase(request, this.ShopModule, "ReceivedConfirmResponse", true); this.m_IsConfirm = true; } else { NdShopUtility ndShopUtility = (NdShopUtility)this.ShopModule; if (ndShopUtility.IsReceivedConfirmResponse) { NdIdleContext context = new NdIdleContext(); this.ShopModule.ChangeContext(context); if (string.IsNullOrEmpty(ndShopUtility.CurrentConfirmError)) { this.ShopModule.State = ShopActionState.Success; string productID = PlayerPrefs.GetString(NdShopUtility.UNCONFIRMED_PRODUCT_ID_KEY); ShopItemInformation shopItem = ndShopUtility.ProductsDict[productID]; this.ShopModule.OnPurchaseSuccessed(shopItem); } else { this.ShopModule.State = ShopActionState.Fail; this.ShopModule.OnPurchaseFailed(new PurchaseFailInformation() { Reason = PurchaseFailedReason.ComfirmFail, ErrorDescription = ndShopUtility.CurrentConfirmError }); } PlayerPrefs.DeleteKey(NdShopUtility.UNCONFIRMED_PURCHASE_ID_KEY); PlayerPrefs.DeleteKey(NdShopUtility.UNCONFIRMED_PRODUCT_ID_KEY); PlayerPrefs.Save(); } } }
public void OnPurchaseSuccessed(ShopItemInformation shopItem) { this.m_PurchaseSuccessedListeners.Invoke(shopItem); this.m_PurchasedItem = shopItem; }
public void Purchase(ShopItemInformation shopItem) { this.m_PlayerModule.Receive(0, 0, 0, shopItem.GemQuantity); }