mirror of
https://gitee.com/dgflash/oops-plugin-framework.git
synced 2026-05-07 19:07:30 +08:00
122 lines
5.2 KiB
JavaScript
122 lines
5.2 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createScript = exports.createScriptBll = exports.createScriptModule = exports.createView = void 0;
|
|
const fs_1 = require("fs");
|
|
const path_1 = __importDefault(require("path"));
|
|
/** 写入文件 */
|
|
function createView(directoryPath, fileName, content, moduleName, isEcsComp = true) {
|
|
return new Promise(async (resolve, reject) => {
|
|
// 创建脚本
|
|
let className = fileName + "View";
|
|
let scriptUrl = "";
|
|
if (isEcsComp) {
|
|
scriptUrl = path_1.default.join(directoryPath, fileName) + "ViewComp.ts";
|
|
}
|
|
else {
|
|
scriptUrl = path_1.default.join(directoryPath, fileName) + "View.ts";
|
|
}
|
|
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);
|
|
}
|
|
// 创建预制
|
|
let prefabUrl = path_1.default.join(directoryPath, fileName) + ".prefab";
|
|
if (!(0, fs_1.existsSync)(prefabUrl)) {
|
|
if (isEcsComp)
|
|
className = className + "Comp";
|
|
await Editor.Message.request('scene', 'execute-scene-script', {
|
|
name: "oops-framework",
|
|
method: 'createPrefab',
|
|
args: [fileName, className, prefabUrl]
|
|
});
|
|
}
|
|
// 闪烁提示新创建的脚本文件
|
|
Editor.Message.send('assets', 'twinkle', scriptUrl);
|
|
// 打开脚本
|
|
Editor.Message.request('asset-db', 'open-asset', scriptUrl);
|
|
// 打开预制
|
|
Editor.Message.request('asset-db', 'open-asset', prefabUrl);
|
|
resolve();
|
|
});
|
|
}
|
|
exports.createView = createView;
|
|
function createScriptModule(directoryPath, fileName, content) {
|
|
return new Promise(async (resolve, reject) => {
|
|
// 创建目录
|
|
let pathName = fileName.toLowerCase();
|
|
let pathModule = path_1.default.join(directoryPath, pathName);
|
|
if (!(0, fs_1.existsSync)(pathModule)) {
|
|
await Editor.Message.request('asset-db', 'create-asset', pathModule, null);
|
|
}
|
|
let subPathView = path_1.default.join(pathModule, "view");
|
|
if (!(0, fs_1.existsSync)(subPathView)) {
|
|
await Editor.Message.request('asset-db', 'create-asset', subPathView, null);
|
|
}
|
|
let subPathBll = path_1.default.join(pathModule, "bll");
|
|
if (!(0, fs_1.existsSync)(subPathBll)) {
|
|
await Editor.Message.request('asset-db', 'create-asset', subPathBll, null);
|
|
}
|
|
let subPathModel = path_1.default.join(pathModule, "model");
|
|
if (!(0, fs_1.existsSync)(subPathModel)) {
|
|
await Editor.Message.request('asset-db', 'create-asset', subPathModel, null);
|
|
}
|
|
// 创建脚本
|
|
let scriptUrl = path_1.default.join(pathModule, fileName) + ".ts";
|
|
if (!(0, fs_1.existsSync)(scriptUrl)) {
|
|
content = content.replace(/<%Name%>/g, fileName);
|
|
await Editor.Message.request('asset-db', 'create-asset', scriptUrl, content);
|
|
}
|
|
// 闪烁提示新创建的脚本文件
|
|
Editor.Message.send('assets', 'twinkle', scriptUrl);
|
|
// 打开脚本
|
|
Editor.Message.request('asset-db', 'open-asset', scriptUrl);
|
|
resolve();
|
|
});
|
|
}
|
|
exports.createScriptModule = createScriptModule;
|
|
/** 创建脚本 */
|
|
function createScriptBll(directoryPath, fileName, content, moduleName) {
|
|
return new Promise(async (resolve, reject) => {
|
|
let scriptUrl = path_1.default.join(directoryPath, fileName) + ".ts";
|
|
// 创建脚本
|
|
if (!(0, fs_1.existsSync)(scriptUrl)) {
|
|
content = content.replace(/<%Name%>/g, fileName);
|
|
content = content.replace(/<%ModuleName%>/g, moduleName);
|
|
await Editor.Message.request('asset-db', 'create-asset', scriptUrl, content);
|
|
}
|
|
// 闪烁提示新创建的脚本文件
|
|
Editor.Message.send('assets', 'twinkle', scriptUrl);
|
|
// 打开脚本
|
|
Editor.Message.request('asset-db', 'open-asset', scriptUrl);
|
|
resolve();
|
|
});
|
|
}
|
|
exports.createScriptBll = createScriptBll;
|
|
/** 创建业务层脚本 */
|
|
function createScript(directoryPath, fileName, content, isEcsComp = true) {
|
|
return new Promise(async (resolve, reject) => {
|
|
let scriptUrl = "";
|
|
if (isEcsComp) {
|
|
scriptUrl = path_1.default.join(directoryPath, fileName) + "Comp.ts";
|
|
}
|
|
else {
|
|
scriptUrl = path_1.default.join(directoryPath, fileName) + ".ts";
|
|
}
|
|
// 创建脚本
|
|
if (!(0, fs_1.existsSync)(scriptUrl)) {
|
|
content = content.replace(/<%Name%>/g, fileName);
|
|
await Editor.Message.request('asset-db', 'create-asset', scriptUrl, content);
|
|
}
|
|
// 闪烁提示新创建的脚本文件
|
|
Editor.Message.send('assets', 'twinkle', scriptUrl);
|
|
// 打开脚本
|
|
Editor.Message.request('asset-db', 'open-asset', scriptUrl);
|
|
resolve();
|
|
});
|
|
}
|
|
exports.createScript = createScript;
|