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

104 lines
3.0 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class DLCWindow : MonoBehaviour
{
public Text dlcHeader;
public Text dlcName;
public Text dlcDescription;
public Text dlcDescriptionFisheries;
public Text dlcDescriptionSpecies;
public Text dlcDescriptionBoat;
public Image dlcIcon;
public Button buyButton;
public DLCManager.DLC_ID currentDlcId = DLCManager.DLC_ID.MORAINE_LAKE;
private void Start()
{
}
public void Refresh(DLCManager.DLC_ID dlcId)
{
currentDlcId = dlcId;
if (currentDlcId == DLCManager.DLC_ID.TEST_DLC)
{
}
DLCManager.DLCSettings dLCSettings = DLCManager.Instance.FindDLCSettings(dlcId);
if (dLCSettings.isInstalled)
{
buyButton.gameObject.SetActive(false);
}
dlcHeader.text = dLCSettings.dlcName;
dlcName.text = dLCSettings.dlcName;
dlcIcon.sprite = dLCSettings.banner;
switch (dlcId)
{
case DLCManager.DLC_ID.EQUIPMENT_01:
dlcDescription.text = Utilities.GetTranslation("GUI/DLC/SAKURA_INFO");
return;
case DLCManager.DLC_ID.TEST_DLC:
dlcDescription.text = Utilities.GetTranslation("GUI/DLC/BUNDLE_INFO");
return;
}
dlcDescriptionFisheries.text = "<color=#ffa500ff>" + Utilities.GetTranslation("TUTORIALS/FISHERY_01_HEADER") + ": </color> ";
for (int i = 0; i < GlobalSettings.Instance.levelsManager.fisheryDefinitions.Count; i++)
{
LevelsManager.FisheryDefinition fisheryDefinition = GlobalSettings.Instance.levelsManager.fisheryDefinitions[i];
if (fisheryDefinition == null || !fisheryDefinition.isAvailable || fisheryDefinition.fromDLC.Count == 0)
{
continue;
}
for (int j = 0; j < fisheryDefinition.fromDLC.Count; j++)
{
if (fisheryDefinition.fromDLC[j] == currentDlcId)
{
dlcDescriptionFisheries.text += Utilities.GetTranslation(fisheryDefinition.name);
dlcDescriptionFisheries.text += ", ";
}
}
}
dlcDescriptionFisheries.text = dlcDescriptionFisheries.text.Substring(0, dlcDescriptionFisheries.text.Length - 2);
dlcDescriptionSpecies.text = "<color=#ffa500ff>" + Utilities.GetTranslation("LEVELS/FISH_SPECIES") + ": </color> ";
for (int k = 0; k < GlobalSettings.Instance.fishManager.fishDefinitions.Count; k++)
{
FishManager.FishDefinition fishDefinition = GlobalSettings.Instance.fishManager.fishDefinitions[k];
if (fishDefinition == null || !fishDefinition.isAvailable || fishDefinition.fromDLC.Count == 0)
{
continue;
}
for (int l = 0; l < fishDefinition.fromDLC.Count; l++)
{
if (fishDefinition.fromDLC[l] == currentDlcId)
{
dlcDescriptionSpecies.text += Utilities.GetTranslation(fishDefinition.fishPrefab.fishName);
dlcDescriptionSpecies.text += ", ";
}
}
}
dlcDescriptionSpecies.text = dlcDescriptionSpecies.text.Substring(0, dlcDescriptionSpecies.text.Length - 2);
dlcDescription.text = dlcDescriptionFisheries.text + "\n\n" + dlcDescriptionSpecies.text;
}
public void Refresh(int dlcId)
{
Refresh((DLCManager.DLC_ID)dlcId);
}
public void BuyDLC()
{
}
public void BackButton()
{
MenuManager.Instance.SetPrevState();
}
}