146 lines
4.8 KiB
C#
146 lines
4.8 KiB
C#
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<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++)
|
|
{
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID)
|
|
{
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount += value;
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount < 1)
|
|
{
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 1;
|
|
}
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount > 99)
|
|
{
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 99;
|
|
}
|
|
inputQty.text = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount.ToString();
|
|
amount = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount;
|
|
updatePrice();
|
|
GameManager.Instance.PlayOnClickSound();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void updatePrice()
|
|
{
|
|
for (int i = 0; i < Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++)
|
|
{
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID)
|
|
{
|
|
float prize = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].GetPrize();
|
|
itemPrice.text = "$ " + prize;
|
|
price = prize;
|
|
if (prize > Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerCash || Singleton<SaveDataManager>.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<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++)
|
|
{
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID)
|
|
{
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = int.Parse(inputQty.text);
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount < 1)
|
|
{
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 1;
|
|
}
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount > 99)
|
|
{
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount = 99;
|
|
}
|
|
amount = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount;
|
|
shopManager.myBasketInfo.UpdateMyBasket();
|
|
updatePrice();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void RemoveItem()
|
|
{
|
|
for (int i = 0; i < Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++)
|
|
{
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].id == ID)
|
|
{
|
|
GameManager.Instance.PlayOnClickSound();
|
|
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Remove(Singleton<SaveDataManager>.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);
|
|
}
|
|
}
|