値の最小値と最大値をいい感じに入力するPropertyDrawer
MinMaxSlider といういい感じのEditorGUI があります。
一定の値の範囲からランダムな値を取得したいときなんかに、このスライダーをつかって範囲を調整できたらいいな〜と思ったので、構造体 + PropertyDrawer をつくりました。
[SerializeField, MinMaxRange(0,10f)]
MinMax randomDelayRange;
float delay;
float accum;
void Update ()
{
accum += Time.deltaTime;
if (accum >= delay)
{
Debug.Log ("Fire!");
accum = 0;
delay = randomDelayRange.randomValue;
}
}
↑自作のUtility系をまとめたリポジトリをつくりました。
地味にこだわったところ
元から用意されているRange
属性をつけた値と並べたときにきれいになるよう大きさを揃えました・・・
[SerializeField, MinMaxRange(0,10f)]
MinMax randomDelayRange;
[Range(0,10f)]
public float otherValue;