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"); } }
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; } }