Example #1
0
    void OnItemPurchased(int index)
    {
        Theme      theme  = themeDB.GetTheme(index);
        ShopItemUI uiItem = GetItemUI(index);

        if (GameDataManager.CanPurchaseTheme(theme.price))
        {
            themeDB.PurchaseTheme(index);
            uiItem.SetThemeAsPurchased();
            uiItem.OnItemSelect(index, OnItemSelected);

            GameDataManager.AddPurchasedTheme(index);
        }
        else
        {
            Debug.Log("Cant enough high score");
        }
    }
Example #2
0
    void GenerateShopItemsUI()
    {
        for (int i = 0; i < GameDataManager.GetAllPurchasedThemes().Count; i++)
        {
            int purchasedThemeIndex = GameDataManager.GetPurchasedTheme(i);
            themeDB.PurchaseTheme(purchasedThemeIndex);
        }


        itemHeight = shopItemsContainer.GetChild(0).GetComponent <RectTransform>().sizeDelta.y;
        Destroy(shopItemsContainer.GetChild(0).gameObject);

        shopItemsContainer.DetachChildren();

        for (int i = 0; i < themeDB.ThemesCount; i++)
        {
            Theme      theme  = themeDB.GetTheme(i);
            ShopItemUI uiItem = Instantiate(itemPrefab, shopItemsContainer).GetComponent <ShopItemUI>();

            uiItem.SetItemPosition(Vector2.down * i * (itemHeight + itemSpacing));
            uiItem.gameObject.name = "Theme " + i + "-" + theme.name;

            uiItem.SetThemeName(theme.name);
            uiItem.SetThemeImage(theme.image);
            uiItem.SetPriceText(theme.price);

            if (theme.isPurchased)
            {
                uiItem.SetThemeAsPurchased();
                uiItem.OnItemSelect(i, OnItemSelected);
            }
            else
            {
                uiItem.SetPriceText(theme.price);
                uiItem.OnItemPurchase(i, OnItemPurchased);
            }

            shopItemsContainer.GetComponent <RectTransform>().sizeDelta = Vector2.up * (itemHeight + itemSpacing) * themeDB.ThemesCount;
        }
    }