popcorn/Scripts/Utilities/Gauge/GaugeX.cs

32 lines
898 B
C#
Raw Normal View History

using UnityEngine;
public sealed class GaugeX : GaugeParent {
[SerializeField]
private RectTransform gauge = default;
private float gaugeSize = -1.0f;
public float GaugeSize {
get{ return gaugeSize; }
}
private Vector3 localPosition;
public override void Initialize(float percentage = 0.0f){
if(gaugeSize < 0.0f){
gaugeSize = gauge.sizeDelta.x;
localPosition = gauge.localPosition;
}
base.Initialize(percentage);
}
public override void UpdateGauge(float percentage){
Vector2 sizeDelta = gauge.sizeDelta;
sizeDelta.x = gaugeSize * Mathf.Clamp(percentage, 0.0f, 1.0f);
gauge.sizeDelta = sizeDelta;
this.percentage = percentage;
// 何故かPositionにNaNが入るバグがあるっぽいので暫定対処
gauge.localPosition = localPosition;
}
}