Как Unity обновляет себя, используя скрипт редактора? - PullRequest
1 голос
/ 22 июня 2019

Я собираюсь создать приложение на основе Unity, которое может обновляться, когда мы добавляем в него некоторый код на c #, как это делает Unity, используя сценарии редактора.Пример ниже обновит интерфейс Unity:

#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
public class MyWindow : EditorWindow
{
    string myString = "Hello World";

    // Add menu named "My Window" to the Window menu
    [MenuItem("Window/My Window")]
    static void Init()
    {
        // Get existing open window or if none, make a new one:
        MyWindow window = (MyWindow)EditorWindow.GetWindow(typeof(MyWindow));
        window.Show();
    }

    void OnGUI()
    {
        GUILayout.Label("Base Settings", EditorStyles.boldLabel);
        myString = EditorGUILayout.TextField("Text Field", myString);
    }
}
#endif

Похоже, Unity компилирует скрипт редактора, конвертирует в dll, затем загружает dll и обновляет себя, используя отражение.Но это всего лишь предположение, которое может быть ужасно неверным.У кого-нибудь есть информация из достоверного источника?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...