环境:Unity2017.4 语言:C#
总起:
今天想要探讨一下BehaviorManager的一些实现细节。
这篇文章并不是单纯的新手教程,很多基础概念在文章内不会过多的赘述。内容根据一些疑惑和问题,写一些思考和解决问题的手段。当然最终是会有结论的。
废话不多说,直接进入正题。
不能被Disable的BehaviorManager?
BehaviorManager是一个Instance,场景中没有的话就会生成,把这个东西拷贝下来,随便把玩几下。突然发现EveryFrame模式下,BehaviorManager不能被Disable,而其他两种模式下不能被Enable。
这是什么情况?
我们先在OnEnable和OnDisable的函数中打上Log,运行状态时结果如下:
我们可以看到BehaviorManager的Editor脚本调用了UpdateIntervalChanged,致使脚本根据当前的状态将enable强制设置为true了。
其实还有一些细节反映了是BehaviorManager Editor脚本的锅,因为在非运行状态下,我们虽然Disable了脚本,但看不到Log的输出,