Я собираюсь создать приложение на основе 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 и обновляет себя, используя отражение.Но это всего лишь предположение, которое может быть ужасно неверным.У кого-нибудь есть информация из достоверного источника?