Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/UI_ReelDragNotifyPanel.cs
2026-03-04 09:37:33 +08:00

78 lines
1.5 KiB
C#

using System.Collections;
using Obvious.Soap;
using TMPro;
using UnityEngine;
public class UI_ReelDragNotifyPanel : MonoBehaviour
{
[SerializeField]
private TextMeshProUGUI percentText;
[SerializeField]
private TextMeshProUGUI nameText;
public FloatVariable reelSpeed;
public FloatVariable dragSetting;
private CanvasGroup _canvasGroup;
public float shadeFadeTime = 0.35f;
public float shadeDelay = 1f;
private void Awake()
{
_canvasGroup = GetComponent<CanvasGroup>();
_canvasGroup.alpha = 0f;
}
private void OnEnable()
{
reelSpeed.OnValueChanged += ReelSpeedOnOnValueChanged;
dragSetting.OnValueChanged += DragSettingOnOnValueChanged;
}
private void OnDisable()
{
reelSpeed.OnValueChanged -= ReelSpeedOnOnValueChanged;
dragSetting.OnValueChanged -= DragSettingOnOnValueChanged;
}
private void DragSettingOnOnValueChanged(float obj)
{
nameText.text = "Drag";
percentText.text = Mathf.RoundToInt(obj * 100f) + "%";
EnablePanel();
}
private void ReelSpeedOnOnValueChanged(float obj)
{
nameText.text = "Reel";
percentText.text = Mathf.RoundToInt(obj * 100f) + "%";
EnablePanel();
}
private void EnablePanel()
{
_canvasGroup.alpha = 1f;
StopAllCoroutines();
StartCoroutine(Shade());
}
private IEnumerator Shade()
{
yield return new WaitForSeconds(shadeDelay);
while (true)
{
_canvasGroup.alpha -= Time.deltaTime * shadeFadeTime;
if (!(_canvasGroup.alpha <= 0f))
{
yield return null;
continue;
}
break;
}
}
}