using UnityEngine; using UnityEngine.UI; public class BasketItem : MonoBehaviour { public Text itemName; public Text itemCategory; public Text itemPrice; public Text itemPriceOff; public InputField inputQty; public Button buyButton; public int ID; public ShopManager.Categories category; public int itemID; public string sortName = "ALL"; public float price; public int amount; public Color overPriceColor = Color.red; [HideInInspector] public ShopManager shopManager; private void Start() { itemCategory.text = category.ToString() + " -> " + sortName; Debug.Log("amount: " + amount); inputQty.text = amount.ToString(); } private void Update() { } public void AddSubAmount(int value) { for (int i = 0; i < Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID) { Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount += value; if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount < 1) { Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 1; } if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount > 99) { Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 99; } inputQty.text = Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount.ToString(); amount = Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount; updatePrice(); GameManager.Instance.PlayOnClickSound(); } } } public void updatePrice() { for (int i = 0; i < Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID) { float prize = Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].GetPrize(); itemPrice.text = "$ " + prize; price = prize; if (prize > Singleton.Instance.GetCurrentPlayerData().PlayerCash || Singleton.Instance.IsCurrentlySandbox()) { buyButton.interactable = false; itemPrice.color = overPriceColor; } else { buyButton.interactable = true; itemPrice.color = Color.white; } } } } public void onChangeInputQtyValue() { for (int i = 0; i < Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID) { Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = int.Parse(inputQty.text); if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount < 1) { Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 1; } if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount > 99) { Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 99; } amount = Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount; shopManager.myBasketInfo.UpdateMyBasket(); updatePrice(); } } } public void RemoveItem() { for (int i = 0; i < Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID) { GameManager.Instance.PlayOnClickSound(); Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Remove(Singleton.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i]); shopManager.UpdatebasketCounter(); shopManager.myBasketInfo.UpdateMyBasket(); updatePrice(); Object.Destroy(base.gameObject); } } } public void ShowItem() { GameManager.Instance.PlayOnClickSound(); shopManager.currentItemShop = base.gameObject; shopManager.ShowShopItem(category, itemID, sortName); } public void BuyItemOneByButton() { GameManager.Instance.PlayOnClickSound(); shopManager.BuyItem(category, itemID, amount, price); RemoveItem(); Debug.Log("Buy: " + amount + " by " + price); GameManager.Instance.ShowMessagePopup(LanguageManager.Instance.GetText("BUY_ONE_DONE"), shopManager.transform, deleteLast: true); } }