Files
7d2dXG/Mods/0A-KFCommonUtilityLib/KFAttached/KFUtilAttached/WeaponDataHandlerCanvasMask.cs
Nathaniel Cosford 062dfab2cd Patched
2025-05-30 01:04:40 +09:30

52 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class WeaponDataHandlerCanvasMask : WeaponDataHandlerBase
{
[SerializeField]
protected RectMask2D mask;
[SerializeField]
protected Image image;
protected float maxVal = 1, curVal = 1;
//protected bool updated = true;
//protected virtual void OnEnable()
//{
// LayoutRebuilder.MarkLayoutForRebuild(mask.rectTransform);
//}
public override void SetColor(Color color)
{
image.color = color;
}
public override void SetText(string text)
{
if (text.StartsWith("#"))
{
maxVal = Mathf.Max(float.Parse(text.Substring(1)), 1);
}
else
{
curVal = Mathf.Max(float.Parse(text), 0);
}
if (curVal > maxVal)
maxVal = curVal;
float perc = curVal / maxVal;
Vector4 padding = mask.padding;
padding.w = mask.rectTransform.rect.height * Mathf.Clamp01(1 - perc);
mask.padding = padding;
//updated = true;
}
//protected virtual void LateUpdate()
//{
// if (updated)
// {
// LayoutRebuilder.ForceRebuildLayoutImmediate(mask.rectTransform);
// updated = false;
// }
//}
}