不用加其他的代码,原型链并没有替换,但是生成了一份新的脚本,等于是替换了,就是之前加载的脚本如何释放干净才是个问题
不建议这样做,最简单的方法就是先销毁然后再重新加载bundle即可
也是哦,这种方式也省心
不过我还是比较推荐引擎组这样系统性的试一下,我刚刚试了并没有内存泄漏。而且原型链也替换了,达到了热加载的功能了,脚本的打印也正确。
mark~~~~~~~
当前我的需求是主包与多个分包都有相同UUID的脚本,切换主包,分包的时候需要把该脚本切换为对应包的脚本。已经通过不修改引擎的方法实现了加载AB替换同UUID的脚本,但是同UUID脚本一个地址只能加载一次。这部分有什么线索呢?
脚本只能加载一次,我是通过打包时给AB包加上版本标识,加载AB包时注入版本解决的。至于类重新注册还是要改源码。
官方文档中加载AB包也是支持带版本的
我做的 2.4.x热更新大厅子游戏分包插件的商店链接
能实现不同AB包同UUID脚本多次切换吗
没太理解不同AB包同UUID脚本意思
多个AB包里面都有一个UUID的脚本
主包也有一个
如果可以的话能省很多事情
不太清楚,可能需要你自己尝试一下,如果是主包内的话需要重启才能生效,如果是AB包内的不需要重启
可以的话我给你demo你先试试
有效的话我再去买
话说cocos能退款吗
我没时间去测试,只是提供个思路。
具体方法已经告诉过你了,可以选择我说的方式去测试你的demo,引擎源码改动位置插件介绍就有。 不保证能实现你说的这种,但是插件介绍中的功能绝对没问题,买不买个人意愿
请问你那边直接removeBundle,然后再加载,最新代码能生效吗?我这边不行啊,我用的是3.7.2版本。
代码不能生效
如果是两个子游戏的各自loading预制体的uuid都一样,各自挂的脚本名字也一样只是内容不一样,这个时候就会出现后打开的脚本覆盖前一个的脚本内容,导致一些类属性为空或逻辑不对?请问官方大佬这个问题怎么处理?

