using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class EquipmentManager : MonoBehaviour { public enum ViewMode { Normal = 0, Popup = 1 } public ViewMode viewMode; public PlayerHeader playerHeader; public Camera mCamera; public Image mainContentMaskImage; public int currentSlotIndex = -1; public Text infoSlotName; public Transform[] slotButtons; public Button[] resetButtons; public Image[] damageSignSlot; public Transform slotItemsContent; public Transform normalItemsContent; public Transform popupItemsContent; public GameObject slotItemPrefab; public GameObject slotItemInfoBarPrefab; public Transform infoSlotContainer; public GameObject infoItemSlotInfoPrefab; private GameObject infoBarSlotAnim; public Image brandLogoImage; public bool debugMode; [HideInInspector] public GameManager.ItemType itemtypeToDelete; [HideInInspector] public int uniqueIdItemToDelete = -1; private int lastCurrentSlotRodUniqueId = -1; private int lastCurrentSlotRodWear = -1; private int lastCurrentSlotReelUniqueId = -1; private int lastCurrentSlotReelWear = -1; private int lastCurrentSlotLineUniqueId = -1; private int lastCurrentSlotLeaderUniqueId = -1; private int lastCurrentSlotHookUniqueId = -1; private int lastCurrentSlotFloatUniqueId = -1; private int lastCurrentSlotFeederUniqueId = -1; private int lastCurrentSlotBaitUniqueId = -1; private int lastCurrentSlotWeightUniqueId = -1; [Tooltip("Change Set Name PopUp")] public GameObject setNmaePopUp; [Tooltip("Change Set Display Transform")] public Transform setNmaeTransform; public Text[] CustomNamesText; public GameManager.ItemType itemsDisplayType; public InputField searchInputField; public Transform popupItems; public Dropdown sortDropdown; private int dropdownIndex = -1; private string sortType; public List dropDownOptions = new List(); [HideInInspector] public List search_items = new List(); private IEnumerator Start() { Debug.Log("[EquipmentManager.cs] Start method is called."); yield return null; Debug.Log("[EquipmentManager.cs] After yield return null."); SaveDataManager.SavePlayerDataClass currentPlayerData = Singleton.Instance.GetCurrentPlayerData(); if (currentPlayerData.PlayerRods == null) { Debug.Log("[EquipmentManager.cs] PlayerRods is null."); } if (currentPlayerData.PlayerReels == null) { Debug.Log("[EquipmentManager.cs] PlayerReels is null."); } if (currentPlayerData.PlayerLines == null) { Debug.Log("[EquipmentManager.cs] PlayerLines is null."); } if (currentPlayerData.PlayerLeaders == null) { Debug.Log("[EquipmentManager.cs] PlayerLeaders is null."); } if (currentPlayerData.PlayerHooks == null) { Debug.Log("[EquipmentManager.cs] PlayerHooks is null."); } if (currentPlayerData.PlayerFloats == null) { Debug.Log("[EquipmentManager.cs] PlayerFloats is null."); } if (currentPlayerData.PlayerFeeders == null) { Debug.Log("[EquipmentManager.cs] PlayerFeeders is null."); } if (currentPlayerData.PlayerBaits == null) { Debug.Log("[EquipmentManager.cs] PlayerBaits is null."); } if (currentPlayerData.PlayerWeights == null) { Debug.Log("[EquipmentManager.cs] PlayerWeights is null."); } if (currentPlayerData.PlayerSlotsEquip == null) { Debug.Log("[EquipmentManager.cs] PlayerSlotsEquip is null."); } if (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip == null) { Debug.Log("[EquipmentManager.cs] PlayerSlotsEquip is null. Initializing with PlayerSlotsEquipTemplate."); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip = new List(GameManager.Instance._playerData.PlayerSlotsEquipTemplate); } if (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip.Count == 0) { Debug.Log("[EquipmentManager.cs] PlayerSlotsEquip is empty. Initializing with PlayerSlotsEquipTemplate."); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip = new List(GameManager.Instance._playerData.PlayerSlotsEquipTemplate); } if (FScriptsHandler.Instance != null) { Debug.Log("[EquipmentManager.cs] FScriptsHandler.Instance is not null."); playerHeader.gameObject.SetActive(value: true); mainContentMaskImage.enabled = true; if (FScriptsHandler.Instance.m_PlayerMain.currentRod != null) { Debug.Log("[EquipmentManager.cs] Current rod is null."); int indexOfslot = FScriptsHandler.Instance.m_PlayerMain.currentRod.indexOfslot; lastCurrentSlotRodUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].rod.uniqueId; lastCurrentSlotRodWear = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].rod.wear; lastCurrentSlotReelUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].reel.uniqueId; lastCurrentSlotReelWear = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].reel.wear; lastCurrentSlotLineUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].line.uniqueId; lastCurrentSlotLeaderUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].leader.uniqueId; lastCurrentSlotHookUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].hook.uniqueId; lastCurrentSlotFloatUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].ffloat.uniqueId; lastCurrentSlotFeederUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].feeder.uniqueId; lastCurrentSlotBaitUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].bait.uniqueId; lastCurrentSlotWeightUniqueId = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].weight.uniqueId; slotButtons[indexOfslot].GetComponentInChildren().GetComponent().enabled = true; Debug.Log("[EquipmentManager.cs] Last equipment data retrieved from SaveDataManager."); } else { Debug.Log("[EquipmentManager.cs] Current rod is null."); } FScriptsHandler.Instance.m_Canvas.gameObject.SetActive(value: false); } else if (Object.FindObjectOfType() != null) { Debug.Log("[EquipmentManager.cs] FScriptsHandler.Instance is null. Found Residence GameObject."); playerHeader.gameObject.SetActive(value: true); mainContentMaskImage.enabled = true; mCamera.transform.position = Camera.main.transform.position; mCamera.transform.rotation = Camera.main.transform.rotation; } else { Debug.Log("[EquipmentManager.cs] FScriptsHandler.Instance is null. No Residence found."); playerHeader.gameObject.SetActive(value: false); mainContentMaskImage.enabled = false; } if (FScriptsHandler.Instance == null) { Debug.Log("[EquipmentManager.cs] FScriptsHandler.Instance is null. Showing default player slot."); ShowPlayerSlot(0); } else if ((bool)FScriptsHandler.Instance.m_PlayerMain.currentRod) { Debug.Log("[EquipmentManager.cs] Current rod is not null. Showing player slot based on current rod."); ShowPlayerSlot(FScriptsHandler.Instance.m_PlayerMain.currentRod.indexOfslot); } else { Debug.Log("[EquipmentManager.cs] Current rod is null. Showing default player slot."); ShowPlayerSlot(0); } if (Object.FindObjectsOfType().Length > 1) { mCamera.GetComponent().enabled = false; } infoSlotName.text = slotButtons[currentSlotIndex].GetComponentInChildren().text; sortDropdown.options[0].text = LanguageManager.Instance.GetText("SORT_BY_DATE"); sortDropdown.options[1].text = LanguageManager.Instance.GetText("SORT_BY_LEVEL"); sortDropdown.options[2].text = LanguageManager.Instance.GetText("SORT_BY_NAME"); } public void ShowAccesoriesInPopup() { ShowHidePopupContent(visable: true, GameManager.ItemType.Accesories); itemsDisplayType = GameManager.ItemType.Accesories; } public void GoToShop() { GameManager.Instance.LoadAddectiveScene("shop"); } public void ShowHidePopupContent(bool visable = true, GameManager.ItemType itemtype = GameManager.ItemType.Rod, int uniqueId = -1) { if (visable) { popupItemsContent.GetComponent().uniqueId = uniqueId; popupItemsContent.GetComponent().itemType = itemtype; popupItemsContent.GetComponent().currentSlotindex = currentSlotIndex; normalItemsContent.gameObject.SetActive(value: false); popupItemsContent.gameObject.SetActive(value: true); viewMode = ViewMode.Popup; } else { normalItemsContent.gameObject.SetActive(value: true); popupItemsContent.gameObject.SetActive(value: false); viewMode = ViewMode.Normal; } } public void HidePopupByBtn() { if (viewMode == ViewMode.Normal) { MainGameScene mainGameScene = Object.FindObjectOfType(); if ((bool)mainGameScene) { mainGameScene.BackToLastContent(); } else if (FScriptsHandler.Instance != null) { GameManager.Instance.LoadAddectiveScene("EscapeMenu"); } else { GameManager.Instance.UnloadAddectiveScene(); } } normalItemsContent.gameObject.SetActive(value: true); popupItemsContent.gameObject.SetActive(value: false); ShowPlayerSlot(currentSlotIndex); viewMode = ViewMode.Normal; } public void checkAndShowDamageSignSlot() { Debug.Log("[EquipmentManager.cs] checkAndShowDamageSignSlot"); for (int i = 0; i < damageSignSlot.Length; i++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[i].CheckSlotAndRod() == 0 || Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[i].CheckSlotAndRod() == 1) { damageSignSlot[i].gameObject.SetActive(value: true); } else { damageSignSlot[i].gameObject.SetActive(value: false); } } } private void SetResetButtons() { Debug.Log("[EquipmentManager.cs] SetResetButtons"); for (int i = 0; i < resetButtons.Length; i++) { resetButtons[i].gameObject.SetActive(value: false); } if (currentSlotIndex > -1) { if (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].CheckSlotAndRod() == 3) { resetButtons[currentSlotIndex].gameObject.SetActive(value: false); } else { resetButtons[currentSlotIndex].gameObject.SetActive(value: true); } } for (int j = 0; j < slotButtons.Length; j++) { if (j == currentSlotIndex) { slotButtons[j].GetComponent().isSelected = true; } else { slotButtons[j].GetComponent().isSelected = false; } } } public void ShowRefreshItems() { Debug.Log("[EquipmentManager.cs] ShowRefreshItems"); Debug.Log("[EquipmentManager.cs] ShowRefreshItems currentSlotIndex: " + currentSlotIndex); Debug.Log("[EquipmentManager.cs] ShowRefreshItems SaveDataManager.Instance.GetCurrentPlayerData().PlayerSlotsEquip.Count: " + Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip.Count); checkAndShowDamageSignSlot(); switch (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].CheckSlotAndRod()) { case -1: if (infoBarSlotAnim != null) { int num = slotButtons[currentSlotIndex].transform.GetSiblingIndex() + 1; if (infoBarSlotAnim.transform.GetSiblingIndex() == num) { Object.Destroy(infoBarSlotAnim); } infoBarSlotAnim.GetComponent().SetTrigger("Hide"); infoBarSlotAnim = null; } break; case 0: ShowInfoSlotBar(currentSlotIndex, LanguageManager.Instance.GetText("ROD_DAMAGE")); break; case 1: ShowInfoSlotBar(currentSlotIndex, LanguageManager.Instance.GetText("REEL_DAMAGE")); break; case 2: ShowInfoSlotBar(currentSlotIndex, LanguageManager.Instance.GetText("INCOMPLETE_SET")); break; case 3: ShowInfoSlotBar(currentSlotIndex, LanguageManager.Instance.GetText("INUSE_SET")); break; } GameManager.TruncateContainer(slotItemsContent); GameManager.TruncateContainer(infoSlotContainer); GameManager.PlayerData.CRods rod = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].rod; GameManager.PlayerData.CReels reel = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].reel; GameManager.PlayerData.CLines line = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].line; GameManager.PlayerData.CHooks hook = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].hook; GameManager.PlayerData.CFloats ffloat = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].ffloat; GameManager.PlayerData.CBaits bait = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].bait; GameManager.PlayerData.CFeeders feeder = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].feeder; GameManager.PlayerData.CLeaders leader = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].leader; GameManager.PlayerData.CWeights weight = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].weight; if (rod.isNull) { CreateItemSlotSetRod(rod); return; } CreateItemSlotSetRod(rod); if (reel.isNull) { CreateItemSlotSetReel(reel); return; } CreateItemSlotSetReel(reel); if (line.isNull) { CreateItemSlotSetLine(line); return; } CreateItemSlotSetLine(line); if (leader.isNull) { CreateItemSlotSetLeader(leader); } else { CreateItemSlotSetLeader(leader); } int gameItemIndexByItemId = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Rod, rod.ID); switch (GameManager.Instance.gameRods[gameItemIndexByItemId].type) { case GameManager.GameRods.Type.Universal: if (ffloat.isNull && feeder.isNull && bait.isNull) { CreateItemSlotSetFloat(ffloat); CreateItemSlotSetFeeder(feeder); CreateItemSlotSetBait(bait, isBaitNatural: true); } else if (!ffloat.isNull) { CreateItemSlotSetFloat(ffloat); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.Float; } else if (!feeder.isNull) { CreateItemSlotSetFeeder(feeder); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.Feeder; } else if (!bait.isNull) { CreateItemSlotSetBait(bait); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.Spinning; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].status = GameManager.PlayerData.CSlots.Status.Completed; } break; case GameManager.GameRods.Type.Spinning: case GameManager.GameRods.Type.Casting: if (bait.isNull) { CreateItemSlotSetBait(bait); return; } CreateItemSlotSetBait(bait); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.Spinning; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].status = GameManager.PlayerData.CSlots.Status.Completed; break; case GameManager.GameRods.Type.Feeder: if (feeder.isNull) { CreateItemSlotSetFeeder(feeder); return; } CreateItemSlotSetFeeder(feeder); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.Feeder; break; case GameManager.GameRods.Type.Float: if (ffloat.isNull) { CreateItemSlotSetFloat(ffloat); return; } CreateItemSlotSetFloat(ffloat); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.Float; break; } switch (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method) { case GameManager.PlayerData.CSlots.Method.Float: if (weight.isNull) { CreateItemSlotSetWeight(weight); break; } CreateItemSlotSetWeight(weight); if (hook.isNull) { CreateItemSlotSetHook(hook); break; } CreateItemSlotSetHook(hook); if (bait.isNull) { CreateItemSlotSetBait(bait, isBaitNatural: true); break; } CreateItemSlotSetBait(bait, isBaitNatural: true); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].status = GameManager.PlayerData.CSlots.Status.Completed; break; case GameManager.PlayerData.CSlots.Method.Feeder: if (hook.isNull) { CreateItemSlotSetHook(hook); break; } CreateItemSlotSetHook(hook); if (bait.isNull) { CreateItemSlotSetBait(bait, isBaitNatural: true); break; } CreateItemSlotSetBait(bait, isBaitNatural: true); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].status = GameManager.PlayerData.CSlots.Status.Completed; break; } } private void CreateItemSlotSetBait(GameManager.PlayerData.CBaits bait, bool isBaitNatural = false) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetBait isBaitNatural: " + isBaitNatural); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.bait = bait; component.isBaitNatural = isBaitNatural; component.itemType = GameManager.ItemType.Bait; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetRod(GameManager.PlayerData.CRods rod) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetRod"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.rod = rod; component.itemType = GameManager.ItemType.Rod; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetReel(GameManager.PlayerData.CReels reel) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetReel"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.reel = reel; component.itemType = GameManager.ItemType.Reel; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetLine(GameManager.PlayerData.CLines line) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetLine"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.line = line; component.itemType = GameManager.ItemType.Line; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetLeader(GameManager.PlayerData.CLeaders leader) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetLeader"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.leader = leader; component.itemType = GameManager.ItemType.Leader; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetFloat(GameManager.PlayerData.CFloats ffloat) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetFloat"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.ffloat = ffloat; component.itemType = GameManager.ItemType.Float; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetHook(GameManager.PlayerData.CHooks hook) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetHook"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.hook = hook; component.itemType = GameManager.ItemType.Hook; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetFeeder(GameManager.PlayerData.CFeeders feeder) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetFeeder"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.feeder = feeder; component.itemType = GameManager.ItemType.Feeder; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } private void CreateItemSlotSetWeight(GameManager.PlayerData.CWeights weight) { Debug.Log("[EquipmentManager.cs] CreateItemSlotSetWeight"); SlotItem component = Object.Instantiate(slotItemPrefab, slotItemsContent).GetComponent(); component.currentSlotIndex = currentSlotIndex; component.weight = weight; component.itemType = GameManager.ItemType.Weight; component.deleteItemButton.gameObject.SetActive(value: false); component.SetupItem(); } public void CreateItemsStatsEquiped(GameManager.ItemType itemType, int index) { Debug.Log("[EquipmentManager.cs] CreateItemsStatsEquiped index: " + index); if (index != -1) { StatItemEquiped component = Object.Instantiate(infoItemSlotInfoPrefab, infoSlotContainer).GetComponent(); component.equipmentManager = this; component.Setup(itemType, index); } } public void ShowPlayerSlot(int index) { Debug.Log("[EquipmentManager.cs] ShowPlayerSlot[" + index + "]"); Debug.Log("[EquipmentManager.cs] SaveDataManager.Instance.GetCurrentPlayerData().PlayerSlotsEquip.Count: " + Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip.Count); if (Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip.Count > index) { currentSlotIndex = index; infoSlotName.text = slotButtons[currentSlotIndex].GetComponentInChildren().text; SetResetButtons(); ShowRefreshItems(); } } public void ResetAllSlotByButton() { Debug.Log("[EquipmentManager.cs] ResetAllSlotByButton"); GameManager.Instance.CreateMessageBox("RESET_SLOT_QUESTION", GetComponent().transform, 1); } public void ResetAllSlot() { Debug.Log("[EquipmentManager.cs] ResetAllSlot"); UnEquipAll(); ShowRefreshItems(); if (infoBarSlotAnim != null) { Object.Destroy(infoBarSlotAnim.gameObject); } } public void UnEquipAll() { Debug.Log("[EquipmentManager.cs] UnEquipAll currentSlotIndex: " + currentSlotIndex); GameManager.PlayerData.CRods rod = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].rod; GameManager.PlayerData.CReels reel = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].reel; GameManager.PlayerData.CLines line = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].line; GameManager.PlayerData.CHooks hook = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].hook; GameManager.PlayerData.CFloats ffloat = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].ffloat; GameManager.PlayerData.CBaits bait = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].bait; GameManager.PlayerData.CFeeders feeder = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].feeder; GameManager.PlayerData.CLeaders leader = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].leader; GameManager.PlayerData.CWeights weight = Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].weight; bool flag = false; if (!rod.isNull) { flag = false; for (int i = 0; i < Singleton.Instance.GetCurrentPlayerData().PlayerRods.Count; i++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerRods[i].ID == rod.ID && Singleton.Instance.GetCurrentPlayerData().PlayerRods[i].wear == rod.wear) { Singleton.Instance.GetCurrentPlayerData().PlayerRods[i].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerRods[i].status = GameManager.PlayerData.CRods.Status.InEquip; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].rod.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CRods cRods = new GameManager.PlayerData.CRods(); cRods.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].rod); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].rod.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerRods.Add(cRods); } } if (!reel.isNull) { flag = false; for (int j = 0; j < Singleton.Instance.GetCurrentPlayerData().PlayerReels.Count; j++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerReels[j].ID == reel.ID && Singleton.Instance.GetCurrentPlayerData().PlayerReels[j].wear == reel.wear) { Singleton.Instance.GetCurrentPlayerData().PlayerReels[j].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].reel.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CReels cReels = new GameManager.PlayerData.CReels(); cReels.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].reel); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].reel.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerReels.Add(cReels); } } if (!line.isNull) { flag = false; for (int k = 0; k < Singleton.Instance.GetCurrentPlayerData().PlayerLines.Count; k++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerLines[k].ID == line.ID && Singleton.Instance.GetCurrentPlayerData().PlayerLines[k].lenght == line.lenght) { Singleton.Instance.GetCurrentPlayerData().PlayerLines[k].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].line.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CLines cLines = new GameManager.PlayerData.CLines(); cLines.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].line); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].line.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerLines.Add(cLines); } } if (!ffloat.isNull) { flag = false; for (int l = 0; l < Singleton.Instance.GetCurrentPlayerData().PlayerFloats.Count; l++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerFloats[l].ID == ffloat.ID) { Singleton.Instance.GetCurrentPlayerData().PlayerFloats[l].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].ffloat.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CFloats cFloats = new GameManager.PlayerData.CFloats(); cFloats.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].ffloat); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].ffloat.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerFloats.Add(cFloats); } } if (!hook.isNull) { flag = false; for (int m = 0; m < Singleton.Instance.GetCurrentPlayerData().PlayerHooks.Count; m++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerHooks[m].ID == hook.ID) { Singleton.Instance.GetCurrentPlayerData().PlayerHooks[m].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].hook.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CHooks cHooks = new GameManager.PlayerData.CHooks(); cHooks.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].hook); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].hook.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerHooks.Add(cHooks); } } if (!bait.isNull) { flag = false; for (int n = 0; n < Singleton.Instance.GetCurrentPlayerData().PlayerBaits.Count; n++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerBaits[n].ID == bait.ID) { Singleton.Instance.GetCurrentPlayerData().PlayerBaits[n].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].bait.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CBaits cBaits = new GameManager.PlayerData.CBaits(); cBaits.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].bait); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].bait.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerBaits.Add(cBaits); } } if (!feeder.isNull) { flag = false; for (int num = 0; num < Singleton.Instance.GetCurrentPlayerData().PlayerFeeders.Count; num++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[num].ID == feeder.ID) { Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[num].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].feeder.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CFeeders cFeeders = new GameManager.PlayerData.CFeeders(); cFeeders.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].feeder); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].feeder.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerFeeders.Add(cFeeders); } } if (!leader.isNull) { flag = false; for (int num2 = 0; num2 < Singleton.Instance.GetCurrentPlayerData().PlayerLeaders.Count; num2++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num2].ID == leader.ID) { Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num2].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].leader.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CLeaders cLeaders = new GameManager.PlayerData.CLeaders(); cLeaders.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].leader); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].leader.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerLeaders.Add(cLeaders); } } if (!weight.isNull) { flag = false; for (int num3 = 0; num3 < Singleton.Instance.GetCurrentPlayerData().PlayerWeights.Count; num3++) { if (Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num3].ID == weight.ID) { Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num3].amount++; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].weight.SetToNull(); flag = true; } } if (!flag) { GameManager.PlayerData.CWeights cWeights = new GameManager.PlayerData.CWeights(); cWeights.CopyValues(Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].weight); Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].weight.SetToNull(); Singleton.Instance.GetCurrentPlayerData().PlayerWeights.Add(cWeights); } } Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].status = GameManager.PlayerData.CSlots.Status.Empty; Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[currentSlotIndex].method = GameManager.PlayerData.CSlots.Method.None; } private bool CheckChangecInCurrentRodSlot() { if (FScriptsHandler.Instance == null) { return false; } if (!FScriptsHandler.Instance.m_PlayerMain.currentRod) { return false; } int indexOfslot = FScriptsHandler.Instance.m_PlayerMain.currentRod.indexOfslot; if (indexOfslot != -1) { if (lastCurrentSlotRodUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].rod.uniqueId) { return true; } if (lastCurrentSlotRodWear != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].rod.wear) { return true; } if (lastCurrentSlotReelUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].reel.uniqueId) { return true; } if (lastCurrentSlotReelWear != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].reel.wear) { return true; } if (lastCurrentSlotLineUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].line.uniqueId) { return true; } if (lastCurrentSlotLeaderUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].leader.uniqueId) { return true; } if (lastCurrentSlotHookUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].hook.uniqueId) { return true; } if (lastCurrentSlotFloatUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].ffloat.uniqueId) { return true; } if (lastCurrentSlotFeederUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].feeder.uniqueId) { return true; } if (lastCurrentSlotBaitUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].bait.uniqueId) { return true; } if (lastCurrentSlotWeightUniqueId != Singleton.Instance.GetCurrentPlayerData().PlayerSlotsEquip[indexOfslot].weight.uniqueId) { return true; } } return false; } private void ShowInfoSlotBar(int indexOfSlot, string textOfInfo) { int num = slotButtons[indexOfSlot].transform.GetSiblingIndex() + 1; if (infoBarSlotAnim != null) { if (infoBarSlotAnim.transform.GetSiblingIndex() == num) { return; } infoBarSlotAnim.GetComponent().SetTrigger("Hide"); infoBarSlotAnim = null; } infoBarSlotAnim = Object.Instantiate(slotItemInfoBarPrefab, slotButtons[indexOfSlot].transform.parent); infoBarSlotAnim.transform.SetSiblingIndex(num); infoBarSlotAnim.GetComponent().infoBarText.text = textOfInfo; } public void DeleteItemConfirmYes() { if (uniqueIdItemToDelete == -1) { return; } int playerItemIndexByUniqueId = GameManager.Instance._playerData.GetPlayerItemIndexByUniqueId(itemtypeToDelete, uniqueIdItemToDelete); int num = 1; int id = 0; bool flag = false; switch (itemtypeToDelete) { case GameManager.ItemType.Rod: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerRods[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerRods[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerRods[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerRods[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerRods.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Reel: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerReels[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerReels[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerReels[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerReels[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerReels.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Line: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerLines[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerLines[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerLines[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerLines[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerLines.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Leader: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerLeaders.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Float: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerFloats[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerFloats[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerFloats[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerFloats[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerFloats.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Feeder: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerFeeders.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Groundbaits: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerGroundbaits[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerGroundbaits[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerGroundbaits[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerGroundbaits[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerGroundbaits.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Hook: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerHooks[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerHooks[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerHooks[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerHooks[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerHooks.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Weight: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerWeights[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerWeights[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerWeights[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerWeights[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerWeights.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Accesories: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerAccessories.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; case GameManager.ItemType.Bait: num = GameManager.Instance.GetGameItemAmount(itemtypeToDelete, Singleton.Instance.GetCurrentPlayerData().PlayerBaits[playerItemIndexByUniqueId].ID); Singleton.Instance.GetCurrentPlayerData().PlayerBaits[playerItemIndexByUniqueId].amount -= num; id = Singleton.Instance.GetCurrentPlayerData().PlayerBaits[playerItemIndexByUniqueId].ID; if (Singleton.Instance.GetCurrentPlayerData().PlayerBaits[playerItemIndexByUniqueId].amount <= 0) { Singleton.Instance.GetCurrentPlayerData().PlayerBaits.RemoveAt(playerItemIndexByUniqueId); flag = true; } break; } SlotItem[] componentsInChildren = popupItemsContent.GetComponentsInChildren(); for (int i = 0; i < componentsInChildren.Length; i++) { if (componentsInChildren[i].itemType == itemtypeToDelete && componentsInChildren[i].itemUniqueId == uniqueIdItemToDelete) { if (flag) { Object.Destroy(componentsInChildren[i].gameObject); Object.FindObjectOfType().RefreshSort(); } else { componentsInChildren[i].Setup(itemtypeToDelete, id, uniqueIdItemToDelete); } } } uniqueIdItemToDelete = -1; } private void OnDestroy() { if (FScriptsHandler.Instance != null) { Debug.Log("Close equipment: " + CheckChangecInCurrentRodSlot()); if (CheckChangecInCurrentRodSlot()) { FScriptsHandler.Instance.m_InventoryManager.reAssignRod = true; } FScriptsHandler.Instance.m_Canvas.gameObject.SetActive(value: true); } } public void ChangeSetName(int id) { SetNamePopUpItem component = Object.Instantiate(setNmaePopUp, setNmaeTransform).GetComponent(); component.SetID = id; component.customNameText = CustomNamesText[id - 1]; } public void searchRealtime() { GameManager.TruncateContainer(popupItems); switch (itemsDisplayType) { case GameManager.ItemType.Bait: { if (searchInputField.text.Length < 2) { List list13 = new List(); for (int num19 = 0; num19 < Singleton.Instance.GetCurrentPlayerData().PlayerBaits.Count; num19++) { if (!list13.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerBaits[num19])) { Singleton.Instance.GetCurrentPlayerData().PlayerBaits[num19].amount = Singleton.Instance.GetCurrentPlayerData().PlayerBaits[num19].amount; list13.Add(Singleton.Instance.GetCurrentPlayerData().PlayerBaits[num19]); } } for (int num20 = 0; num20 < list13.Count; num20++) { SlotItem component13 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component13.currentSlotIndex = currentSlotIndex; component13.bait = list13[num20]; component13.bait.amount = list13[num20].amount; component13.isBaitNatural = false; component13.itemType = GameManager.ItemType.Bait; component13.deleteItemButton.gameObject.SetActive(value: true); if (component13.bait.amount > 1) { Text itemStatText5 = component13.itemStatText; itemStatText5.text = itemStatText5.text + "\nx " + list13[num20].amount; } component13.SetupItem(); } break; } List list14 = new List(); for (int num21 = 0; num21 < Singleton.Instance.GetCurrentPlayerData().PlayerBaits.Count; num21++) { if (!list14.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerBaits[num21])) { list14.Add(Singleton.Instance.GetCurrentPlayerData().PlayerBaits[num21]); } } for (int num22 = 0; num22 < list14.Count; num22++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Bait, list14[num22].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component14 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component14.currentSlotIndex = currentSlotIndex; component14.bait = list14[num22]; component14.bait.amount = list14[num22].amount; component14.isBaitNatural = false; component14.itemType = GameManager.ItemType.Bait; component14.deleteItemButton.gameObject.SetActive(value: true); if (component14.bait.amount > 1) { Text itemStatText6 = component14.itemStatText; itemStatText6.text = itemStatText6.text + "\nx " + list14[num22].amount; } component14.SetupItem(); } } break; } case GameManager.ItemType.Reel: { if (searchInputField.text.Length < 2) { List list11 = new List(); for (int num15 = 0; num15 < Singleton.Instance.GetCurrentPlayerData().PlayerReels.Count; num15++) { if (!list11.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerReels[num15])) { Singleton.Instance.GetCurrentPlayerData().PlayerReels[num15].amount = Singleton.Instance.GetCurrentPlayerData().PlayerReels[num15].amount; list11.Add(Singleton.Instance.GetCurrentPlayerData().PlayerReels[num15]); } } for (int num16 = 0; num16 < list11.Count; num16++) { SlotItem component11 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component11.currentSlotIndex = currentSlotIndex; component11.reel = list11[num16]; component11.reel.amount = list11[num16].amount; component11.isBaitNatural = false; component11.itemType = GameManager.ItemType.Reel; component11.deleteItemButton.gameObject.SetActive(value: true); if (component11.reel.amount > 1) { Text itemStatText3 = component11.itemStatText; itemStatText3.text = itemStatText3.text + "\nx " + list11[num16].amount; } component11.SetupItem(); } break; } List list12 = new List(); for (int num17 = 0; num17 < Singleton.Instance.GetCurrentPlayerData().PlayerReels.Count; num17++) { if (!list12.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerReels[num17])) { list12.Add(Singleton.Instance.GetCurrentPlayerData().PlayerReels[num17]); } } for (int num18 = 0; num18 < list12.Count; num18++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Reel, list12[num18].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component12 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component12.currentSlotIndex = currentSlotIndex; component12.reel = list12[num18]; component12.reel.amount = list12[num18].amount; component12.isBaitNatural = false; component12.itemType = GameManager.ItemType.Reel; component12.deleteItemButton.gameObject.SetActive(value: true); if (component12.reel.amount > 1) { Text itemStatText4 = component12.itemStatText; itemStatText4.text = itemStatText4.text + "\nx " + list12[num18].amount; } component12.SetupItem(); } } break; } case GameManager.ItemType.Weight: { if (searchInputField.text.Length < 2) { List list17 = new List(); for (int num27 = 0; num27 < Singleton.Instance.GetCurrentPlayerData().PlayerWeights.Count; num27++) { if (!list17.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num27])) { Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num27].amount = Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num27].amount; list17.Add(Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num27]); } } for (int num28 = 0; num28 < list17.Count; num28++) { SlotItem component17 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component17.currentSlotIndex = currentSlotIndex; component17.weight = list17[num28]; component17.weight.amount = list17[num28].amount; component17.isBaitNatural = false; component17.itemType = GameManager.ItemType.Weight; component17.deleteItemButton.gameObject.SetActive(value: true); component17.SetupItem(); int gameItemIndexByItemId9 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Weight, list17[num28].ID); if (component17.weight.amount > 1) { component17.itemStatText.text = GameManager.Instance.gameWeights[gameItemIndexByItemId9].weight.ToString("F0") + "g\nx " + list17[num28].amount; } } break; } List list18 = new List(); for (int num29 = 0; num29 < Singleton.Instance.GetCurrentPlayerData().PlayerWeights.Count; num29++) { if (!list18.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num29])) { list18.Add(Singleton.Instance.GetCurrentPlayerData().PlayerWeights[num29]); } } for (int num30 = 0; num30 < list18.Count; num30++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Weight, list18[num30].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component18 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component18.currentSlotIndex = currentSlotIndex; component18.weight = list18[num30]; component18.weight.amount = list18[num30].amount; component18.isBaitNatural = false; component18.itemType = GameManager.ItemType.Weight; component18.deleteItemButton.gameObject.SetActive(value: true); component18.SetupItem(); int gameItemIndexByItemId10 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Weight, list18[num30].ID); if (component18.weight.amount > 1) { component18.itemStatText.text = GameManager.Instance.gameWeights[gameItemIndexByItemId10].weight.ToString("F0") + "g\nx " + list18[num30].amount; } } } break; } case GameManager.ItemType.Leader: { if (searchInputField.text.Length < 2) { List list9 = new List(); for (int num11 = 0; num11 < Singleton.Instance.GetCurrentPlayerData().PlayerLeaders.Count; num11++) { if (!list9.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num11])) { Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num11].amount = Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num11].amount; list9.Add(Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num11]); } } for (int num12 = 0; num12 < list9.Count; num12++) { SlotItem component9 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component9.currentSlotIndex = currentSlotIndex; component9.leader = list9[num12]; component9.leader.amount = list9[num12].amount; component9.isBaitNatural = false; component9.itemType = GameManager.ItemType.Leader; component9.deleteItemButton.gameObject.SetActive(value: true); if (component9.reel.amount > 1) { Text itemStatText = component9.itemStatText; itemStatText.text = itemStatText.text + "\nx " + list9[num12].amount; } component9.SetupItem(); } break; } List list10 = new List(); for (int num13 = 0; num13 < Singleton.Instance.GetCurrentPlayerData().PlayerLeaders.Count; num13++) { if (!list10.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num13])) { list10.Add(Singleton.Instance.GetCurrentPlayerData().PlayerLeaders[num13]); } } for (int num14 = 0; num14 < list10.Count; num14++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Leader, list10[num14].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component10 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component10.currentSlotIndex = currentSlotIndex; component10.leader = list10[num14]; component10.leader.amount = list10[num14].amount; component10.isBaitNatural = false; component10.itemType = GameManager.ItemType.Leader; component10.deleteItemButton.gameObject.SetActive(value: true); if (component10.reel.amount > 1) { Text itemStatText2 = component10.itemStatText; itemStatText2.text = itemStatText2.text + "\nx " + list10[num14].amount; } component10.SetupItem(); } } break; } case GameManager.ItemType.Line: { if (searchInputField.text.Length < 2) { List list19 = new List(); for (int num31 = 0; num31 < Singleton.Instance.GetCurrentPlayerData().PlayerLines.Count; num31++) { if (!list19.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerLines[num31])) { GameManager.PlayerData.CLines cLines = Singleton.Instance.GetCurrentPlayerData().PlayerLines[num31]; cLines.amount = Singleton.Instance.GetCurrentPlayerData().PlayerLines[num31].amount; cLines.lenght = Singleton.Instance.GetCurrentPlayerData().PlayerLines[num31].lenght; list19.Add(Singleton.Instance.GetCurrentPlayerData().PlayerLines[num31]); } } for (int num32 = 0; num32 < list19.Count; num32++) { SlotItem component19 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component19.currentSlotIndex = currentSlotIndex; component19.line = list19[num32]; component19.line.amount = list19[num32].amount; component19.line.lenght = list19[num32].lenght; component19.isBaitNatural = false; component19.itemType = GameManager.ItemType.Line; component19.deleteItemButton.gameObject.SetActive(value: true); component19.SetupItem(); int gameItemIndexByItemId11 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Line, list19[num32].ID); component19.itemStatText.text = GameManager.Instance.ConvertWeight(GameManager.Instance.gameLines[gameItemIndexByItemId11].strength); Text itemStatText7 = component19.itemStatText; itemStatText7.text = itemStatText7.text + "\n" + GameManager.Instance.ConvertLenghtWithUnit(list19[num32].lenght, "F0"); } break; } List list20 = new List(); for (int num33 = 0; num33 < Singleton.Instance.GetCurrentPlayerData().PlayerLines.Count; num33++) { if (!list20.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerLines[num33])) { list20.Add(Singleton.Instance.GetCurrentPlayerData().PlayerLines[num33]); } } for (int num34 = 0; num34 < list20.Count; num34++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Line, list20[num34].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component20 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component20.currentSlotIndex = currentSlotIndex; component20.line = list20[num34]; component20.line.amount = list20[num34].amount; component20.line.lenght = list20[num34].lenght; component20.isBaitNatural = false; component20.itemType = GameManager.ItemType.Line; component20.deleteItemButton.gameObject.SetActive(value: true); component20.SetupItem(); int gameItemIndexByItemId12 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Line, list20[num34].ID); component20.itemStatText.text = GameManager.Instance.ConvertWeight(GameManager.Instance.gameLines[gameItemIndexByItemId12].strength); Text itemStatText8 = component20.itemStatText; itemStatText8.text = itemStatText8.text + "\n" + GameManager.Instance.ConvertLenghtWithUnit(list20[num34].lenght, "F0"); } } break; } case GameManager.ItemType.Hook: { if (searchInputField.text.Length < 2) { List list5 = new List(); for (int num3 = 0; num3 < Singleton.Instance.GetCurrentPlayerData().PlayerHooks.Count; num3++) { if (!list5.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num3])) { Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num3].amount = Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num3].amount; list5.Add(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num3]); } } for (int num4 = 0; num4 < list5.Count; num4++) { SlotItem component5 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component5.currentSlotIndex = currentSlotIndex; component5.hook = list5[num4]; component5.hook.amount = list5[num4].amount; component5.isBaitNatural = false; component5.itemType = GameManager.ItemType.Hook; component5.deleteItemButton.gameObject.SetActive(value: true); component5.SetupItem(); int gameItemIndexByItemId3 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Hook, list5[num4].ID); component5.itemStatText.text = GameManager.Instance.gameHooks[gameItemIndexByItemId3].GetSizetext(); } } else { List list6 = new List(); for (int num5 = 0; num5 < Singleton.Instance.GetCurrentPlayerData().PlayerHooks.Count; num5++) { if (!list6.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num5])) { list6.Add(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num5]); } } for (int num6 = 0; num6 < list6.Count; num6++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Hook, list6[num6].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component6 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component6.currentSlotIndex = currentSlotIndex; component6.hook = list6[num6]; component6.hook.amount = list6[num6].amount; component6.isBaitNatural = false; component6.itemType = GameManager.ItemType.Hook; component6.deleteItemButton.gameObject.SetActive(value: true); component6.SetupItem(); int gameItemIndexByItemId4 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Hook, list6[num6].ID); component6.itemStatText.text = GameManager.Instance.gameHooks[gameItemIndexByItemId4].GetSizetext(); } } } if (!searchInputField.text.StartsWith("#") || searchInputField.text.Length < 2) { break; } if (searchInputField.text.Length < 2) { List list7 = new List(); for (int num7 = 0; num7 < Singleton.Instance.GetCurrentPlayerData().PlayerHooks.Count; num7++) { if (!list7.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num7])) { Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num7].amount = Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num7].amount; list7.Add(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num7]); } } for (int num8 = 0; num8 < list7.Count; num8++) { SlotItem component7 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component7.currentSlotIndex = currentSlotIndex; component7.hook = list7[num8]; component7.hook.amount = list7[num8].amount; component7.isBaitNatural = false; component7.itemType = GameManager.ItemType.Hook; component7.deleteItemButton.gameObject.SetActive(value: true); component7.SetupItem(); int gameItemIndexByItemId5 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Hook, list7[num8].ID); component7.itemStatText.text = GameManager.Instance.gameHooks[gameItemIndexByItemId5].GetSizetext(); } break; } List list8 = new List(); for (int num9 = 0; num9 < Singleton.Instance.GetCurrentPlayerData().PlayerHooks.Count; num9++) { if (!list8.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num9])) { list8.Add(Singleton.Instance.GetCurrentPlayerData().PlayerHooks[num9]); } } for (int num10 = 0; num10 < list8.Count; num10++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Hook, list8[num10].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component8 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component8.currentSlotIndex = currentSlotIndex; component8.hook = list8[num10]; component8.hook.amount = list8[num10].amount; component8.isBaitNatural = false; component8.itemType = GameManager.ItemType.Hook; component8.deleteItemButton.gameObject.SetActive(value: true); component8.SetupItem(); int gameItemIndexByItemId6 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Hook, list8[num10].ID); component8.itemStatText.text = GameManager.Instance.gameHooks[gameItemIndexByItemId6].GetSizetext(); } } break; } case GameManager.ItemType.Float: { if (searchInputField.text.Length < 2) { List list15 = new List(); for (int num23 = 0; num23 < Singleton.Instance.GetCurrentPlayerData().PlayerFloats.Count; num23++) { if (!list15.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerFloats[num23])) { Singleton.Instance.GetCurrentPlayerData().PlayerFloats[num23].amount = Singleton.Instance.GetCurrentPlayerData().PlayerFloats[num23].amount; list15.Add(Singleton.Instance.GetCurrentPlayerData().PlayerFloats[num23]); } } for (int num24 = 0; num24 < list15.Count; num24++) { SlotItem component15 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component15.currentSlotIndex = currentSlotIndex; component15.ffloat = list15[num24]; component15.ffloat.amount = list15[num24].amount; component15.isBaitNatural = false; component15.itemType = GameManager.ItemType.Float; component15.deleteItemButton.gameObject.SetActive(value: true); component15.SetupItem(); int gameItemIndexByItemId7 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Float, list15[num24].ID); component15.itemStatText.text = GameManager.Instance.gameFloats[gameItemIndexByItemId7].displacement.ToString("F0") + "g"; } break; } List list16 = new List(); for (int num25 = 0; num25 < Singleton.Instance.GetCurrentPlayerData().PlayerFloats.Count; num25++) { if (!list16.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerFloats[num25])) { list16.Add(Singleton.Instance.GetCurrentPlayerData().PlayerFloats[num25]); } } for (int num26 = 0; num26 < list16.Count; num26++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Float, list16[num26].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component16 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component16.currentSlotIndex = currentSlotIndex; component16.ffloat = list16[num26]; component16.ffloat.amount = list16[num26].amount; component16.isBaitNatural = false; component16.itemType = GameManager.ItemType.Float; component16.deleteItemButton.gameObject.SetActive(value: true); component16.SetupItem(); int gameItemIndexByItemId8 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Float, list16[num26].ID); component16.itemStatText.text = GameManager.Instance.gameFloats[gameItemIndexByItemId8].displacement.ToString("F0") + "g"; } } break; } case GameManager.ItemType.Feeder: { if (searchInputField.text.Length < 2) { List list3 = new List(); for (int m = 0; m < Singleton.Instance.GetCurrentPlayerData().PlayerFeeders.Count; m++) { if (!list3.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[m])) { Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[m].amount = Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[m].amount; list3.Add(Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[m]); } } for (int n = 0; n < list3.Count; n++) { SlotItem component3 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component3.currentSlotIndex = currentSlotIndex; component3.feeder = list3[n]; component3.feeder.amount = list3[n].amount; component3.isBaitNatural = false; component3.itemType = GameManager.ItemType.Feeder; component3.deleteItemButton.gameObject.SetActive(value: true); component3.SetupItem(); int gameItemIndexByItemId = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Feeder, list3[n].ID); component3.itemStatText.text = GameManager.Instance.gameFeeders[gameItemIndexByItemId].weight.ToString("F0") + "g"; } break; } List list4 = new List(); for (int num = 0; num < Singleton.Instance.GetCurrentPlayerData().PlayerFeeders.Count; num++) { if (!list4.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[num])) { list4.Add(Singleton.Instance.GetCurrentPlayerData().PlayerFeeders[num]); } } for (int num2 = 0; num2 < list4.Count; num2++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Feeder, list4[num2].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component4 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component4.currentSlotIndex = currentSlotIndex; component4.feeder = list4[num2]; component4.feeder.amount = list4[num2].amount; component4.isBaitNatural = false; component4.itemType = GameManager.ItemType.Feeder; component4.deleteItemButton.gameObject.SetActive(value: true); component4.SetupItem(); int gameItemIndexByItemId2 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Feeder, list4[num2].ID); component4.itemStatText.text = GameManager.Instance.gameFeeders[gameItemIndexByItemId2].weight.ToString("F0") + "g"; } } break; } case GameManager.ItemType.Rod: { if (searchInputField.text.Length < 2) { List list21 = new List(); for (int num35 = 0; num35 < Singleton.Instance.GetCurrentPlayerData().PlayerRods.Count; num35++) { if (!list21.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerRods[num35])) { GameManager.PlayerData.CRods cRods = Singleton.Instance.GetCurrentPlayerData().PlayerRods[num35]; cRods.amount = Singleton.Instance.GetCurrentPlayerData().PlayerRods[num35].amount; cRods.status = Singleton.Instance.GetCurrentPlayerData().PlayerRods[num35].status; list21.Add(Singleton.Instance.GetCurrentPlayerData().PlayerRods[num35]); } } for (int num36 = 0; num36 < list21.Count; num36++) { SlotItem component21 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component21.currentSlotIndex = currentSlotIndex; component21.rod = list21[num36]; component21.rod.amount = list21[num36].amount; component21.isBaitNatural = false; component21.itemType = GameManager.ItemType.Rod; component21.deleteItemButton.gameObject.SetActive(value: true); component21.SetupItem(); int gameItemIndexByItemId13 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Line, list21[num36].ID); if (float.TryParse(GameManager.Instance.gameRods[gameItemIndexByItemId13].length.Replace(',', '.'), out var result)) { component21.itemStatText.text = GameManager.Instance.ConvertLenghtWithUnit(result); } Text itemStatText9 = component21.itemStatText; itemStatText9.text = itemStatText9.text + "\n" + GameManager.Instance.ConvertWeight(GameManager.Instance.gameRods[gameItemIndexByItemId13].strength); } break; } List list22 = new List(); for (int num37 = 0; num37 < Singleton.Instance.GetCurrentPlayerData().PlayerRods.Count; num37++) { if (!list22.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerRods[num37])) { list22.Add(Singleton.Instance.GetCurrentPlayerData().PlayerRods[num37]); } } for (int num38 = 0; num38 < list22.Count; num38++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Rod, list22[num38].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component22 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component22.currentSlotIndex = currentSlotIndex; component22.rod = list22[num38]; component22.rod.amount = list22[num38].amount; component22.isBaitNatural = false; component22.itemType = GameManager.ItemType.Rod; component22.deleteItemButton.gameObject.SetActive(value: true); component22.SetupItem(); int gameItemIndexByItemId14 = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Line, list22[num38].ID); if (float.TryParse(GameManager.Instance.gameRods[gameItemIndexByItemId14].length.Replace(',', '.'), out var result2)) { component22.itemStatText.text = GameManager.Instance.ConvertLenghtWithUnit(result2); } Text itemStatText10 = component22.itemStatText; itemStatText10.text = itemStatText10.text + "\n" + GameManager.Instance.ConvertWeight(GameManager.Instance.gameRods[gameItemIndexByItemId14].strength); } } break; } case GameManager.ItemType.Accesories: { if (searchInputField.text.Length < 2) { List list = new List(); for (int i = 0; i < Singleton.Instance.GetCurrentPlayerData().PlayerAccessories.Count; i++) { if (!list.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[i])) { Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[i].amount = Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[i].amount; list.Add(Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[i]); } } for (int j = 0; j < list.Count; j++) { SlotItem component = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component.isBaitNatural = false; component.currentSlotIndex = 0; component.gameItemIndex = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Accesories, list[j].ID); component.itemUniqueId = list[j].uniqueId; component.itemType = GameManager.ItemType.Accesories; component.deleteItemButton.gameObject.SetActive(value: true); component.SetupItem(); component.itemIconImage.sprite = GameManager.Instance.gameAccesories[component.gameItemIndex].GetIconImage(); component.itemNameText.text = GameManager.Instance.gameAccesories[component.gameItemIndex].GetName(); component.itemStatText.text = ""; } break; } List list2 = new List(); for (int k = 0; k < Singleton.Instance.GetCurrentPlayerData().PlayerAccessories.Count; k++) { if (!list2.Contains(Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[k])) { list2.Add(Singleton.Instance.GetCurrentPlayerData().PlayerAccessories[k]); } } for (int l = 0; l < list2.Count; l++) { if (GameManager.Instance.GetGameItemName(GameManager.ItemType.Accesories, list2[l].ID).ToUpper().Contains(searchInputField.text.ToUpper())) { SlotItem component2 = Object.Instantiate(slotItemPrefab, popupItems).GetComponent(); component2.isBaitNatural = false; component2.currentSlotIndex = 0; component2.gameItemIndex = GameManager.Instance._playerData.GetGameItemIndexByItemId(GameManager.ItemType.Accesories, list2[l].ID); component2.itemUniqueId = list2[l].uniqueId; component2.itemType = GameManager.ItemType.Accesories; component2.deleteItemButton.gameObject.SetActive(value: true); component2.SetupItem(); component2.itemIconImage.sprite = GameManager.Instance.gameAccesories[component2.gameItemIndex].GetIconImage(); component2.itemNameText.text = GameManager.Instance.gameAccesories[component2.gameItemIndex].GetName(); component2.itemStatText.text = ""; } } break; } } } public void OnChangeSort() { dropdownIndex = sortDropdown.value; SortFilter(dropdownIndex); } private void SortFilter(int indexSort) { List list = new List(); list.AddRange(popupItems.GetComponentsInChildren()); if (itemsDisplayType == GameManager.ItemType.Rod || itemsDisplayType == GameManager.ItemType.Reel || itemsDisplayType == GameManager.ItemType.Line || itemsDisplayType == GameManager.ItemType.Leader) { switch (indexSort) { case 0: popupItemsContent.GetComponent().RefreshSort(); return; case 1: list.Sort(CompareListByLevel); break; case 2: list.Sort(CompareListByName); break; case 3: list.Sort(CompareListByStrength); break; } } else { switch (indexSort) { case 0: popupItemsContent.GetComponent().RefreshSort(); return; case 1: list.Sort(CompareListByLevel); break; case 2: list.Sort(CompareListByName); break; } } for (int i = 0; i < list.Count; i++) { list[i].transform.SetSiblingIndex(i); } } private int CompareListByName(SlotItem i1, SlotItem i2) { return i1.itemNameText.text.CompareTo(i2.itemNameText.text); } private int CompareListByStrength(SlotItem i1, SlotItem i2) { return itemsDisplayType switch { GameManager.ItemType.Rod => GameManager.Instance.gameRods[i1.gameItemIndex].strength.CompareTo(GameManager.Instance.gameRods[i2.gameItemIndex].strength), GameManager.ItemType.Reel => GameManager.Instance.gameReels[i1.gameItemIndex].strength.CompareTo(GameManager.Instance.gameReels[i2.gameItemIndex].strength), GameManager.ItemType.Line => GameManager.Instance.gameLines[i1.gameItemIndex].strength.CompareTo(GameManager.Instance.gameLines[i2.gameItemIndex].strength), GameManager.ItemType.Leader => GameManager.Instance.gameLeaders[i1.gameItemIndex].strength.CompareTo(GameManager.Instance.gameLeaders[i2.gameItemIndex].strength), _ => 0, }; } private int CompareListByLevel(SlotItem i1, SlotItem i2) { return itemsDisplayType switch { GameManager.ItemType.Bait => GameManager.Instance.gameBaits[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameBaits[i2.gameItemIndex].Level), GameManager.ItemType.Reel => GameManager.Instance.gameReels[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameReels[i2.gameItemIndex].Level), GameManager.ItemType.Rod => GameManager.Instance.gameRods[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameRods[i2.gameItemIndex].Level), GameManager.ItemType.Line => GameManager.Instance.gameLines[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameLines[i2.gameItemIndex].Level), GameManager.ItemType.Weight => GameManager.Instance.gameWeights[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameWeights[i2.gameItemIndex].Level), GameManager.ItemType.Leader => GameManager.Instance.gameLeaders[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameLeaders[i2.gameItemIndex].Level), GameManager.ItemType.Hook => GameManager.Instance.gameHooks[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameHooks[i2.gameItemIndex].Level), GameManager.ItemType.Feeder => GameManager.Instance.gameFeeders[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameFeeders[i2.gameItemIndex].Level), GameManager.ItemType.Float => GameManager.Instance.gameFloats[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameFloats[i2.gameItemIndex].Level), GameManager.ItemType.Accesories => GameManager.Instance.gameAccesories[i1.gameItemIndex].Level.CompareTo(GameManager.Instance.gameAccesories[i2.gameItemIndex].Level), _ => -1, }; } public void BuildDropDown() { dropDownOptions.Clear(); sortDropdown.ClearOptions(); Dropdown.OptionData optionData = new Dropdown.OptionData(); optionData.text = LanguageManager.Instance.GetText("SORT_BY_DATE"); Dropdown.OptionData optionData2 = new Dropdown.OptionData(); optionData2.text = LanguageManager.Instance.GetText("SORT_BY_LEVEL"); Dropdown.OptionData optionData3 = new Dropdown.OptionData(); optionData3.text = LanguageManager.Instance.GetText("SORT_BY_NAME"); dropDownOptions.Add(optionData); dropDownOptions.Add(optionData2); dropDownOptions.Add(optionData3); sortDropdown.AddOptions(dropDownOptions); } }