C# Unity如何使用编辑器脚本进行自我更新?

C# Unity如何使用编辑器脚本进行自我更新?,c#,unity3d,compiler-construction,C#,Unity3d,Compiler Construction,我希望构建一个基于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 W

我希望构建一个基于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并使用反射更新自身。但这只是一个猜测,可能会大错特错。任何人都有来自真实来源的信息吗?

查找,可能就是您正在谈论的
EditorGUILayout.TextField()
在您键入gui对象时如何更新
myString
的值?输入字段就是这样工作的。我不知道“当你输入C#code时,应用程序会自动更新”与此有什么关系。自动更新系统始终是一个单独的可执行文件。不,我正在为我的应用程序构建编辑器脚本系统。问题与文本字段或输入字段无关。上面的脚本只是Unity editor脚本的一个示例。您可能希望查看或更新(请参阅)查看,可能是您正在谈论的
EditorGUILayout.TextField()
在键入gui对象时如何更新
myString
的值?输入字段就是这样工作的。我不知道“当你输入C#code时,应用程序会自动更新”与此有什么关系。自动更新系统始终是一个单独的可执行文件。不,我正在为我的应用程序构建编辑器脚本系统。问题与文本字段或输入字段无关。上面的脚本只是Unity editor脚本的一个示例。您可能希望查看或更新的(请参阅)