Что такое custom editor?

Рейтинг: 0Ответов: 1Опубликовано: 08.04.2023

Я новичок по unity, недавно столкнулся с конструкцией custom editor. Можете, пожалуйста, объяснить, что это такое?

Ответы

▲ 3

Кнопка

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