[LayaAirIDE 2.0]添加继承自Laya.Sprite3D脚本的节点移除时调用了两次onDisable

最近在学习做3d的小游戏,预制从unity导入。我自定义了一个继承自Laya.Sprite3D。使用Laya.Sprite3D.instantiate实例化,并addComponent自定义的类;添加到场景中,再移除;移除时发现脚本的onDisable调用了两次。断点调试后发现如下图的代码:首先在1的方法中调用_inActiveHierachy和inActiveScripts;然后在2处该节点的组件包括了自定义类,并调用了类的onDisable(在_setActive(false)中调用),这里就是一次,完了在3的地方加入到activeChangeScripts这个数组中;接着往下inActiveScripts方法中,又从这个数组总去调用了一次脚本的onDisable;
截图中的代码是官方源代码,按小弟的理解似乎就是代码这样写的就是要调用两次;所以求问大神是否就是这样,还是说是我其它地方又错误
截屏2020-06-23_下午11.17_.31_.png
已邀请:

雪下的那么深

赞同来自:

按小弟的理解,onDisable是触发了事件执行调用的,所以组件移除的时候会自动调用一次(和onEnable应该是相反的一对),所以另外一次你得自己找找在哪调用的

要回复问题请先

商务合作
商务合作