dgflash / oops-plugin-framework

oops-framework-plugin 是基于 Cocos Creator 3.x 以插件形式使用的游戏框架,此版本框架代码与游戏具体业务逻辑代码分离,方便在项目开发过程随时更新框架最新版本代码。
MIT License
28 stars 17 forks source link

fix: 修复remove函数传参isDestroy无效问题 #3

Open Faded12 opened 5 months ago

Faded12 commented 5 months ago

问题:当参数 isDestroy 传入 false 时,release 赋值为 false,执行到 if 判断 release === undefined 后,会走到 else 将 release 重新赋值为 true,导致原先传入的 isDestroy 为 false 失效

remove(prefabPath: string, isDestroy?: boolean): void {
    var release = undefined;
    if (isDestroy !== undefined) release = isDestroy;

......

// 优先使用参数中控制的释放条件,如果未传递参数则用配置中的释放条件
if (release === undefined && vp.config.destroy !== undefined) {
    release = vp.config.destroy;
}
// 默认不缓存关闭的界面
else {
    release = true;
}

if 逻辑修改为:

// 优先使用参数中控制的释放条件,如果未传递参数则用配置中的释放条件,默认不缓存关闭的界面
if (release === undefined) {
    release = vp.config.destroy !== undefined ? vp.config.destroy : true;
}
dgflash commented 5 months ago

感谢提交,代码修改可在https://gitee.com/dgflash/oops-plugin-framework上提交Pull Request, 会自动同步到Github库中。本次已手动合到源码库中