78 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|