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

102 lines
3.1 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class FishPersonalRecord : MonoBehaviour
{
public GameObject fishRecordPrefab;
public Transform fishContainer;
[SerializeField]
private Image mainContentMaskImage;
[SerializeField]
private Camera mCamera;
[SerializeField]
private PlayerHeader playerHeader;
public void ShowFish()
{
GameManager.TruncateContainer(fishContainer);
for (int i = 0; i < GameManager.Instance.gameFish.Length; i++)
{
if (!GameManager.Instance.gameFish[i].isEnabled)
{
continue;
}
PersonalRecordItem component = Object.Instantiate(fishRecordPrefab, fishContainer).GetComponent<PersonalRecordItem>();
component.fishName.text = GameManager.Instance.gameFish[i].GetFishName();
int num = CheckRecordFish(GameManager.Instance.gameFish[i].speciesName);
component.id = -1;
if (num > -1)
{
float weight = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerPersonalRecords[num].weight;
component.id = num;
component.fishIcon.sprite = GameManager.Instance.gameFish[i].GetFishIcon(weight);
component.fishIcon.color = Color.white;
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerPersonalRecords[num].isNew)
{
component.NewImage.gameObject.SetActive(value: true);
}
component.dateText.text = Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerPersonalRecords[num].catchDate;
component.mapNameText.text = GameManager.Instance.gameLocations[Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerPersonalRecords[num].mapId].name;
component.fishLengthText.text = GameManager.Instance.ConvertWeightFishToLengthWithUnit(GameManager.Instance.gameFish[i].speciesName, weight);
component.fishWeightText.text = GameManager.Instance.ConvertWeight(weight);
}
else
{
component.fishIcon.sprite = GameManager.Instance.gameFish[i].GetIconImage(0);
component.fishIcon.color = Color.black;
component.fishLengthText.text = "-" + GameManager.Instance.GetUnitLength();
component.fishWeightText.text = "-" + GameManager.Instance.GetUnitWeight();
}
}
}
private int CheckRecordFish(GameManager.FishSpecies fishSpecies)
{
for (int i = 0; i < Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerPersonalRecords.Count; i++)
{
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerPersonalRecords[i].fishSpecies == fishSpecies)
{
return i;
}
}
return -1;
}
private void OnEnable()
{
ShowFish();
}
private void Start()
{
if ((bool)FScriptsHandler.Instance)
{
playerHeader.gameObject.SetActive(value: true);
mainContentMaskImage.enabled = true;
FScriptsHandler.Instance.m_Canvas.gameObject.SetActive(value: false);
}
else if (Object.FindObjectOfType<Residence>() != null)
{
playerHeader.gameObject.SetActive(value: true);
mainContentMaskImage.enabled = true;
}
else
{
playerHeader.gameObject.SetActive(value: false);
mainContentMaskImage.enabled = false;
}
}
private void OnDestroy()
{
if (FScriptsHandler.Instance != null)
{
FScriptsHandler.Instance.m_Canvas.gameObject.SetActive(value: true);
}
}
}