เส้นทางที่เป็นมิตรกับบรรณาธิการคือ "ผู้ตรวจสอบที่กำหนดเอง" ใน Unity API หมายถึงการขยายคลาสEditor
นี่คือตัวอย่างการใช้งาน แต่ลิงค์เอกสารด้านบนจะนำคุณไปสู่รายละเอียดและตัวเลือกเพิ่มเติมมากมาย:
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Test))]
public class TestEditor : Editor
{
private Test targetObject;
void OnEnable()
{
targetObject = (Test) this.target;
}
// Implement this function to make a custom inspector.
public override void OnInspectorGUI()
{
// Using Begin/End ChangeCheck is a good practice to avoid changing assets on disk that weren't edited.
EditorGUI.BeginChangeCheck();
// Use the editor auto-layout system to make your life easy
EditorGUILayout.BeginVertical();
targetObject.testBool = EditorGUILayout.Toggle("Bool", targetObject.testBool);
// GUI.enabled enables or disables all controls until it is called again
GUI.enabled = targetObject.testBool;
targetObject.testString = EditorGUILayout.TextField("String", targetObject.testString);
// Re-enable further controls
GUI.enabled = true;
targetObject.testInt = EditorGUILayout.IntField("Int", targetObject.testInt);
EditorGUILayout.EndVertical();
// If anything has changed, mark the object dirty so it's saved to disk
if(EditorGUI.EndChangeCheck())
EditorUtility.SetDirty(target);
}
}
โปรดทราบว่าสคริปต์นี้ใช้ API อย่างเดียวเท่านั้นดังนั้นจะต้องอยู่ในโฟลเดอร์ชื่อ Editor โค้ดด้านบนจะเปลี่ยนผู้ตรวจสอบของคุณเป็นดังต่อไปนี้:
การทำเช่นนี้จะทำให้คุณรู้สึกดีขึ้นจนกว่าคุณจะคุ้นเคยกับการแก้ไขสคริปต์มากขึ้น