Unity3D:void OnEnable()在编辑器模式下被不可预测地调用

Unity3D:void OnEnable()在编辑器模式下被不可预测地调用,unity3d,unity3d-gui,Unity3d,Unity3d Gui,我实现了OnEnable,它总是按预期在播放模式下调用。但在编辑器模式下,一些组件调用OnEnable,而另一些组件则不调用OnEnable 我需要在编辑器模式下调用OnEnable或其他方法来设置组件,以便能够对其进行原型化 若我从UnityEngine.UI.Image扩展类,那个么在编辑器模式下调用OnEnable。若我从MonoBehavior扩展这个类,那个么它在编辑器模式下不会调用OnEnable,但在播放模式下仍然会被调用 是否有任何解释说明为什么调用或不调用它。在激活脚本组件时调

我实现了OnEnable,它总是按预期在播放模式下调用。但在编辑器模式下,一些组件调用OnEnable,而另一些组件则不调用OnEnable

我需要在编辑器模式下调用OnEnable或其他方法来设置组件,以便能够对其进行原型化

若我从UnityEngine.UI.Image扩展类,那个么在编辑器模式下调用OnEnable。若我从MonoBehavior扩展这个类,那个么它在编辑器模式下不会调用OnEnable,但在播放模式下仍然会被调用

是否有任何解释说明为什么调用或不调用它。

在激活脚本组件时调用。UnityEngine.UI.Image继承自MonoBehavior,因此应该没有区别。你可能需要看一看

如果希望编辑器调用MonoBehavior,则应向类添加属性

谢谢。可能是UI。图像具有该标志

没错

图像继承自MaskableGraphic

MaskableGraphic继承自Graphic

图形具有ExecuteInEdit模式标志! ps1:@zwcloud关于属性的说法是对的!,这个答案是我的两分钱

ps2;你可以随时去声明类和检查代码,这可能是非常有趣的!

谢谢。可能是UI。图像具有该标志