public void Buy(Consumable c) { PlayerData.instance.coins -= c.GetPrice(); PlayerData.instance.premium -= c.GetPremiumCost(); PlayerData.instance.Add(c.GetConsumableType()); PlayerData.instance.Save(); #if UNITY_ANALYTICS // Using Analytics Standard Events v0.3.0 var transactionId = System.Guid.NewGuid().ToString(); var transactionContext = "store"; var level = PlayerData.instance.rank.ToString(); var itemId = c.GetConsumableName(); var itemType = "consumable"; var itemQty = 1; AnalyticsEvent.ItemAcquired( AcquisitionType.Soft, transactionContext, itemQty, itemId, itemType, level, transactionId ); if (c.GetPrice() > 0) { AnalyticsEvent.ItemSpent( AcquisitionType.Soft, // Currency type transactionContext, c.GetPrice(), itemId, PlayerData.instance.coins, // Balance itemType, level, transactionId ); } if (c.GetPremiumCost() > 0) { AnalyticsEvent.ItemSpent( AcquisitionType.Premium, // Currency type transactionContext, c.GetPremiumCost(), itemId, PlayerData.instance.premium, // Balance itemType, level, transactionId ); } #endif Refresh(); }
public override void Populate() { m_RefreshCallback = null; foreach (Transform t in listRoot) { Destroy(t.gameObject); } GameObject fishItem = Instantiate(fishPrefabItem); fishItem.transform.SetParent(listRoot, false); fishItem.GetComponent <ShopItemListItem>() .buyButton .onClick .AddListener(delegate() { PlayerData.instance.coins += cheatFishCount; PlayerData.instance.Save(); }); GameObject premiumItem = Instantiate(premiumPrefabItem); premiumItem.transform.SetParent(listRoot, false); premiumItem.GetComponent <ShopItemListItem>() .buyButton .onClick .AddListener(delegate() { PlayerData.instance.premium += cheatPremiumCount; PlayerData.instance.Save(); }); for (int i = 0; i < s_ConsumablesTypes.Length; ++i) { Consumable c = ConsumableDatabase.GetConsumbale(s_ConsumablesTypes[i]); if (c != null) { GameObject newEntry = Instantiate(prefabItem); newEntry.transform.SetParent(listRoot, false); ShopItemListItem itm = newEntry.GetComponent <ShopItemListItem>(); itm.buyButton.image.sprite = itm.buyButtonSprite; itm.nameText.text = c.GetConsumableName(); itm.icon.sprite = c.icon; itm.countText.gameObject.SetActive(true); itm.buyButton.onClick.AddListener(delegate() { Buy(c); }); m_RefreshCallback += delegate() { RefreshButton(itm, c); }; RefreshButton(itm, c); } } }
public override void Populate() { m_RefreshCallback = null; foreach (Transform t in listRoot) { Destroy(t.gameObject); } for (int i = 0; i < s_ConsumablesTypes.Length; ++i) { Consumable c = ConsumableDatabase.GetConsumbale(s_ConsumablesTypes[i]); if (c != null) { prefabItem.InstantiateAsync().Completed += (op) => { if (op.Result == null || !(op.Result is GameObject)) { Debug.LogWarning(string.Format("Unable to load item shop list {0}.", prefabItem.Asset.name)); return; } GameObject newEntry = op.Result; newEntry.transform.SetParent(listRoot, false); ShopItemListItem itm = newEntry.GetComponent <ShopItemListItem>(); itm.buyButton.image.sprite = itm.buyButtonSprite; itm.nameText.text = c.GetConsumableName(); itm.pricetext.text = c.GetPrice().ToString(); if (c.GetPremiumCost() > 0) { itm.premiumText.transform.parent.gameObject.SetActive(true); itm.premiumText.text = c.GetPremiumCost().ToString(); } else { itm.premiumText.transform.parent.gameObject.SetActive(false); } itm.icon.sprite = c.icon; itm.countText.gameObject.SetActive(true); itm.buyButton.onClick.AddListener(delegate() { Buy(c); }); m_RefreshCallback += delegate() { RefreshButton(itm, c); }; RefreshButton(itm, c); }; } } }
public void AddIngredient(Consumable newIngredient) { string ingType = newIngredient.GetConsumableName(); if (!ingredientQueue.ContainsKey(ingType)) { ingredientQueue.Add(ingType, 1); } else { int currentQuantity = ingredientQueue[ingType]; ingredientQueue[ingType] = currentQuantity + 1; } }
public override void Populate() { m_RefreshCallback = null; foreach (Transform t in listRoot) { Destroy(t.gameObject); } for (int i = 0; i < s_ConsumablesTypes.Length; ++i) { Consumable c = ConsumableDatabase.GetConsumbale(s_ConsumablesTypes[i]); if (c != null) { GameObject newEntry = Instantiate(prefabItem); newEntry.transform.SetParent(listRoot, false); ShopItemListItem itm = newEntry.GetComponent <ShopItemListItem>(); itm.buyButton.image.sprite = itm.buyButtonSprite; itm.nameText.text = c.GetConsumableName(); itm.pricetext.text = c.GetPrice().ToString(); if (c.GetPremiumCost() > 0) { itm.premiumText.transform.parent.gameObject.SetActive(true); itm.premiumText.text = c.GetPremiumCost().ToString(); } else { itm.premiumText.transform.parent.gameObject.SetActive(false); } itm.icon.sprite = c.icon; itm.countText.gameObject.SetActive(true); itm.buyButton.onClick.AddListener(delegate() { Buy(c); }); m_RefreshCallback += delegate() { RefreshButton(itm, c); }; RefreshButton(itm, c); } } }