修改代码模板,兼容新版框架

This commit is contained in:
dgflash
2025-09-22 17:34:27 +08:00
parent c8cfabaddc
commit 559870f52c
5 changed files with 20 additions and 24 deletions

View File

@@ -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);
}
// 创建预制

View File

@@ -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();

View File

@@ -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<ecs.Comp>();
// this.addComponents();
}
}`;

View File

@@ -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();
}
}`;

View File

@@ -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();
}
}`;