热更工程:
Unity工程:
ActiveAfter在这里是不起作用的。
运行起来后:
JBehaviour的独特亮点:
属性:
InstanceID:示例ID信息字符串。
gameObject:组件所挂载的游戏对象。
FrameMode:true/false,帧模式还是毫秒模式?
Frequency: 值要≥1,如果是帧模式表示多少帧Loop()执行一次,如果是毫秒模式表示多少毫秒Loop()执行一次,提示一下:1000毫秒(ms)等于1秒(s)。
TotalTime:当前JBehaviour运行总时长。
LoopDeltaTime:循环耗时,等价Time.deltaTime。
LoopCounts:循环执行统计次数。
TimeScale:时间倍速,等价Time.timeScale
方法:
Hide():隐藏游戏对象,gameObject.SetActive(false),会调用OnHide()。
Show():显示游戏对象,gameObject.SetActive(true),会调用OnShow()。
Pause():暂停循环,用来控制Loop()函数。
Resume():恢复循环,用来控制Loop()函数。
Activate():这个一般不主动调用,除非使用静态方法CreateOn<T>(GameObject gameObject, bool activeAfter = true)的activeAfter设置为false,这样就需要手动调用执行了。
静态方法:Add、Get、Remove
这里如果activeAfter设置为false,就需要手动调用Activate()执行了。
这里执行会触发End()周期函数,销毁移除除了这种方式还可以通过销毁Destory绑定的游戏对象去实现。