本文共 730 字,大约阅读时间需要 2 分钟。
在Unity中自定义编辑器窗口时,想要在打开窗口的时候,自动加载显示一些信息,可以用变量来进行控制。但是,在修改代码后,Unity重新编译代码,已经打开的窗口,不会再自动重新加载信息。这里可以使用静态变量和静态构造函数来进行重置加载。
示例代码如下:
public class PreviewParticleWindow : EditorWindow{ [MenuItem("PreviewParticle", false, 13)] private static void Init() { GetWindow (); } static PreviewParticleWindow() { autoLoad = true; } private static bool autoLoad = true; void OnGUI() { if (autoLoad) { //RefreshLoadParticle(); autoLoad = false; } }} 也可以直接使用静态变量。
通过这种方法,当窗口首次打开时,会自动触发加载功能。如果在修改代码后,需要确保窗口能够重新加载最新的信息,可以设置一个静态变量来控制初始化行为。
这种解决方案的关键在于利用静态变量和静态构造函数来维持窗口的初始状态。在窗口首次初始化时,静态构造函数会设置autoLoad为true,这样在后续的渲染循环中,会自动触发数据加载的逻辑。
转载地址:http://tjid.baihongyu.com/