Files
2026-03-04 10:03:45 +08:00

106 lines
3.1 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class MyBasketInfo : MonoBehaviour
{
public Text amountInBasket;
public Text amountFishingItems;
public Text amountFishingPackages;
public Text amountFishingSets;
public Text totalPrice;
public Button BuyAllButton;
public Button RemoveAllButton;
[HideInInspector]
public ShopManager shopManager;
private void Start()
{
shopManager = Object.FindObjectOfType<ShopManager>();
UpdateMyBasket();
}
private void Update()
{
}
public void UpdateMyBasket()
{
amountInBasket.text = CountItems().ToString();
amountFishingItems.text = CountItems("ITEMS").ToString();
amountFishingPackages.text = CountItems("PACKAGES").ToString();
amountFishingSets.text = CountItems("SETS").ToString();
float num = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.GetTotalPrice();
totalPrice.text = "$ " + num;
if (num > Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerCash && !Singleton<SaveDataManager>.Instance.IsCurrentlySandbox())
{
BuyAllButton.interactable = false;
}
else
{
BuyAllButton.interactable = true;
}
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count == 0)
{
BuyAllButton.gameObject.SetActive(value: false);
RemoveAllButton.gameObject.SetActive(value: false);
}
else
{
BuyAllButton.gameObject.SetActive(value: true);
RemoveAllButton.gameObject.SetActive(value: true);
}
LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent<RectTransform>());
}
private int CountItems(string sortName = "ALL")
{
int num = 0;
for (int i = 0; i < Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Count; i++)
{
switch (sortName)
{
case "PACKAGES":
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].sortname == "PACKAGES")
{
num += Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount;
}
break;
case "SETS":
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].sortname == "SETS")
{
num += Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount;
}
break;
case "ALL":
num += Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount;
break;
case "ITEMS":
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].sortname != "SETS" && Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].sortname != "PACKAGES")
{
num += Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems[i].amount;
}
break;
}
}
return num;
}
public void RemoveAll()
{
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerShopBasket.basketItems.Clear();
if (shopManager.categories == ShopManager.Categories.Basket)
{
GameManager.TruncateContainer(shopManager.ViewItemsContent);
}
shopManager.UpdatebasketCounter();
UpdateMyBasket();
}
}