106 lines
3.1 KiB
C#
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();
|
|
}
|
|
}
|