59 lines
1.8 KiB
C#
59 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class HUDBaits : MonoBehaviour
|
|
{
|
|
public HUDBaitsWidget hookWidget;
|
|
|
|
public List<HUDBaitsWidget> baitWidgets = new List<HUDBaitsWidget>();
|
|
|
|
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;
|
|
}
|
|
}
|