using UnityEngine; using UnityEngine.UI; public class FisheryManager : MonoBehaviour { private LevelsManager levelsManager; public Text fisheryNrText; public Text fisheryNameText; public Text fisheryDescriptionText; public Text fisherySoonText; public Text fisheryFishSpeciesText; public Text fisheryLocationText; public Text fisheryHasRequirementsText; public Text fisheryLockedText; public Text fisheryEntryLicencesText; public Text fisheryLevelText; public GameObject dlcInfoParent; public Image dlcBanner; public Button btnRateDLC; public Button btnMissionPlay; public Button btnBuyLicence; public Dropdown gameTypeDropdown; [Space(10f)] public Image thumbnail; public Sprite thumbnailDefaultSprite; private void Awake() { } private void Start() { levelsManager = GlobalSettings.Instance.levelsManager; thumbnailDefaultSprite = thumbnail.sprite; RefreshInfo(); } private void OnEnable() { if (!GameController.Instance) { if ((bool)levelsManager) { RefreshInfo(); } GlobalSettings.Instance.levelsManager.isTournament = false; } } private void Update() { } public void ChangeMission(bool next) { levelsManager.currentFishery += (next ? 1 : (-1)); if (levelsManager.currentFishery < 0) { levelsManager.currentFishery = levelsManager.fisheryDefinitions.Count - 1; } else if (levelsManager.currentFishery >= levelsManager.fisheryDefinitions.Count) { levelsManager.currentFishery = 0; } RefreshInfo(); LevelsManager.FisheryDefinition currentFishery = levelsManager.GetCurrentFishery(); if (((bool)currentFishery.onlyCheat && !GlobalSettings.Instance.turnOnCheats) || ((bool)currentFishery.onlyInBeta && !GlobalSettings.Instance.isBeta && !GlobalSettings.Instance.turnOnCheats) || (!currentFishery.isAvailable && !currentFishery.isAvailableFromDLCs && !GlobalSettings.Instance.turnOnMyCheats)) { ChangeMission(next); } } public void RefreshInfo() { LevelsManager.FisheryDefinition currentFishery = levelsManager.GetCurrentFishery(); bool flag = (bool)currentFishery.isAvailable || GlobalSettings.Instance.turnOnMyCheats || ((bool)currentFishery.onlyCheat && GlobalSettings.Instance.turnOnCheats) || ((bool)currentFishery.onlyInBeta && (GlobalSettings.Instance.isBeta || GlobalSettings.Instance.turnOnCheats)); if (!currentFishery.isAvailableFromDLCs && !GlobalSettings.Instance.turnOnMyCheats) { flag = false; } fisheryNrText.text = Utilities.GetTranslation("MENU_MISSION") + " " + (levelsManager.currentFishery + 1); fisheryNameText.text = Utilities.GetTranslation(currentFishery.name); fisheryDescriptionText.text = Utilities.GetTranslation(currentFishery.description, true).Trim(); fisheryDescriptionText.GetComponent().Fix(); fisheryLocationText.text = Utilities.GetTranslation(currentFishery.location); bool flag2 = levelsManager.CheckMissionRequirements(levelsManager.currentFishery); fisheryLockedText.gameObject.SetActive(!levelsManager.GetCurrentFishery().isUnlocked); fisheryHasRequirementsText.gameObject.SetActive(false); if ((bool)currentFishery.thumbnail && (bool)currentFishery.isUnlocked) { thumbnail.sprite = currentFishery.thumbnail; } else { thumbnail.sprite = thumbnailDefaultSprite; } fisheryNameText.gameObject.SetActive(currentFishery.isUnlocked); fisheryDescriptionText.gameObject.SetActive(currentFishery.isUnlocked); fisheryEntryLicencesText.text = Utilities.GetTranslation("LEVELS/ENTRY_LICENCE") + ": " + currentFishery.availableEntries; fisheryEntryLicencesText.gameObject.SetActive(false); btnBuyLicence.gameObject.SetActive((int)currentFishery.availableEntries == 0 && flag2); btnBuyLicence.GetComponentInChildren().text = string.Concat(Utilities.GetTranslation("LEVELS/BUY_LICENCE"), " ", currentFishery.entryPriceSmall, "$"); btnBuyLicence.interactable = (int)currentFishery.entryPriceSmall <= (int)GlobalSettings.Instance.playerSettings.playersMoney; fisheryLevelText.text = Utilities.GetTranslation("GUI/SHOP_REQUIRED_LEVEL") + " " + currentFishery.requiredLevel; fisheryLevelText.gameObject.SetActive((int)GlobalSettings.Instance.playerSettings.playersLevel < currentFishery.requiredLevel); btnMissionPlay.gameObject.SetActive(flag && flag2 && (int)currentFishery.availableEntries != 0); gameTypeDropdown.gameObject.SetActive(btnMissionPlay.gameObject.activeSelf); if ((currentFishery.unitySceneName == "PinasBayOcean" && (int)levelsManager.GetFisheryByName("PinasBay").availableEntries != 0) || (currentFishery.unitySceneName == "PinasBay" && (int)levelsManager.GetFisheryByName("PinasBayOcean").availableEntries != 0)) { btnMissionPlay.gameObject.SetActive(true); gameTypeDropdown.gameObject.SetActive(true); btnBuyLicence.gameObject.SetActive(false); currentFishery.availableEntries = 1; } float num = ((!currentFishery.isAvailableFromDLCs) ? 0.8f : 1f); thumbnail.color = new Color(num, num, num); dlcInfoParent.SetActive(!currentFishery.isAvailableFromDLCs); if (currentFishery.fromDLC.Count > 0) { dlcBanner.sprite = DLCManager.Instance.FindDLCSettings(currentFishery.fromDLC[0]).banner; } btnRateDLC.gameObject.SetActive(currentFishery.fromDLC.Count > 0 && (bool)currentFishery.isAvailableFromDLCs && btnMissionPlay.gameObject.activeSelf); if (!flag) { fisheryEntryLicencesText.gameObject.SetActive(false); btnBuyLicence.gameObject.SetActive(false); btnMissionPlay.gameObject.SetActive(false); fisheryLevelText.gameObject.SetActive(false); } fisheryFishSpeciesText.text = string.Empty; for (int i = 0; i < currentFishery.fishSpecies.Count; i++) { FishManager.FishDefinition fishDefinition = GlobalSettings.Instance.fishManager.GetFishDefinition(currentFishery.fishSpecies[i]); if (fishDefinition == null) { continue; } bool flag3 = fishDefinition.fromDLC.Count > 0 && fishDefinition.fromDLC[0] == DLCManager.DLC_ID.FISH_01 && !fishDefinition.isAvailableFromDLCs; if (!flag3 && (fishDefinition.isAvailable || GlobalSettings.Instance.turnOnCheats || (fishDefinition.onlyInBeta && GlobalSettings.Instance.isBeta))) { if (flag3) { fisheryFishSpeciesText.text += ""; } Text text = fisheryFishSpeciesText; text.text = text.text + "* " + Utilities.GetTranslation(fishDefinition.fishPrefab.fishName); if (flag3) { fisheryFishSpeciesText.text += " (Fish Pack DLC) "; } if (i < currentFishery.fishSpecies.Count - 1) { fisheryFishSpeciesText.text += "\n"; } } } } public void BuyEntry(bool small) { LevelsManager.FisheryDefinition currentFishery = levelsManager.GetCurrentFishery(); levelsManager.AddLicences(levelsManager.currentFishery, small ? 1 : 10); GlobalSettings.Instance.playerSettings.AddMoney(small ? (-(int)currentFishery.entryPriceSmall) : 0); GlobalSettings.Instance.playerSettings.Save(); RefreshInfo(); } public void BuyDLC() { DLCManager.Instance.BuyDLC(levelsManager.GetCurrentFishery().fromDLC[0]); } public void RateDLC() { Utilities.OpenURL(DLCManager.Instance.FindDLCSettings(levelsManager.GetCurrentFishery().fromDLC[0]).GetDLCReviewUrl()); } }