101 lines
2.7 KiB
C#
101 lines
2.7 KiB
C#
using Michsky.UI.Heat;
|
|
using Obvious.Soap;
|
|
using SoapCustomVariable;
|
|
using UnityEngine;
|
|
|
|
public class UI_HUDInventoryDisabler : MonoBehaviour
|
|
{
|
|
public ScriptableEventNoParam onOpenInventoryNotAllowed;
|
|
|
|
public ScriptableEventFishingSetData onFishingSetUnassembled;
|
|
|
|
public ScriptableEventFishingSetData onFishingSetEquip;
|
|
|
|
public ScriptableEventNoParam onGearDamaged;
|
|
|
|
public FloatVariable groundSetting;
|
|
|
|
public FSMVariable playerState;
|
|
|
|
[SerializeField]
|
|
private BoolVariable enabler;
|
|
|
|
[SerializeField]
|
|
private GameObject fishingSetUnassembledNotifyPanel;
|
|
|
|
[SerializeField]
|
|
private SliderManager groundSettingSlider;
|
|
|
|
[SerializeField]
|
|
private GameObject menuNotAllowedPromtPanel;
|
|
|
|
[SerializeField]
|
|
private GameObject yourGearIsDamaged;
|
|
|
|
private CanvasGroup _canvasGroup;
|
|
|
|
private bool _isSetGroundControlled;
|
|
|
|
private void OnEnable()
|
|
{
|
|
Enabler_OnValueChanged(enabler.Value);
|
|
PlayerStateOnOnValueChanged(playerState.Value);
|
|
enabler.OnValueChanged += Enabler_OnValueChanged;
|
|
onFishingSetUnassembled.OnRaised += OnFishingSetUnassembledOnOnRaised;
|
|
playerState.OnValueChanged += PlayerStateOnOnValueChanged;
|
|
onFishingSetEquip.OnRaised += OnFishingSetEquipOnOnRaised;
|
|
onOpenInventoryNotAllowed.OnRaised += OnOpenInventoryNotAllowedOnOnRaised;
|
|
onGearDamaged.OnRaised += OnGearDamagedOnOnRaised;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
enabler.OnValueChanged -= Enabler_OnValueChanged;
|
|
onFishingSetUnassembled.OnRaised -= OnFishingSetUnassembledOnOnRaised;
|
|
playerState.OnValueChanged -= PlayerStateOnOnValueChanged;
|
|
onFishingSetEquip.OnRaised -= OnFishingSetEquipOnOnRaised;
|
|
onOpenInventoryNotAllowed.OnRaised -= OnOpenInventoryNotAllowedOnOnRaised;
|
|
onGearDamaged.OnRaised -= OnGearDamagedOnOnRaised;
|
|
}
|
|
|
|
private void OnGearDamagedOnOnRaised()
|
|
{
|
|
yourGearIsDamaged.SetActive(value: true);
|
|
}
|
|
|
|
private void OnOpenInventoryNotAllowedOnOnRaised()
|
|
{
|
|
menuNotAllowedPromtPanel.SetActive(value: true);
|
|
}
|
|
|
|
private void OnFishingSetEquipOnOnRaised(FishingSetData obj)
|
|
{
|
|
_isSetGroundControlled = obj.SetType == FishingMethodType.Float;
|
|
groundSettingSlider.mainSlider.value = groundSetting.Value;
|
|
PlayerStateOnOnValueChanged(playerState.Value);
|
|
}
|
|
|
|
private void PlayerStateOnOnValueChanged(State state)
|
|
{
|
|
if ((uint)state <= 1u || state == State.vehicleFishing)
|
|
{
|
|
groundSettingSlider.gameObject.SetActive(_isSetGroundControlled);
|
|
}
|
|
else
|
|
{
|
|
groundSettingSlider.gameObject.SetActive(value: false);
|
|
}
|
|
}
|
|
|
|
private void OnFishingSetUnassembledOnOnRaised(FishingSetData obj)
|
|
{
|
|
fishingSetUnassembledNotifyPanel.SetActive(value: true);
|
|
}
|
|
|
|
private void Enabler_OnValueChanged(bool obj)
|
|
{
|
|
_canvasGroup = (_canvasGroup ? _canvasGroup : GetComponent<CanvasGroup>());
|
|
_canvasGroup.alpha = (obj ? 1f : 0f);
|
|
}
|
|
}
|