Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/EncyclopediaWidget.cs
2026-02-21 16:45:37 +08:00

83 lines
2.5 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class EncyclopediaWidget : MonoBehaviour
{
public GameObject dlcInfoParent;
public Image dlcBanner;
public Text fishNameText;
public Text fishDescriptionText;
public Text caughtCountText;
public Image fishIcon;
public Image foreground;
public Slider speciesLevelSlider;
public Text biggestWeightText;
public Text biggestLengthText;
public Text biggestFisheryText;
[HideInInspector]
public FishManager.FishDefinition fishDefinition;
[HideInInspector]
public EncyclopediaGUI encyclopediaGUI;
public void SetFish(FishManager.FishDefinition fishDef)
{
fishDefinition = fishDef;
}
public void RefreshWidget()
{
dlcInfoParent.SetActive(!fishDefinition.isAvailableFromDLCs);
if (fishDefinition.fromDLC.Count > 0)
{
dlcBanner.sprite = DLCManager.Instance.FindDLCSettings(fishDefinition.fromDLC[0]).banner;
}
if (fishDefinition.icon != null)
{
fishIcon.sprite = fishDefinition.icon;
}
fishNameText.text = Utilities.GetTranslation(fishDefinition.fishPrefab.fishName);
fishDescriptionText.text = Utilities.GetTranslation(fishDefinition.fishPrefab.fishDescription);
caughtCountText.text = string.Empty + fishDefinition.caughtCount;
speciesLevelSlider.value = fishDefinition.caughtCount;
speciesLevelSlider.fillRect.gameObject.SetActive((float)fishDefinition.caughtCount > 0f);
biggestWeightText.text = string.Empty + ((fishDefinition.length != 0f) ? UtilitiesUnits.GetWeightString(fishDefinition.weight) : " -");
biggestLengthText.text = string.Empty + ((fishDefinition.length != 0f) ? UtilitiesUnits.GetLengthString(fishDefinition.length) : " -");
biggestFisheryText.text = string.Empty + ((fishDefinition.length != 0f) ? Utilities.GetTranslation(fishDefinition.fishery) : " -");
foreground.gameObject.SetActive(false);
}
public void RefreshGUI()
{
if (fishDefinition.fromDLC.Count > 0 && (fishDefinition.fromDLC[0] == DLCManager.DLC_ID.THAILAND || fishDefinition.fromDLC[0] == DLCManager.DLC_ID.FISH_01) && GlobalSettings.Instance.turnOnMyCheats)
{
fishDefinition.isAvailableFromDLCs = true;
}
if (fishDefinition.isAvailableFromDLCs)
{
encyclopediaGUI.RefreshWidget(fishDefinition);
}
else
{
DLCManager.Instance.BuyDLC(fishDefinition.fromDLC[0]);
}
}
public void ShowFish()
{
encyclopediaGUI.modelViewerManager.InstantiateObject(fishDefinition.fishPrefab.GetComponent<ModelViewerObject>(), fishDefinition.fishPrefab.fishName);
MenuManager.Instance.ChangeState(MenuManager.MenuState.MODEL_VIEWER);
}
}