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