获取命名的 GUIStyle。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
private bool b;
void OnGUI() {
b = GUILayout.Toggle(b, "A toggle button", GUI.skin.GetStyle("Button"));
}
}
另一个示例:
// Simple custom editor that when any SimpleExampleScript
// is detected in the inspector, it shows it as an IntSlider
// and a GUILayouted bar.
@CustomEditor(SimpleExampleScript)
class CustomEditorExample extends Editor {
function OnInspectorGUI() {
// Get the place of the next available position in the script
target.damage = EditorGUILayout.IntSlider("Damage:",target.damage,1,100);
ProgressBar (target.damage / 100.0, "Damage");
target.armor = EditorGUILayout.IntSlider("Armor:",target.armor,1,100);
ProgressBar (target.armor / 100.0, "Armor");
}
// Custom GUILayout progress bar.
function ProgressBar (value : float, label : String) {
var size : Vector2 = GUI.skin.GetStyle("ProgressBarText").CalcSize(GUIContent(label));
var rect : Rect = GUILayoutUtility.GetRect (size.x, Mathf.Max(size.y));
rect = Rect(rect.x + 4, rect.y, rect.width -8, rect.height);
EditorGUI.ProgressBar (rect, value, label);
EditorGUILayout.Space();
}
}
附加到该 Editor 脚本的脚本:
// SimpleExampleScript.js
// This is not an editor script.
var armor : int = 75;
var damage : int = 25;