436 lines
15 KiB
C#
436 lines
15 KiB
C#
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class FishPediaManager : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private Image mainContentMaskImage;
|
|
|
|
[SerializeField]
|
|
private Camera mCamera;
|
|
|
|
[SerializeField]
|
|
private PlayerHeader playerHeader;
|
|
|
|
[SerializeField]
|
|
private Text sortText;
|
|
|
|
[SerializeField]
|
|
private Transform ButtonsContainer;
|
|
|
|
[SerializeField]
|
|
private Transform FishContentTransform;
|
|
|
|
[SerializeField]
|
|
private GameObject ButtonPrefab;
|
|
|
|
[SerializeField]
|
|
private GameObject FishPediaContentItem;
|
|
|
|
public InputField searchText;
|
|
|
|
private bool sortA;
|
|
|
|
public void SortButton()
|
|
{
|
|
bool flag = true;
|
|
GameManager.TruncateContainer(ButtonsContainer);
|
|
sortA = !sortA;
|
|
GameManager.GameFish[] array = SortAZ(sortA);
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
if (array[i].isEnabled)
|
|
{
|
|
FishPediaButtonItem component = Object.Instantiate(ButtonPrefab, ButtonsContainer).GetComponent<FishPediaButtonItem>();
|
|
component.fishNameText.text = array[i].GetFishName();
|
|
component.fishSpecies = array[i].speciesName;
|
|
if (flag && i == 0)
|
|
{
|
|
string fishName = array[i].GetFishName();
|
|
GameManager.FishSpecies speciesName = array[i].speciesName;
|
|
component.GetComponent<Hover>().isSelected = true;
|
|
flag = false;
|
|
ShowFishContent(fishName, speciesName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void LiveSearchButtons()
|
|
{
|
|
if (SRDebug.Instance.IsDebugPanelVisible)
|
|
{
|
|
return;
|
|
}
|
|
GameManager.GameFish[] array = SortAZ(sortA);
|
|
if (searchText.text.Length < 2)
|
|
{
|
|
GameManager.TruncateContainer(ButtonsContainer);
|
|
array = SortAZ(sortA);
|
|
for (int i = 0; i < array.Length; i++)
|
|
{
|
|
if (array[i].isEnabled)
|
|
{
|
|
FishPediaButtonItem component = Object.Instantiate(ButtonPrefab, ButtonsContainer).GetComponent<FishPediaButtonItem>();
|
|
component.fishNameText.text = array[i].GetFishName();
|
|
component.fishSpecies = array[i].speciesName;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
GameManager.TruncateContainer(ButtonsContainer);
|
|
for (int j = 0; j < array.Length; j++)
|
|
{
|
|
if (array[j].isEnabled && array[j].GetFishName().ToUpper().Contains(searchText.text.ToUpper()))
|
|
{
|
|
FishPediaButtonItem component2 = Object.Instantiate(ButtonPrefab, ButtonsContainer).GetComponent<FishPediaButtonItem>();
|
|
component2.fishNameText.text = array[j].GetFishName();
|
|
component2.fishSpecies = array[j].speciesName;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
}
|
|
|
|
private GameManager.GameFish[] SortAZ(bool s)
|
|
{
|
|
GameManager.GameFish[] result;
|
|
if (s)
|
|
{
|
|
result = GameManager.Instance.gameFish.OrderBy((GameManager.GameFish o) => o.GetFishName()).ToArray();
|
|
sortText.text = "A-Z";
|
|
}
|
|
else
|
|
{
|
|
result = GameManager.Instance.gameFish.OrderByDescending((GameManager.GameFish o) => o.GetFishName()).ToArray();
|
|
sortText.text = "Z-A";
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public void ShowFishContent(string fishName, GameManager.FishSpecies fishSpecies)
|
|
{
|
|
GameManager.TruncateContainer(FishContentTransform);
|
|
FishpediaContentItem component = Object.Instantiate(FishPediaContentItem, FishContentTransform).GetComponent<FishpediaContentItem>();
|
|
component.fishNameText.text = fishName.ToUpper();
|
|
component.DescriptionText.text = GetFishDescription(fishSpecies);
|
|
component.Show3D(fishSpecies);
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
if ((bool)FScriptsHandler.Instance)
|
|
{
|
|
playerHeader.gameObject.SetActive(value: true);
|
|
playerHeader.SetSelectedOptionBtn(4);
|
|
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;
|
|
}
|
|
SortButton();
|
|
}
|
|
|
|
public string GetFishDescription(GameManager.FishSpecies speciesName)
|
|
{
|
|
string result = "Description missing";
|
|
switch (speciesName)
|
|
{
|
|
case GameManager.FishSpecies.BlackBullhead:
|
|
result = LanguageManager.Instance.GetText("BLACKBULLHEAD_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Perch:
|
|
result = LanguageManager.Instance.GetText("PERCH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PerchYellow:
|
|
result = LanguageManager.Instance.GetText("YELLOW_PERCH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SalmonSockeye:
|
|
result = LanguageManager.Instance.GetText("SALMON_SOCKEYE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TroutRainbow:
|
|
result = LanguageManager.Instance.GetText("TROUT_RAINBOW_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BassSmallmouth:
|
|
result = LanguageManager.Instance.GetText("BASS_SMALLMOUTH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CommonBream:
|
|
result = LanguageManager.Instance.GetText("COMMON_BREAM_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Asp:
|
|
result = LanguageManager.Instance.GetText("ASP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CommonBarbel:
|
|
result = LanguageManager.Instance.GetText("COMMON_BARBEL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BreamSilver:
|
|
result = LanguageManager.Instance.GetText("SILVER_BREAM_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Burbot:
|
|
result = LanguageManager.Instance.GetText("BURBOT_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpCommon:
|
|
result = LanguageManager.Instance.GetText("COMMON_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpCrucian:
|
|
result = LanguageManager.Instance.GetText("CRUCIAN_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpGrass:
|
|
result = LanguageManager.Instance.GetText("GRASS_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpMirror:
|
|
result = LanguageManager.Instance.GetText("MIRROR_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpPrussian:
|
|
result = LanguageManager.Instance.GetText("PRUSSIAN_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpSezan:
|
|
result = LanguageManager.Instance.GetText("SEZAN_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CarpSilver:
|
|
result = LanguageManager.Instance.GetText("SILVER_CARP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CatfishChannel:
|
|
result = LanguageManager.Instance.GetText("CHANNEL_CATFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CatfishFlathead:
|
|
result = LanguageManager.Instance.GetText("FLATHEAD_CATFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CatfishRedtail:
|
|
result = LanguageManager.Instance.GetText("REDTAIL_CATFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CatfishWels:
|
|
result = LanguageManager.Instance.GetText("WELLS_CATFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Chub:
|
|
result = LanguageManager.Instance.GetText("CHUB_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.EuropeanGrayling:
|
|
result = LanguageManager.Instance.GetText("EUROPEAN_GRAYLING_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Ide:
|
|
result = LanguageManager.Instance.GetText("IDE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PickerelChain:
|
|
result = LanguageManager.Instance.GetText("CHAIN_PICKEREL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PickerelGrass:
|
|
result = LanguageManager.Instance.GetText("GRASS_PICKEREL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PickerelRedfin:
|
|
result = LanguageManager.Instance.GetText("REDFIN_PICKEREL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PikeAmur:
|
|
result = LanguageManager.Instance.GetText("AMUR_PIKE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PikeMuskellunge:
|
|
result = LanguageManager.Instance.GetText("MUSKELLUNGE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PikeNorthern:
|
|
result = LanguageManager.Instance.GetText("NORTHERN_PIKE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PikeSoutherm:
|
|
result = LanguageManager.Instance.GetText("SOUTHERN_PIKE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Roach:
|
|
result = LanguageManager.Instance.GetText("ROACH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Tench:
|
|
result = LanguageManager.Instance.GetText("TENCH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Zander:
|
|
result = LanguageManager.Instance.GetText("ZANDER_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BassLargemouth:
|
|
result = LanguageManager.Instance.GetText("LARGEMOUNTH_BASS_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Bluegill:
|
|
result = LanguageManager.Instance.GetText("BLURGILL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Pumpkinseed:
|
|
result = LanguageManager.Instance.GetText("PUMPKINSEED_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.AtlanticSalmon:
|
|
result = LanguageManager.Instance.GetText("ATLANTIC_SALMON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CommonBleak:
|
|
result = LanguageManager.Instance.GetText("BLEAK_COMMON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Huchen:
|
|
result = LanguageManager.Instance.GetText("HUCHEN_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BrookTrout:
|
|
result = LanguageManager.Instance.GetText("BROOK_TROUT_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BrownTrout:
|
|
result = LanguageManager.Instance.GetText("BROWN_TROUT_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.EuropeanBass:
|
|
result = LanguageManager.Instance.GetText("EUROPEAN_BASS_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.AtlanticCod:
|
|
result = LanguageManager.Instance.GetText("ATLANTIC_COD_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CrocodileNeedlefish:
|
|
result = LanguageManager.Instance.GetText("CROCODILE_NEEDLEFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.EuropeanEel:
|
|
result = LanguageManager.Instance.GetText("EUROPEAN_EEL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.EuropeanFlounder:
|
|
result = LanguageManager.Instance.GetText("EUROPEAN_FLOUNDER_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Garfish:
|
|
result = LanguageManager.Instance.GetText("GARFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.EuropeanSeaSturgeon:
|
|
result = LanguageManager.Instance.GetText("COMMON_STURGEON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SeaTrout:
|
|
result = LanguageManager.Instance.GetText("SEA_TROUT_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.Beluga:
|
|
result = LanguageManager.Instance.GetText("BELUGA_STURGEON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BaikalBlackGrayling:
|
|
result = LanguageManager.Instance.GetText("BLACK_GRAILING_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.ChumSalmon:
|
|
result = LanguageManager.Instance.GetText("CHUM_SALMON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CohoSalmon:
|
|
result = LanguageManager.Instance.GetText("COHO_SALMON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.PinkSalmon:
|
|
result = LanguageManager.Instance.GetText("PINK_SALMON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BarracudaGreat:
|
|
result = LanguageManager.Instance.GetText("GREAT_BARRACUDA_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BarracudaYellowtail:
|
|
result = LanguageManager.Instance.GetText("YELOWTAIL_BARRACUDA_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.GrouperGiant:
|
|
result = LanguageManager.Instance.GetText("GIANT_GROUPER_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.GrouperMalabar:
|
|
result = LanguageManager.Instance.GetText("MALABAR_GROUPER_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.LionfishRed:
|
|
result = LanguageManager.Instance.GetText("RED_LIONFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.MahiMahi:
|
|
result = LanguageManager.Instance.GetText("MAHI_MAHI_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkBlacktipReef:
|
|
result = LanguageManager.Instance.GetText("BLACKTIP_REEF_SHARK_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkTiger:
|
|
result = LanguageManager.Instance.GetText("TIGER_SHARK_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SnapperGrey:
|
|
result = LanguageManager.Instance.GetText("GREY_SNAPPER_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TreadfishIndian:
|
|
result = LanguageManager.Instance.GetText("INDIAN_THREADFISH_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TrevallyGiant:
|
|
result = LanguageManager.Instance.GetText("GIANT_TREVALLY_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TunaYellowfin:
|
|
result = LanguageManager.Instance.GetText("YELLOWFIN_TUNA_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.ZombieBass:
|
|
result = LanguageManager.Instance.GetText("ZOMBIE_BASS_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.BassStriped:
|
|
result = LanguageManager.Instance.GetText("BASS_STRIPED_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.DrumBlack:
|
|
result = LanguageManager.Instance.GetText("DRUM_BLACK_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.DrumRed:
|
|
result = LanguageManager.Instance.GetText("DRUM_RED_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.MarlinBlue:
|
|
result = LanguageManager.Instance.GetText("MARLIN_BLUE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkDusky:
|
|
result = LanguageManager.Instance.GetText("SHARK_DUSKY_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkSandbar:
|
|
result = LanguageManager.Instance.GetText("SHARK_SANDBAR_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkSilky:
|
|
result = LanguageManager.Instance.GetText("SHARK_SILKY_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkSpinner:
|
|
result = LanguageManager.Instance.GetText("SHARK_SPINNER_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TunaBlackfin:
|
|
result = LanguageManager.Instance.GetText("TUNA_BLACKFIN_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TunnyLittle:
|
|
result = LanguageManager.Instance.GetText("TUNNY_LITTLE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SeabassBlack:
|
|
result = LanguageManager.Instance.GetText("SEABASS_BLACK_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.MulletFlatheadGrey:
|
|
result = LanguageManager.Instance.GetText("MULLET_FLATHEAD_GREY_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SharkBlacktip:
|
|
result = LanguageManager.Instance.GetText("SHARK_BLACKTIP_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.CharArctic:
|
|
result = LanguageManager.Instance.GetText("CHAR_ARCTIC_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TroutDollyVarden:
|
|
result = LanguageManager.Instance.GetText("TROUT_DOLLY_VARDEN_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SalmonChinook:
|
|
result = LanguageManager.Instance.GetText("CHINOOK_SALMON_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TroutCutthroat:
|
|
result = LanguageManager.Instance.GetText("TROUT_CUTTHROAT_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.TroutBull:
|
|
result = LanguageManager.Instance.GetText("TROUT_BULL_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.WhitefishAlaska:
|
|
result = LanguageManager.Instance.GetText("WHITEFISH_ALASKA_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SturgeonWhite:
|
|
result = LanguageManager.Instance.GetText("STURGEON_WHITE_DESCRIPTION");
|
|
break;
|
|
case GameManager.FishSpecies.SturgeonGreen:
|
|
result = LanguageManager.Instance.GetText("STURGEON_GREEN_DESCRIPTION");
|
|
break;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
if (FScriptsHandler.Instance != null)
|
|
{
|
|
FScriptsHandler.Instance.m_Canvas.gameObject.SetActive(value: true);
|
|
}
|
|
}
|
|
}
|