32 lines
898 B
C#
32 lines
898 B
C#
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;
|
|
}
|
|
}
|