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

65 lines
1.3 KiB
C#

using Obvious.Soap;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UI_GearDamage : MonoBehaviour
{
public FloatVariable tensionScale;
[SerializeField]
private Image _FillImage;
[SerializeField]
private Image _GearImage;
[SerializeField]
private Image maskImage;
[SerializeField]
private FloatVariable GearDamage;
[SerializeField]
private TextMeshProUGUI DamageText;
[SerializeField]
private ScriptableEventNoParam _onDamageRaised;
private void OnEnable()
{
GearDamageOnOnValueChanged(GearDamage.Value);
GearDamage.OnValueChanged += GearDamageOnOnValueChanged;
_onDamageRaised.OnRaised += OnDamageRaisedOnOnRaised;
}
private void OnDisable()
{
GearDamage.OnValueChanged -= GearDamageOnOnValueChanged;
_onDamageRaised.OnRaised -= OnDamageRaisedOnOnRaised;
}
private void OnDamageRaisedOnOnRaised()
{
_GearImage.color = Color.red;
}
private void GearDamageOnOnValueChanged(float obj)
{
_ = Mathf.Ceil(obj * 25f) / 25f;
maskImage.fillAmount = obj;
DamageText.text = (obj * 100f).ToString("0") + "%";
_GearImage.color = Color.red;
}
private void Update()
{
_FillImage.fillAmount = tensionScale.Value;
_FillImage.color = _GearImage.color;
DamageText.color = _GearImage.color;
if (!(_GearImage.color == Color.white))
{
_GearImage.color += Color.white * Time.deltaTime * 25f;
}
}
}