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
@@ -1,582 +0,0 @@
1
- "use strict";
2
- /**
3
- * 资源导出器核心类
4
- * 支持导出Cocos Creator项目中的预制体、图片、音乐等资源
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.default = exports.AssetExporter = void 0;
41
- exports.exportAssets = exportAssets;
42
- exports.exportFromCocosProject = exportFromCocosProject;
43
- const fs = __importStar(require("fs"));
44
- const path = __importStar(require("path"));
45
- const asset_types_1 = require("./asset-types");
46
- const utils_1 = require("./utils");
47
- /**
48
- * 资源导出器类
49
- */
50
- class AssetExporter {
51
- constructor(config) {
52
- this.exportedAssets = new Map();
53
- this.errors = [];
54
- this.config = {
55
- assetTypes: Object.values(asset_types_1.AssetType),
56
- includeDependencies: true,
57
- compress: false,
58
- copyBuildTemplates: true, // 默认启用 build-templates 拷贝
59
- ...config
60
- };
61
- (0, utils_1.ensureDir)(this.config.outputDir);
62
- }
63
- /**
64
- * 执行资源导出
65
- * @returns 导出结果
66
- */
67
- async export() {
68
- const startTime = Date.now();
69
- this.exportedAssets.clear();
70
- this.errors = [];
71
- console.log(`开始导出资源...`);
72
- console.log(`源目录: ${this.config.sourceDir}`);
73
- console.log(`输出目录: ${this.config.outputDir}`);
74
- try {
75
- // 扫描所有资源文件
76
- const files = this.scanSourceFiles();
77
- console.log(`找到 ${files.length} 个资源文件`);
78
- // 过滤资源类型
79
- const filteredFiles = this.filterFilesByType(files);
80
- console.log(`符合过滤条件的文件: ${filteredFiles.length} 个`);
81
- // 批量处理资源导出
82
- await (0, utils_1.batchProcess)(filteredFiles, (file) => this.processFile(file), 5);
83
- // 生成资源清单
84
- this.generateManifest();
85
- // 拷贝 build-templates(如果启用)
86
- console.log(`[DEBUG] copyBuildTemplates 配置: ${this.config.copyBuildTemplates}`);
87
- if (this.config.copyBuildTemplates) {
88
- console.log('[DEBUG] 开始拷贝 build-templates...');
89
- this.copyBuildTemplatesToOutput();
90
- }
91
- else {
92
- console.log('[DEBUG] 跳过 build-templates 拷贝(未启用)');
93
- }
94
- const duration = Date.now() - startTime;
95
- const result = {
96
- assets: Array.from(this.exportedAssets.values()),
97
- successCount: this.exportedAssets.size,
98
- failCount: this.errors.length,
99
- skipCount: files.length - filteredFiles.length,
100
- errors: this.errors,
101
- duration,
102
- outputDir: this.config.outputDir
103
- };
104
- this.printSummary(result);
105
- return result;
106
- }
107
- catch (error) {
108
- const errorMsg = `导出过程发生错误: ${error instanceof Error ? error.message : String(error)}`;
109
- this.errors.push(errorMsg);
110
- console.error(errorMsg);
111
- return {
112
- assets: [],
113
- successCount: 0,
114
- failCount: 1,
115
- skipCount: 0,
116
- errors: this.errors,
117
- duration: Date.now() - startTime,
118
- outputDir: this.config.outputDir
119
- };
120
- }
121
- }
122
- /**
123
- * 扫描源目录中的所有资源文件
124
- * @returns 文件路径列表
125
- */
126
- scanSourceFiles() {
127
- // 支持的资源扩展名
128
- const extensions = [
129
- '.prefab', '.scene', '.ts', '.js', '.anim',
130
- '.png', '.jpg', '.jpeg', '.webp', '.gif', '.bmp',
131
- '.mp3', '.ogg', '.wav', '.m4a',
132
- '.ttf', '.otf', '.woff', '.woff2', '.fnt',
133
- '.mat', '.mesh', '.plist', '.json', '.tmx'
134
- ];
135
- return (0, utils_1.getAllFiles)(this.config.sourceDir, extensions);
136
- }
137
- /**
138
- * 根据配置过滤文件
139
- * @param files 文件路径列表
140
- * @returns 过滤后的文件列表
141
- */
142
- filterFilesByType(files) {
143
- if (!this.config.assetTypes || this.config.assetTypes.length === 0) {
144
- return files;
145
- }
146
- return files.filter(file => {
147
- const assetType = (0, utils_1.getAssetType)(file);
148
- return this.config.assetTypes.includes(assetType);
149
- });
150
- }
151
- /**
152
- * 处理单个文件
153
- * @param filePath 文件路径
154
- */
155
- async processFile(filePath) {
156
- try {
157
- const assetType = (0, utils_1.getAssetType)(filePath);
158
- const relativePath = path.relative(this.config.sourceDir, filePath);
159
- const outputPath = path.join(this.config.outputDir, relativePath);
160
- // 创建资源信息
161
- const assetInfo = await this.createAssetInfo(filePath, assetType);
162
- // 应用自定义过滤器
163
- if (this.config.filter && !this.config.filter(assetInfo)) {
164
- return;
165
- }
166
- // 复制文件到输出目录
167
- const success = (0, utils_1.copyFile)(filePath, outputPath);
168
- if (!success) {
169
- this.errors.push(`复制文件失败: ${relativePath}`);
170
- return;
171
- }
172
- // 复制对应的 .meta 文件
173
- const metaPath = filePath + '.meta';
174
- if (fs.existsSync(metaPath)) {
175
- (0, utils_1.copyFile)(metaPath, outputPath + '.meta');
176
- }
177
- // 处理特殊资源类型
178
- await this.processSpecialAsset(filePath, outputPath, assetInfo);
179
- this.exportedAssets.set(assetInfo.uuid, assetInfo);
180
- console.log(`✓ 导出: ${relativePath} (${(0, utils_1.formatFileSize)(assetInfo.size)})`);
181
- }
182
- catch (error) {
183
- const errorMsg = `处理文件失败 ${filePath}: ${error instanceof Error ? error.message : String(error)}`;
184
- this.errors.push(errorMsg);
185
- console.error(`✗ ${errorMsg}`);
186
- }
187
- }
188
- /**
189
- * 创建资源信息对象
190
- * @param filePath 文件路径
191
- * @param assetType 资源类型
192
- * @returns 资源信息
193
- */
194
- async createAssetInfo(filePath, assetType) {
195
- const stat = fs.statSync(filePath);
196
- const name = path.basename(filePath, path.extname(filePath));
197
- const extension = path.extname(filePath).toLowerCase();
198
- const relativePath = path.relative(this.config.sourceDir, filePath);
199
- // 尝试从 meta 文件读取 UUID
200
- let uuid = (0, utils_1.generateUUID)();
201
- const metaPath = filePath + '.meta';
202
- if (fs.existsSync(metaPath)) {
203
- const meta = (0, utils_1.readJSON)(metaPath);
204
- if (meta?.uuid) {
205
- uuid = meta.uuid;
206
- }
207
- }
208
- const baseInfo = {
209
- uuid,
210
- name,
211
- path: relativePath,
212
- type: assetType,
213
- extension: extension.slice(1),
214
- size: stat.size,
215
- modifiedTime: stat.mtime
216
- };
217
- // 根据资源类型创建特定信息
218
- switch (assetType) {
219
- case asset_types_1.AssetType.IMAGE:
220
- return this.createImageAssetInfo(filePath, baseInfo);
221
- case asset_types_1.AssetType.AUDIO:
222
- return this.createAudioAssetInfo(filePath, baseInfo);
223
- case asset_types_1.AssetType.PREFAB:
224
- return this.createPrefabAssetInfo(filePath, baseInfo);
225
- case asset_types_1.AssetType.SCENE:
226
- return this.createSceneAssetInfo(filePath, baseInfo);
227
- case asset_types_1.AssetType.SCRIPT:
228
- return this.createScriptAssetInfo(filePath, baseInfo);
229
- case asset_types_1.AssetType.ANIMATION:
230
- return this.createAnimationAssetInfo(filePath, baseInfo);
231
- case asset_types_1.AssetType.FONT:
232
- return this.createFontAssetInfo(filePath, baseInfo);
233
- case asset_types_1.AssetType.MATERIAL:
234
- return this.createMaterialAssetInfo(filePath, baseInfo);
235
- default:
236
- return baseInfo;
237
- }
238
- }
239
- /**
240
- * 创建图片资源信息
241
- */
242
- createImageAssetInfo(filePath, baseInfo) {
243
- const format = (0, utils_1.getImageFormat)(filePath) || 'png';
244
- // 这里可以添加读取图片尺寸的逻辑
245
- // 需要引入 sharp 或其他图像处理库
246
- return {
247
- ...baseInfo,
248
- type: asset_types_1.AssetType.IMAGE,
249
- width: 0, // 需要通过图像库获取
250
- height: 0,
251
- format,
252
- hasAlpha: ['png', 'webp', 'gif', 'tga'].includes(format)
253
- };
254
- }
255
- /**
256
- * 创建音频资源信息
257
- */
258
- createAudioAssetInfo(filePath, baseInfo) {
259
- const format = (0, utils_1.getAudioFormat)(filePath) || 'mp3';
260
- return {
261
- ...baseInfo,
262
- type: asset_types_1.AssetType.AUDIO,
263
- format,
264
- loop: false
265
- };
266
- }
267
- /**
268
- * 创建预制体资源信息
269
- */
270
- createPrefabAssetInfo(filePath, baseInfo) {
271
- const content = (0, utils_1.readJSON)(filePath);
272
- return {
273
- ...baseInfo,
274
- type: asset_types_1.AssetType.PREFAB,
275
- nodeCount: this.countNodes(content),
276
- scriptComponents: this.extractScriptComponents(content)
277
- };
278
- }
279
- /**
280
- * 创建场景资源信息
281
- */
282
- createSceneAssetInfo(filePath, baseInfo) {
283
- const content = (0, utils_1.readJSON)(filePath);
284
- return {
285
- ...baseInfo,
286
- type: asset_types_1.AssetType.SCENE,
287
- nodeCount: this.countNodes(content)
288
- };
289
- }
290
- /**
291
- * 创建脚本资源信息
292
- */
293
- createScriptAssetInfo(filePath, baseInfo) {
294
- const ext = path.extname(filePath).toLowerCase();
295
- return {
296
- ...baseInfo,
297
- type: asset_types_1.AssetType.SCRIPT,
298
- language: ext === '.ts' ? 'typescript' : 'javascript'
299
- };
300
- }
301
- /**
302
- * 创建动画资源信息
303
- */
304
- createAnimationAssetInfo(filePath, baseInfo) {
305
- const content = (0, utils_1.readJSON)(filePath);
306
- return {
307
- ...baseInfo,
308
- type: asset_types_1.AssetType.ANIMATION,
309
- duration: content?.duration || 0,
310
- frameRate: content?.frameRate || 60,
311
- clipCount: Array.isArray(content?.clips) ? content.clips.length : 1
312
- };
313
- }
314
- /**
315
- * 创建字体资源信息
316
- */
317
- createFontAssetInfo(filePath, baseInfo) {
318
- const ext = path.extname(filePath).toLowerCase();
319
- let fontFormat = 'ttf';
320
- if (ext === '.otf')
321
- fontFormat = 'otf';
322
- else if (ext === '.woff')
323
- fontFormat = 'woff';
324
- else if (ext === '.woff2')
325
- fontFormat = 'woff2';
326
- else if (ext === '.fnt')
327
- fontFormat = 'bitmap';
328
- return {
329
- ...baseInfo,
330
- type: asset_types_1.AssetType.FONT,
331
- fontFormat
332
- };
333
- }
334
- /**
335
- * 创建材质资源信息
336
- */
337
- createMaterialAssetInfo(filePath, baseInfo) {
338
- const content = (0, utils_1.readJSON)(filePath);
339
- return {
340
- ...baseInfo,
341
- type: asset_types_1.AssetType.MATERIAL,
342
- shaderName: content?.shaderName || ''
343
- };
344
- }
345
- /**
346
- * 处理特殊资源类型(如图片压缩、音频转码等)
347
- */
348
- async processSpecialAsset(_sourcePath, _outputPath, assetInfo) {
349
- // 这里可以添加图片压缩、音频转码等处理逻辑
350
- // 需要引入相应的库如 sharp、ffmpeg 等
351
- switch (assetInfo.type) {
352
- case asset_types_1.AssetType.IMAGE:
353
- // TODO: 图片压缩处理
354
- break;
355
- case asset_types_1.AssetType.AUDIO:
356
- // TODO: 音频转码处理
357
- break;
358
- default:
359
- break;
360
- }
361
- }
362
- /**
363
- * 统计节点数量
364
- */
365
- countNodes(content) {
366
- if (!content || typeof content !== 'object')
367
- return 0;
368
- let count = 0;
369
- const obj = content;
370
- if (obj.children && Array.isArray(obj.children)) {
371
- count += obj.children.length;
372
- for (const child of obj.children) {
373
- count += this.countNodes(child);
374
- }
375
- }
376
- return count;
377
- }
378
- /**
379
- * 提取脚本组件
380
- */
381
- extractScriptComponents(content) {
382
- const components = [];
383
- if (!content || typeof content !== 'object')
384
- return components;
385
- const obj = content;
386
- if (obj.components && Array.isArray(obj.components)) {
387
- for (const comp of obj.components) {
388
- if (comp && typeof comp === 'object' && comp.type) {
389
- const type = comp.type;
390
- if (type && !type.startsWith('cc.')) {
391
- components.push(type);
392
- }
393
- }
394
- }
395
- }
396
- // 递归检查子节点
397
- if (obj.children && Array.isArray(obj.children)) {
398
- for (const child of obj.children) {
399
- components.push(...this.extractScriptComponents(child));
400
- }
401
- }
402
- return [...new Set(components)];
403
- }
404
- /**
405
- * 生成资源清单文件
406
- */
407
- generateManifest() {
408
- const manifest = {
409
- version: '1.0.0',
410
- createdAt: new Date().toISOString(),
411
- assetCount: this.exportedAssets.size,
412
- assets: Array.from(this.exportedAssets.values()).map(asset => ({
413
- uuid: asset.uuid,
414
- name: asset.name,
415
- path: asset.path,
416
- type: asset.type,
417
- size: asset.size
418
- }))
419
- };
420
- const manifestPath = path.join(this.config.outputDir, 'asset-manifest.json');
421
- (0, utils_1.writeJSON)(manifestPath, manifest);
422
- console.log(`\n资源清单已生成: ${manifestPath}`);
423
- }
424
- /**
425
- * 拷贝 build-templates 到 Cocos Creator 项目根目录
426
- */
427
- copyBuildTemplatesToOutput() {
428
- const templateName = this.config.buildTemplatesDir || 'build-templates';
429
- // 获取 npm 包内的 build-templates 目录
430
- const packageRoot = path.resolve(__dirname, '..');
431
- const srcDir = path.join(packageRoot, templateName);
432
- console.log(`[DEBUG] npm 包目录: ${packageRoot}`);
433
- console.log(`[DEBUG] 源目录 (npm 包内): ${srcDir}`);
434
- console.log(`[DEBUG] 源目录存在: ${fs.existsSync(srcDir)}`);
435
- if (!fs.existsSync(srcDir)) {
436
- console.warn(`npm 包内没有 build-templates 目录: ${srcDir}`);
437
- return;
438
- }
439
- // 查找 Cocos Creator 项目根目录
440
- const projectRoot = this.findProjectRoot();
441
- console.log(`[DEBUG] 找到 Cocos Creator 项目根目录: ${projectRoot}`);
442
- if (!projectRoot) {
443
- console.warn('无法找到 Cocos Creator 项目根目录,跳过 build-templates 拷贝');
444
- return;
445
- }
446
- // 拷贝到 Cocos Creator 项目根目录
447
- const destDir = path.join(projectRoot, templateName);
448
- console.log(`[DEBUG] 目标目录 (项目根目录): ${destDir}`);
449
- // 如果源目录和目标目录相同,跳过
450
- if (path.resolve(srcDir) === path.resolve(destDir)) {
451
- console.log('源目录和目标目录相同,跳过拷贝');
452
- return;
453
- }
454
- console.log(`\n拷贝 build-templates: ${srcDir} -> ${destDir}`);
455
- const success = (0, utils_1.copyDir)(srcDir, destDir);
456
- if (success) {
457
- console.log(`✓ build-templates 已拷贝到 Cocos Creator 项目根目录`);
458
- }
459
- else {
460
- this.errors.push(`拷贝 build-templates 失败`);
461
- }
462
- }
463
- /**
464
- * 查找项目根目录
465
- * @returns 项目根目录路径,如果找不到返回 null
466
- */
467
- findProjectRoot() {
468
- // 从 sourceDir 向上查找
469
- let currentDir = this.config.sourceDir;
470
- console.log(`[DEBUG] 开始查找项目根目录,sourceDir: ${currentDir}`);
471
- while (currentDir !== path.dirname(currentDir)) {
472
- console.log(`[DEBUG] 检查目录: ${currentDir}`);
473
- console.log(`[DEBUG] isCocosProject: ${(0, utils_1.isCocosProject)(currentDir)}`);
474
- if ((0, utils_1.isCocosProject)(currentDir)) {
475
- console.log(`[DEBUG] 找到项目根目录: ${currentDir}`);
476
- return currentDir;
477
- }
478
- currentDir = path.dirname(currentDir);
479
- }
480
- console.log(`[DEBUG] 未找到项目根目录`);
481
- return null;
482
- }
483
- /**
484
- * 打印导出摘要
485
- */
486
- printSummary(result) {
487
- console.log('\n========== 导出摘要 ==========');
488
- console.log(`成功: ${result.successCount} 个`);
489
- console.log(`失败: ${result.failCount} 个`);
490
- console.log(`跳过: ${result.skipCount} 个`);
491
- console.log(`耗时: ${(result.duration / 1000).toFixed(2)} 秒`);
492
- // 按类型统计
493
- const typeCount = new Map();
494
- for (const asset of result.assets) {
495
- const count = typeCount.get(asset.type) || 0;
496
- typeCount.set(asset.type, count + 1);
497
- }
498
- console.log('\n资源类型分布:');
499
- for (const [type, count] of typeCount) {
500
- console.log(` ${type}: ${count} 个`);
501
- }
502
- if (result.errors.length > 0) {
503
- console.log('\n错误信息:');
504
- for (const error of result.errors.slice(0, 10)) {
505
- console.log(` - ${error}`);
506
- }
507
- if (result.errors.length > 10) {
508
- console.log(` ... 还有 ${result.errors.length - 10} 个错误`);
509
- }
510
- }
511
- console.log('==============================\n');
512
- }
513
- /**
514
- * 创建资源包
515
- * @param name 包名称
516
- * @param version 包版本
517
- * @param description 包描述
518
- * @returns 资源包对象
519
- */
520
- createAssetBundle(name, version = '1.0.0', description) {
521
- const assets = Array.from(this.exportedAssets.values());
522
- const totalSize = assets.reduce((sum, asset) => sum + asset.size, 0);
523
- return {
524
- name,
525
- version,
526
- assets,
527
- totalSize,
528
- createdAt: new Date(),
529
- description
530
- };
531
- }
532
- /**
533
- * 保存资源包到文件
534
- * @param bundle 资源包
535
- * @param outputPath 输出路径
536
- * @returns 是否保存成功
537
- */
538
- saveAssetBundle(bundle, outputPath) {
539
- try {
540
- (0, utils_1.ensureDir)(path.dirname(outputPath));
541
- return (0, utils_1.writeJSON)(outputPath, bundle);
542
- }
543
- catch (error) {
544
- console.error('保存资源包失败:', error);
545
- return false;
546
- }
547
- }
548
- }
549
- exports.AssetExporter = AssetExporter;
550
- exports.default = AssetExporter;
551
- /**
552
- * 快速导出函数
553
- * @param config 导出配置
554
- * @returns 导出结果
555
- */
556
- async function exportAssets(config) {
557
- const exporter = new AssetExporter(config);
558
- return exporter.export();
559
- }
560
- /**
561
- * 从Cocos Creator项目导出资源
562
- * @param projectPath 项目路径
563
- * @param outputDir 输出目录
564
- * @param options 额外选项
565
- * @returns 导出结果
566
- */
567
- async function exportFromCocosProject(projectPath, outputDir, options) {
568
- if (!(0, utils_1.isCocosProject)(projectPath)) {
569
- throw new Error(`无效的Cocos Creator项目路径: ${projectPath}`);
570
- }
571
- const assetsDir = (0, utils_1.getAssetsDir)(projectPath);
572
- if (!assetsDir) {
573
- throw new Error(`无法找到项目的资源目录: ${projectPath}`);
574
- }
575
- const config = {
576
- sourceDir: assetsDir,
577
- outputDir,
578
- ...options
579
- };
580
- return exportAssets(config);
581
- }
582
- //# sourceMappingURL=asset-exporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-exporter.js","sourceRoot":"","sources":["../src/asset-exporter.ts"],"names":[],"mappings":"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"}