diff --git a/dist/create-script.js b/dist/create-script.js index 578ec3f..ae886fc 100644 --- a/dist/create-script.js +++ b/dist/create-script.js @@ -7,7 +7,7 @@ exports.createScript = exports.createScriptBll = exports.createScriptModule = ex const fs_1 = require("fs"); const path_1 = __importDefault(require("path")); /** 写入文件 */ -function createView(directoryPath, fileName, content, isEcsComp = true) { +function createView(directoryPath, fileName, content, moduleName, isEcsComp = true) { return new Promise(async (resolve, reject) => { // 创建脚本 let className = fileName + "View"; @@ -20,6 +20,7 @@ function createView(directoryPath, fileName, content, isEcsComp = true) { } if (!(0, fs_1.existsSync)(scriptUrl)) { content = content.replace(/<%Name%>/g, className); + content = content.replace(/<%ModuleName%>/g, moduleName); await Editor.Message.request('asset-db', 'create-asset', scriptUrl, content); } // 创建预制 diff --git a/dist/default/index.js b/dist/default/index.js index 7fe8439..7113c4c 100644 --- a/dist/default/index.js +++ b/dist/default/index.js @@ -45,9 +45,11 @@ module.exports = Editor.Panel.define({ break; case "View": title = `i18n:oops-framework.createView`; + showModule = true; break; case "ViewMvvm": title = `i18n:oops-framework.createViewMvvm`; + showModule = true; break; } // 创建框架配置界面 @@ -79,7 +81,7 @@ module.exports = Editor.Panel.define({ } switch (type) { case "GameComponent": - await (0, create_script_1.createView)(path, filename, GameComponent_1.TemplateGameComponent, false); + await (0, create_script_1.createView)(path, filename, GameComponent_1.TemplateGameComponent, null, false); break; case "Module": await (0, create_script_1.createScriptModule)(path, filename, Module_1.TemplateModule); @@ -91,10 +93,10 @@ module.exports = Editor.Panel.define({ await (0, create_script_1.createScriptBll)(path, filename, ModuleBll_1.TemplateBll, moduleName); break; case "View": - await (0, create_script_1.createView)(path, filename, ModuleView_1.TemplateView); + await (0, create_script_1.createView)(path, filename, ModuleView_1.TemplateView, moduleName); break; case "ViewMvvm": - await (0, create_script_1.createView)(path, filename, ModuleViewVM_1.TemplateViewMvvm); + await (0, create_script_1.createView)(path, filename, ModuleViewVM_1.TemplateViewMvvm, moduleName); break; } close(); diff --git a/dist/template/Module.js b/dist/template/Module.js index 11e1519..bb7e4c4 100644 --- a/dist/template/Module.js +++ b/dist/template/Module.js @@ -2,10 +2,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateModule = void 0; exports.TemplateModule = `import { ecs } from "db://oops-framework/libs/ecs/ECS"; +import { CCEntity } from 'db://oops-framework/module/common/CCEntity'; /** <%Name%> 模块 */ @ecs.register('<%Name%>') -export class <%Name%> extends ecs.Entity { +export class <%Name%> extends CCEntity { /** ---------- 数据层 ---------- */ // <%Name%>Model!: <%Name%>ModelComp; @@ -17,6 +18,6 @@ export class <%Name%> extends ecs.Entity { /** 初始添加的数据层组件 */ protected init() { - // this.addComponents(); + // this.addComponents(); } }`; diff --git a/dist/template/ModuleView.js b/dist/template/ModuleView.js index d05edbe..571a1b9 100644 --- a/dist/template/ModuleView.js +++ b/dist/template/ModuleView.js @@ -3,21 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateView = void 0; exports.TemplateView = `import { _decorator } from "cc"; import { ecs } from "db://oops-framework/libs/ecs/ECS"; -import { CCComp } from "db://oops-framework/module/common/CCComp"; +import { CCView } from "db://oops-framework/module/common/CCView"; const { ccclass, property } = _decorator; /** 视图层对象 */ @ccclass('<%Name%>Comp') @ecs.register('<%Name%>', false) -export class <%Name%>Comp extends CCComp { - /** 视图层逻辑代码分离演示 */ - start() { - // const entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象 - } +export class <%Name%>Comp extends CCView<<%ModuleName%>> { + - /** 视图对象通过 ecs.Entity.remove(<%Name%>Comp) 删除组件是触发组件处理自定义释放逻辑 */ reset() { - this.node.destroy(); + } }`; diff --git a/dist/template/ModuleViewVM.js b/dist/template/ModuleViewVM.js index 9d157eb..402d90b 100644 --- a/dist/template/ModuleViewVM.js +++ b/dist/template/ModuleViewVM.js @@ -2,25 +2,21 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateViewMvvm = void 0; exports.TemplateViewMvvm = `import { _decorator } from "cc"; +import { gui } from "db://oops-framework/core/gui/Gui"; +import { LayerType } from "db://oops-framework/core/gui/layer/LayerEnum"; import { ecs } from "db://oops-framework/libs/ecs/ECS"; -import { CCVMParentComp } from "db://oops-framework/module/common/CCVMParentComp"; +import { CCViewVM } from "db://oops-framework/module/common/CCViewVM"; const { ccclass, property } = _decorator; /** 视图层对象 - 支持 MVVM 框架的数据绑定 */ @ccclass('<%Name%>Comp') @ecs.register('<%Name%>', false) -export class <%Name%>Comp extends CCVMParentComp { - /** 脚本控制的界面 MVVM 框架绑定数据 */ +@gui.register('<%Name%>', { layer: LayerType.UI, prefab: "界面预制路径" }) +export class <%Name%>Comp extends CCViewVM<<%ModuleName%>> { data: any = {}; - /** 视图层逻辑代码分离演示 */ - start() { - // const entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象 - } - - /** 视图对象通过 ecs.Entity.remove(<%Name%>Comp) 删除组件是触发组件处理自定义释放逻辑 */ reset() { - this.node.destroy(); + } }`;