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