drgame-cc 1.0.1 → 1.0.5

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