drgame-cc 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/bin/drgame.d.ts +632 -0
  2. package/bin/drgame.js +3010 -0
  3. package/gulpfile.js +68 -0
  4. package/package.json +10 -16
  5. package/scripts/postinstall.js +9 -144
  6. package/tsconfig.json +26 -0
  7. package/tvui/config/default.json +82 -0
  8. package/tvui/config/default.json.meta +6 -0
  9. package/tvui/config.meta +13 -0
  10. package/tvui/icons/pointer-blue-60.png +0 -0
  11. package/tvui/icons/pointer-blue-60.png.meta +38 -0
  12. package/tvui/icons/pointer-pink-60.png +0 -0
  13. package/tvui/icons/pointer-pink-60.png.meta +38 -0
  14. package/tvui/icons/pointer-yellow-60.png +0 -0
  15. package/tvui/icons/pointer-yellow-60.png.meta +38 -0
  16. package/tvui/icons.meta +13 -0
  17. package/tvui/prefab/ExitWin.prefab +765 -0
  18. package/tvui/prefab/ExitWin.prefab.meta +9 -0
  19. package/tvui/prefab/Toast.prefab +379 -0
  20. package/tvui/prefab/Toast.prefab.meta +9 -0
  21. package/tvui/prefab.meta +13 -0
  22. package/tvui/tv_exit/Toast.png +0 -0
  23. package/tvui/tv_exit/Toast.png.meta +38 -0
  24. package/tvui/tv_exit/close.png +0 -0
  25. package/tvui/tv_exit/close.png.meta +38 -0
  26. package/tvui/tv_exit//345/217/226/346/266/210/346/214/211/351/222/256_/346/231/256/351/200/232.png +0 -0
  27. package/tvui/tv_exit//345/217/226/346/266/210/346/214/211/351/222/256_/346/231/256/351/200/232.png.meta +38 -0
  28. package/tvui/tv_exit//345/217/226/346/266/210/346/214/211/351/222/256_/351/200/211/344/270/255.png +0 -0
  29. package/tvui/tv_exit//345/217/226/346/266/210/346/214/211/351/222/256_/351/200/211/344/270/255.png.meta +38 -0
  30. package/tvui/tv_exit//346/241/206.png +0 -0
  31. package/tvui/tv_exit//346/241/206.png.meta +38 -0
  32. package/tvui/tv_exit//347/241/256/350/256/244/346/214/211/351/222/256_/346/231/256/351/200/232.png +0 -0
  33. package/tvui/tv_exit//347/241/256/350/256/244/346/214/211/351/222/256_/346/231/256/351/200/232.png.meta +38 -0
  34. package/tvui/tv_exit//347/241/256/350/256/244/346/214/211/351/222/256_/351/200/211/344/270/255.png +0 -0
  35. package/tvui/tv_exit//347/241/256/350/256/244/346/214/211/351/222/256_/351/200/211/344/270/255.png.meta +38 -0
  36. package/tvui/tv_exit//351/200/200/345/207/272/346/270/270/346/210/217.png +0 -0
  37. package/tvui/tv_exit//351/200/200/345/207/272/346/270/270/346/210/217.png.meta +38 -0
  38. package/tvui/tv_exit.meta +13 -0
  39. package/bin/drgame-cc.js +0 -143
  40. package/dist/asset-exporter.d.ts +0 -134
  41. package/dist/asset-exporter.d.ts.map +0 -1
  42. package/dist/asset-exporter.js +0 -582
  43. package/dist/asset-exporter.js.map +0 -1
  44. package/dist/asset-types.d.ts +0 -190
  45. package/dist/asset-types.d.ts.map +0 -1
  46. package/dist/asset-types.js +0 -24
  47. package/dist/asset-types.js.map +0 -1
  48. package/dist/index.d.ts +0 -8
  49. package/dist/index.d.ts.map +0 -1
  50. package/dist/index.js +0 -24
  51. package/dist/index.js.map +0 -1
  52. package/dist/utils.d.ts +0 -120
  53. package/dist/utils.d.ts.map +0 -1
  54. package/dist/utils.js +0 -391
  55. package/dist/utils.js.map +0 -1
