最近项目需要使用大厅+子游戏模式,这类技术方案网上已经一大堆了在此不再赘述。
从公布的这些方案中我们测试发现子游戏代码更新在主进程不重启的情况下是无效的。那么如何实现在主进程不重启又使子游戏脚本立即生效呢?通过分析找到了一种方案:
初步测试代码更新后已经生效,但该方案目前在正式项目中不适用,在正式项目中我们发布都会加密压缩脚本。那么通过正则匹配查找子游戏脚本ID的方法也就失效了。当然我们可通过修改引擎底层代码或者暴露一个接口等其他方案来曲线救国。但是我们并不想修改引擎底层代码,因此需要了解有没有其他方案可用获取每个脚本的ID值。由于对这个ID生成机制不了解,不知道如何处理?特来此向各位大神求助!
补充:我们也可用脚本名字来卸载脚本,但是考虑到脚本重名的问题(虽然目前引擎本身是不支持的)感觉还是用ID要理想一丢丢!
