using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class HUDBaits : MonoBehaviour { public HUDBaitsWidget hookWidget; public List baitWidgets = new List(); public Text noBaitMessage; public void Refresh(FishingHands fishingHands) { if (fishingHands == null) { return; } base.gameObject.SetActive((bool)fishingHands.bait && fishingHands.bait.equipmentObject != null && fishingHands.bait.equipmentObject.prefab != null && !fishingHands.fishingRod.isOnRodStand); if (!IsIconOk(fishingHands.bait.equipmentObject)) { return; } hookWidget.Refresh(fishingHands.bait.equipmentObject, fishingHands.bait.hookSize); for (int i = 0; i < baitWidgets.Count; i++) { if (i < fishingHands.bait.baitParts.Count) { if ((bool)fishingHands.bait.baitParts[i] && !IsIconOk(fishingHands.bait.baitParts[i].equipmentObject)) { return; } baitWidgets[i].Refresh((!fishingHands.bait.baitParts[i] || fishingHands.bait.equipmentObject == null) ? null : fishingHands.bait.baitParts[i].equipmentObject); baitWidgets[i].gameObject.SetActive(true); } else { baitWidgets[i].Refresh(null); baitWidgets[i].gameObject.SetActive(false); } } noBaitMessage.transform.parent.gameObject.SetActive((bool)fishingHands.bait && fishingHands.bait.baitType == Bait.BaitType.HOOK && !fishingHands.bait.HasAnyBaitParts()); } private bool IsIconOk(EquipmentObject equipmentObject) { if (equipmentObject != null && equipmentObject.icon == null && (bool)GlobalSettings.Instance) { LeanTween.delayedCall(UnityEngine.Random.Range(0.5f, 1f), (Action)delegate { HUDManager.Instance.hudBaits.Refresh(GameController.Instance.fishingPlayer.currentHands); }); return false; } return true; } }