Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/FishNetView.cs
2026-03-04 10:03:45 +08:00

100 lines
3.4 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class FishNetView : MonoBehaviour
{
public GameObject fishNetItemPrefab;
public Transform fishListContainer;
public Text fishnetLevelText;
public Text fishnetLevelWeightText;
public Text fishnetLevelWeightUnitText;
public Text fishnetLevelExpText;
public Image fishNetProgressbar;
public Transform canvasTransform;
[SerializeField]
private Button sellAllFishButton;
[SerializeField]
private Text sellAllPriceText;
private float allFishPrice;
private void Start()
{
}
private void Update()
{
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet.Count == 0)
{
sellAllPriceText.enabled = false;
sellAllFishButton.enabled = false;
}
else
{
sellAllPriceText.enabled = true;
sellAllFishButton.enabled = true;
}
}
private void OnEnable()
{
BuildFishList();
}
public void BuildFishList()
{
allFishPrice = 0f;
GameManager.TruncateContainer(fishListContainer);
RefreshFishNetInfos();
for (int i = 0; i < Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet.Count; i++)
{
FishNetItem component = Object.Instantiate(fishNetItemPrefab, fishListContainer).GetComponent<FishNetItem>();
component.fishSpecies = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].species;
component.fishWeight = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].weight;
component.uid = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].uid;
component.indexOfList = i;
component.canvasTransform = canvasTransform;
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].price == 0f)
{
component.price = GameManager.Instance.GetFishPrice((int)Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].species, Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].weight);
}
else
{
component.price = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNet[i].price;
}
allFishPrice += component.price;
sellAllPriceText.text = "$ " + allFishPrice.ToString("F2");
}
}
private void RefreshFishNetInfos()
{
float fishNetCapacity = GameManager.Instance._playerData.GetFishNetCapacity();
fishnetLevelWeightText.text = GameManager.Instance.ConvertWeightWithoutUnit(GameManager.Instance._playerData.GetUsedFishNet()).ToString("F1") + "/" + GameManager.Instance.ConvertWeightWithoutUnit(fishNetCapacity);
fishnetLevelWeightUnitText.text = GameManager.Instance.GetUnitWeight().ToUpper();
int num = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNetLevel - 1;
float fillAmount = (float)Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNetExp / (float)GameManager.Instance._playerData.fishNetMaxExp[num];
fishNetProgressbar.fillAmount = fillAmount;
fishnetLevelExpText.text = $"{Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFishNetExp} / {GameManager.Instance._playerData.fishNetMaxExp[num]}";
fishnetLevelText.text = LanguageManager.Instance.GetText("LEVEL") + " " + (num + 1);
}
public void SellAllFishButton()
{
FishNetItem[] componentsInChildren = fishListContainer.GetComponentsInChildren<FishNetItem>();
for (int i = 0; i < componentsInChildren.Length; i++)
{
componentsInChildren[i].SellFishNoSound();
}
}
}