Что такое custom editor?
Я новичок по unity, недавно столкнулся с конструкцией custom editor. Можете, пожалуйста, объяснить, что это такое?
Источник: Stack Overflow на русском
Я новичок по unity, недавно столкнулся с конструкцией custom editor. Можете, пожалуйста, объяснить, что это такое?
CustomEditor позволяет изменять внешний вид скрипта, например добавлять кнопки, галочки и т.д.
Самый простой MonoBehaviour скрипт:
using UnityEngine;
public class MyClass : MonoBehaviour
{
public int num;
}
Скрипт CustomEditor:
using UnityEditor;
//Пишем атрибут и даём ему MyClass.
[CustomEditor(typeof(MyClass))]
public class MyClassEditor : Editor
{
//Вызываем метод для отрисовки
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
//Объявляем переменную для доступа к классу
var myClass = (target) as MyClass;
//Рисуем кнопку
if (GUILayout.Button("Add Num"))
{
//Соответственно делаем что хотим.
myClass.num += 2;
}
}
}
Помимо GUILayout.Button() есть и другие, посмотрите список здесь: https://docs.unity3d.com/ScriptReference/GUILayout.html
Так же:
https://docs.unity3d.com/ScriptReference/EditorGUILayout.html