package/dist/utils.js DELETED
@@ -1,391 +0,0 @@
1
- "use strict";
2
- /**
3
- * 工具函数
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getAssetType = getAssetType;
40
- exports.getImageFormat = getImageFormat;
41
- exports.getAudioFormat = getAudioFormat;
42
- exports.generateUUID = generateUUID;
43
- exports.ensureDir = ensureDir;
44
- exports.getAllFiles = getAllFiles;
45
- exports.getFileSize = getFileSize;
46
- exports.formatFileSize = formatFileSize;
47
- exports.copyFile = copyFile;
48
- exports.readJSON = readJSON;
49
- exports.writeJSON = writeJSON;
50
- exports.isCocosProject = isCocosProject;
51
- exports.getAssetsDir = getAssetsDir;
52
- exports.sleep = sleep;
53
- exports.batchProcess = batchProcess;
54
- exports.copyDir = copyDir;
55
- exports.getBuildTemplatesDir = getBuildTemplatesDir;
56
- exports.copyBuildTemplates = copyBuildTemplates;
57
- const fs = __importStar(require("fs"));
58
- const path = __importStar(require("path"));
59
- const asset_types_1 = require("./asset-types");
60
- /** 图片扩展名映射 */
61
- const IMAGE_EXTENSIONS = {
62
- '.png': 'png',
63
- '.jpg': 'jpg',
64
- '.jpeg': 'jpeg',
65
- '.webp': 'webp',
66
- '.gif': 'gif',
67
- '.bmp': 'bmp',
68
- '.tga': 'tga',
69
- '.psd': 'psd'
70
- };
71
- /** 音频扩展名映射 */
72
- const AUDIO_EXTENSIONS = {
73
- '.mp3': 'mp3',
74
- '.ogg': 'ogg',
75
- '.wav': 'wav',
76
- '.m4a': 'm4a',
77
- '.wma': 'wma',
78
- '.aac': 'aac'
79
- };
80
- /** 资源类型扩展名映射 */
81
- const ASSET_TYPE_EXTENSIONS = {
82
- '.prefab': asset_types_1.AssetType.PREFAB,
83
- '.scene': asset_types_1.AssetType.SCENE,
84
- '.ts': asset_types_1.AssetType.SCRIPT,
85
- '.js': asset_types_1.AssetType.SCRIPT,
86
- '.anim': asset_types_1.AssetType.ANIMATION,
87
- '.ttf': asset_types_1.AssetType.FONT,
88
- '.otf': asset_types_1.AssetType.FONT,
89
- '.woff': asset_types_1.AssetType.FONT,
90
- '.woff2': asset_types_1.AssetType.FONT,
91
- '.fnt': asset_types_1.AssetType.FONT,
92
- '.mat': asset_types_1.AssetType.MATERIAL,
93
- '.mesh': asset_types_1.AssetType.MESH,
94
- '.plist': asset_types_1.AssetType.PARTICLE,
95
- '.json': asset_types_1.AssetType.SPINE,
96
- '.tmx': asset_types_1.AssetType.TILEDMAP
97
- };
98
- /**
99
- * 根据文件路径获取资源类型
100
- * @param filePath 文件路径
101
- * @returns 资源类型
102
- */
103
- function getAssetType(filePath) {
104
- const ext = path.extname(filePath).toLowerCase();
105
- if (IMAGE_EXTENSIONS[ext]) {
106
- return asset_types_1.AssetType.IMAGE;
107
- }
108
- if (AUDIO_EXTENSIONS[ext]) {
109
- return asset_types_1.AssetType.AUDIO;
110
- }
111
- if (ASSET_TYPE_EXTENSIONS[ext]) {
112
- return ASSET_TYPE_EXTENSIONS[ext];
113
- }
114
- return asset_types_1.AssetType.UNKNOWN;
115
- }
116
- /**
117
- * 获取文件扩展名对应的图片格式
118
- * @param filePath 文件路径
119
- * @returns 图片格式或 undefined
120
- */
121
- function getImageFormat(filePath) {
122
- const ext = path.extname(filePath).toLowerCase();
123
- return IMAGE_EXTENSIONS[ext];
124
- }
125
- /**
126
- * 获取文件扩展名对应的音频格式
127
- * @param filePath 文件路径
128
- * @returns 音频格式或 undefined
129
- */
130
- function getAudioFormat(filePath) {
131
- const ext = path.extname(filePath).toLowerCase();
132
- return AUDIO_EXTENSIONS[ext];
133
- }
134
- /**
135
- * 生成UUID
136
- * @returns UUID字符串
137
- */
138
- function generateUUID() {
139
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
140
- const r = Math.random() * 16 | 0;
141
- const v = c === 'x' ? r : (r & 0x3 | 0x8);
142
- return v.toString(16);
143
- });
144
- }
145
- /**
146
- * 确保目录存在,如果不存在则创建
147
- * @param dirPath 目录路径
148
- */
149
- function ensureDir(dirPath) {
150
- if (!fs.existsSync(dirPath)) {
151
- fs.mkdirSync(dirPath, { recursive: true });
152
- }
153
- }
154
- /**
155
- * 递归获取目录下的所有文件
156
- * @param dirPath 目录路径
157
- * @param extensions 可选的文件扩展名过滤列表
158
- * @returns 文件路径列表
159
- */
160
- function getAllFiles(dirPath, extensions) {
161
- const files = [];
162
- if (!fs.existsSync(dirPath)) {
163
- return files;
164
- }
165
- const items = fs.readdirSync(dirPath);
166
- for (const item of items) {
167
- const fullPath = path.join(dirPath, item);
168
- const stat = fs.statSync(fullPath);
169
- if (stat.isDirectory()) {
170
- // 跳过隐藏目录和 node_modules
171
- if (item.startsWith('.') || item === 'node_modules') {
172
- continue;
173
- }
174
- files.push(...getAllFiles(fullPath, extensions));
175
- }
176
- else if (stat.isFile()) {
177
- if (!extensions || extensions.length === 0) {
178
- files.push(fullPath);
179
- }
180
- else {
181
- const ext = path.extname(fullPath).toLowerCase();
182
- if (extensions.includes(ext)) {
183
- files.push(fullPath);
184
- }
185
- }
186
- }
187
- }
188
- return files;
189
- }
190
- /**
191
- * 获取文件大小
192
- * @param filePath 文件路径
193
- * @returns 文件大小(字节),如果文件不存在返回 -1
194
- */
195
- function getFileSize(filePath) {
196
- try {
197
- const stat = fs.statSync(filePath);
198
- return stat.isFile() ? stat.size : -1;
199
- }
200
- catch {
201
- return -1;
202
- }
203
- }
204
- /**
205
- * 格式化文件大小为可读字符串
206
- * @param bytes 字节数
207
- * @returns 格式化后的字符串
208
- */
209
- function formatFileSize(bytes) {
210
- if (bytes === 0)
211
- return '0 B';
212
- const units = ['B', 'KB', 'MB', 'GB', 'TB'];
213
- const k = 1024;
214
- const i = Math.floor(Math.log(bytes) / Math.log(k));
215
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + units[i];
216
- }
217
- /**
218
- * 复制文件
219
- * @param src 源文件路径
220
- * @param dest 目标文件路径
221
- * @returns 是否复制成功
222
- */
223
- function copyFile(src, dest) {
224
- try {
225
- ensureDir(path.dirname(dest));
226
- fs.copyFileSync(src, dest);
227
- return true;
228
- }
229
- catch (error) {
230
- console.error(`复制文件失败: ${src} -> ${dest}`, error);
231
- return false;
232
- }
233
- }
234
- /**
235
- * 读取JSON文件
236
- * @param filePath 文件路径
237
- * @returns JSON对象,失败返回 null
238
- */
239
- function readJSON(filePath) {
240
- try {
241
- const content = fs.readFileSync(filePath, 'utf-8');
242
- return JSON.parse(content);
243
- }
244
- catch (error) {
245
- console.error(`读取JSON文件失败: ${filePath}`, error);
246
- return null;
247
- }
248
- }
249
- /**
250
- * 写入JSON文件
251
- * @param filePath 文件路径
252
- * @param data 数据对象
253
- * @param pretty 是否格式化输出
254
- * @returns 是否写入成功
255
- */
256
- function writeJSON(filePath, data, pretty = true) {
257
- try {
258
- ensureDir(path.dirname(filePath));
259
- const content = pretty ? JSON.stringify(data, null, 2) : JSON.stringify(data);
260
- fs.writeFileSync(filePath, content, 'utf-8');
261
- return true;
262
- }
263
- catch (error) {
264
- console.error(`写入JSON文件失败: ${filePath}`, error);
265
- return false;
266
- }
267
- }
268
- /**
269
- * 检查路径是否为Cocos Creator项目目录
270
- * @param dirPath 目录路径
271
- * @returns 是否为有效的Cocos Creator项目
272
- */
273
- function isCocosProject(dirPath) {
274
- // 检查是否存在 assets 目录(Cocos Creator 项目的标志)
275
- const assetDirs = ['assets', 'Assets'];
276
- for (const dir of assetDirs) {
277
- if (fs.existsSync(path.join(dirPath, dir))) {
278
- return true;
279
- }
280
- }
281
- return false;
282
- }
283
- /**
284
- * 获取Cocos Creator项目的资源目录
285
- * @param projectPath 项目路径
286
- * @returns 资源目录路径,如果找不到返回 null
287
- */
288
- function getAssetsDir(projectPath) {
289
- const assetDirs = ['assets', 'Assets'];
290
- for (const dir of assetDirs) {
291
- const fullPath = path.join(projectPath, dir);
292
- if (fs.existsSync(fullPath)) {
293
- return fullPath;
294
- }
295
- }
296
- return null;
297
- }
298
- /**
299
- * 延迟函数
300
- * @param ms 毫秒数
301
- * @returns Promise
302
- */
303
- function sleep(ms) {
304
- return new Promise(resolve => setTimeout(resolve, ms));
305
- }
306
- /**
307
- * 批量处理函数
308
- * @param items 待处理项列表
309
- * @param processor 处理函数
310
- * @param batchSize 批处理大小
311
- * @returns 处理结果
312
- */
313
- async function batchProcess(items, processor, batchSize = 10) {
314
- const results = [];
315
- for (let i = 0; i < items.length; i += batchSize) {
316
- const batch = items.slice(i, i + batchSize);
317
- const batchResults = await Promise.all(batch.map(processor));
318
- results.push(...batchResults);
319
- }
320
- return results;
321
- }
322
- /**
323
- * 递归拷贝目录
324
- * @param src 源目录
325
- * @param dest 目标目录
326
- * @returns 是否拷贝成功
327
- */
328
- function copyDir(src, dest) {
329
- try {
330
- if (!fs.existsSync(src)) {
331
- console.warn(`源目录不存在: ${src}`);
332
- return false;
333
- }
334
- ensureDir(dest);
335
- const items = fs.readdirSync(src);
336
- for (const item of items) {
337
- const srcPath = path.join(src, item);
338
- const destPath = path.join(dest, item);
339
- const stat = fs.statSync(srcPath);
340
- if (stat.isDirectory()) {
341
- copyDir(srcPath, destPath);
342
- }
343
- else {
344
- copyFile(srcPath, destPath);
345
- }
346
- }
347
- return true;
348
- }
349
- catch (error) {
350
- console.error(`拷贝目录失败: ${src} -> ${dest}`, error);
351
- return false;
352
- }
353
- }
354
- /**
355
- * 获取 build-templates 目录路径
356
- * @param projectPath 项目路径
357
- * @returns build-templates 目录路径,如果不存在返回 null
358
- */
359
- function getBuildTemplatesDir(projectPath) {
360
- const possibleNames = ['build-templates', 'build-templates-web', 'build-templates-native'];
361
- for (const name of possibleNames) {
362
- const fullPath = path.join(projectPath, name);
363
- if (fs.existsSync(fullPath)) {
364
- return fullPath;
365
- }
366
- }
367
- return null;
368
- }
369
- /**
370
- * 拷贝 build-templates 到指定目录
371
- * @param projectPath Cocos Creator 项目路径
372
- * @param outputDir 输出目录
373
- * @param templateName 模板名称(可选,默认为 build-templates)
374
- * @returns 是否拷贝成功
375
- */
376
- function copyBuildTemplates(projectPath, outputDir, templateName) {
377
- const templateDirName = templateName || 'build-templates';
378
- const srcDir = path.join(projectPath, templateDirName);
379
- if (!fs.existsSync(srcDir)) {
380
- console.warn(`build-templates 目录不存在: ${srcDir}`);
381
- return false;
382
- }
383
- const destDir = path.join(outputDir, templateDirName);
384
- console.log(`拷贝 build-templates: ${srcDir} -> ${destDir}`);
385
- const success = copyDir(srcDir, destDir);
386
- if (success) {
387
- console.log(`✓ build-templates 拷贝完成`);
388
- }
389
- return success;
390
- }
391
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}