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();
    }
Example #2
0
    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);
                };
            }
        }
    }
Example #4
0
    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);
            }
        }
    }