トップ > 【Unity】エディター拡張方法をまとめます! > 【Unity】プログレスバーを表示するエディター拡張方法を紹介します!
更新日 2022/7/15

【Unity】プログレスバーを表示するエディター拡張方法を紹介します!

プログレスバーを表示するエディター拡張方法をシンプルに紹介します。

ProgressBar

ProgressBar属性を作成する

プログレスバー表示用の空のプロパティー属性を作成します。

ProgressBarAttribute.cs

using System;

namespace UnityEngine
{
[AttributeUsage(AttributeTargets.Field)]
public class ProgressBarAttribute : PropertyAttribute
{
}
}

ProgressBarDrawerの作成

プログレスバーを表示するのにEditorGUI.ProgressBar関数を呼びます。
今回作成するプログレスバーはプロパティーの変更はないのでプログレスバーを表示して終わりです。

ProgressBarDrawer.cs

using UnityEngine;

namespace UnityEditor
{
[CustomPropertyDrawer(typeof(ProgressBarAttribute))]
public class ProgressBarDrawer : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.ProgressBar(position, property.floatValue, label.text);
}
}
}

プログレスバーを表示する

ProgressBar属性を付ける変数はfloat型にして範囲は0~1の間です。

using UnityEngine;

public class TestScript : MonoBehaviour
{
[ProgressBar]
public float progressBar = 0.5f;
}
ProgressBar

以上になります。

非常にシンプルにプログレスバーを表示することができました。
必要な機能があれば付け加えてみてはいかがでしょうか。


関連ページ


Copyright ©2022 - 2024 うにぉらぼ