@cocos/cocos-cli-types 0.0.1-alpha.21.1 → 0.0.1-alpha.22.1
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.
- package/cc.d.ts +76009 -0
- package/configuration.d.ts +13 -10
- package/index.d.ts +343 -40
- package/package.json +1 -1
- package/service.d.ts +2344 -0
package/service.d.ts
ADDED
|
@@ -0,0 +1,2344 @@
|
|
|
1
|
+
import { default as cc_2 } from 'cc';
|
|
2
|
+
import { Component } from 'cc';
|
|
3
|
+
import { GeometryRenderer as GeometryRenderer_2 } from 'cc';
|
|
4
|
+
import { Node as Node_2 } from 'cc';
|
|
5
|
+
import { Scene } from 'cc';
|
|
6
|
+
import { TransformBit } from 'cc';
|
|
7
|
+
import { Vec3 as Vec3_2 } from 'cc';
|
|
8
|
+
|
|
9
|
+
/** 动画剪辑资源的 userData */
|
|
10
|
+
declare interface AnimationClipAssetUserData {
|
|
11
|
+
/** 动画名称 */
|
|
12
|
+
name: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare interface AnimationImportSetting {
|
|
16
|
+
/**
|
|
17
|
+
* glTf 中原始动画资源的名称。
|
|
18
|
+
*/
|
|
19
|
+
name: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 原始动画的长度,单位为秒。
|
|
23
|
+
*/
|
|
24
|
+
duration: number;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 用户查看、切割原始动画时的 FPS 设定。
|
|
28
|
+
*/
|
|
29
|
+
fps: number;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 对原始动画的划分,由用户配置。
|
|
33
|
+
* 若此资源存在,所有划分出的动画成为 glTf 资源下的独立动画并将被导出;
|
|
34
|
+
* 否则,直接导入原始动画资源。
|
|
35
|
+
*/
|
|
36
|
+
splits: Array<{
|
|
37
|
+
/**
|
|
38
|
+
* 以前的 ID。如果存在,优先使用这个 ID 来创建子资源,以防止改名后 UUID 变化。
|
|
39
|
+
*/
|
|
40
|
+
previousId?: string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 划分出的动画的名称。
|
|
44
|
+
*/
|
|
45
|
+
name: string;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 划分的起始时刻,单位为秒。
|
|
49
|
+
*/
|
|
50
|
+
from: number;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 划分的终止时刻,单位为秒。
|
|
54
|
+
*/
|
|
55
|
+
to: number;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* 用户查看划分出的子动画时的 FPS 设定。
|
|
59
|
+
*/
|
|
60
|
+
fps?: number;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* 速度。
|
|
64
|
+
*/
|
|
65
|
+
speed?: number;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 动画循环模式。
|
|
69
|
+
*/
|
|
70
|
+
wrapMode?: number;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 额外的动画辅助曲线信息。
|
|
74
|
+
*/
|
|
75
|
+
auxiliaryCurves?: Record<
|
|
76
|
+
string,
|
|
77
|
+
{
|
|
78
|
+
/**
|
|
79
|
+
* 序列化后的曲线。
|
|
80
|
+
*/
|
|
81
|
+
curve: unknown;
|
|
82
|
+
}
|
|
83
|
+
>;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* 加性动画导入设置。
|
|
87
|
+
*/
|
|
88
|
+
additive?: {
|
|
89
|
+
/**
|
|
90
|
+
* 是否将动画导入为加性动画。
|
|
91
|
+
*/
|
|
92
|
+
enabled: boolean;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 参考动画。
|
|
96
|
+
* 若设置,将参考该动画第 0 帧的姿势计算加性动画;
|
|
97
|
+
* 否则,则将参考第动画本身第 0 帧的姿势进行计算。
|
|
98
|
+
*/
|
|
99
|
+
refClip?: string;
|
|
100
|
+
};
|
|
101
|
+
}>;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** 所有资源处理器类型的常量数组(用于 Zod enum 和 TypeScript type) */
|
|
105
|
+
declare const ASSET_HANDLER_TYPES: string[];
|
|
106
|
+
|
|
107
|
+
/** 资源处理器类型(从常量数组派生) */
|
|
108
|
+
declare type AssetHandlerType = typeof ASSET_HANDLER_TYPES[number] | 'database';
|
|
109
|
+
|
|
110
|
+
export declare class AssetService extends BaseService<IAssetEvents> implements IAssetService {
|
|
111
|
+
/**
|
|
112
|
+
* 主进程监听 asset 事件,所触发事件
|
|
113
|
+
* @param uuid
|
|
114
|
+
*/
|
|
115
|
+
assetChanged(uuid: string): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* 主进程监听 asset 事件,所触发事件
|
|
118
|
+
* @param uuid
|
|
119
|
+
*/
|
|
120
|
+
assetDeleted(uuid: string): Promise<void>;
|
|
121
|
+
onEditorOpened(): void;
|
|
122
|
+
onNodeChanged(node: Node_2): void;
|
|
123
|
+
onComponentAdded(comp: Component): void;
|
|
124
|
+
onComponentRemoved(comp: Component): void;
|
|
125
|
+
releaseAsset(assetUUID: string): void;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
declare interface AssetUserDataMap {
|
|
129
|
+
'animation-clip': AnimationClipAssetUserData;
|
|
130
|
+
'auto-atlas': AutoAtlasAssetUserData;
|
|
131
|
+
'label-atlas': LabelAtlasAssetUserData;
|
|
132
|
+
'render-texture': RenderTextureAssetUserData;
|
|
133
|
+
'directory': DirectoryAssetUserData;
|
|
134
|
+
'texture-cube': TextureCubeAssetUserData;
|
|
135
|
+
'erp-texture-cube': TextureCubeAssetUserData;
|
|
136
|
+
'image': ImageAssetUserData;
|
|
137
|
+
'sprite-frame': SpriteFrameAssetUserData;
|
|
138
|
+
'texture': Texture2DAssetUserData;
|
|
139
|
+
'spine-data': SpineAssetUserData;
|
|
140
|
+
'javascript': JavaScriptAssetUserData;
|
|
141
|
+
'gltf-animation': GltfAnimationAssetUserData;
|
|
142
|
+
'particle': ParticleAssetUserData;
|
|
143
|
+
'json': JsonAssetUserData;
|
|
144
|
+
'prefab': PrefabAssetUserData;
|
|
145
|
+
'scene': PrefabAssetUserData;
|
|
146
|
+
'effect': EffectAssetUserData;
|
|
147
|
+
'audio-clip': AudioClipAssetUserData;
|
|
148
|
+
'bitmap-font': BitmapFontAssetUserData;
|
|
149
|
+
'gltf-skeleton': GltfSkeletonAssetUserData;
|
|
150
|
+
'gltf-embeded-image': GltfEmbededImageAssetUserData;
|
|
151
|
+
'gltf-mesh': IVirtualAssetUserData;
|
|
152
|
+
'gltf-material': IVirtualAssetUserData;
|
|
153
|
+
'gltf-scene': IVirtualAssetUserData;
|
|
154
|
+
'gltf': GlTFUserData;
|
|
155
|
+
'fbx': GlTFUserData;
|
|
156
|
+
'sprite-atlas': SpriteAtlasAssetUserData;
|
|
157
|
+
'rt-sprite-frame': RtSpriteFrameAssetUserData;
|
|
158
|
+
'sign-image': ImageAssetUserData;
|
|
159
|
+
'alpha-image': ImageAssetUserData;
|
|
160
|
+
|
|
161
|
+
// 无特定 userData 的资源类型(仅保留 unknown)
|
|
162
|
+
'unknown': any;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/** 音频资源的 userData */
|
|
166
|
+
declare interface AudioClipAssetUserData {
|
|
167
|
+
/** 下载模式:0-Web Audio, 1-DOM Audio */
|
|
168
|
+
downloadMode: number;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** 自动图集资源的 userData */
|
|
172
|
+
declare interface AutoAtlasAssetUserData {
|
|
173
|
+
compressed: boolean;
|
|
174
|
+
dest: any;
|
|
175
|
+
/** 打包图像的尺寸 */
|
|
176
|
+
maxWidth: number;
|
|
177
|
+
maxHeight: number;
|
|
178
|
+
/** 图像的边距 */
|
|
179
|
+
padding: number;
|
|
180
|
+
allowRotation: boolean;
|
|
181
|
+
forceSquared: boolean;
|
|
182
|
+
powerOfTwo: boolean;
|
|
183
|
+
algorithm: string;
|
|
184
|
+
format: string;
|
|
185
|
+
quality: number;
|
|
186
|
+
contourBleed: boolean;
|
|
187
|
+
paddingBleed: boolean;
|
|
188
|
+
filterUnused: boolean;
|
|
189
|
+
removeTextureInBundle: boolean;
|
|
190
|
+
removeImageInBundle: boolean;
|
|
191
|
+
removeSpriteAtlasInBundle: boolean;
|
|
192
|
+
platformSettings: any;
|
|
193
|
+
textureSetting: any;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
declare class BaseService<TEvents extends Record<string, any>> {
|
|
197
|
+
protected isOpen: boolean;
|
|
198
|
+
/**
|
|
199
|
+
* 触发事件
|
|
200
|
+
* @param event 事件名称
|
|
201
|
+
* @param args 事件参数(根据事件类型自动推断)
|
|
202
|
+
*/
|
|
203
|
+
protected emit<K extends keyof TEvents>(event: K, ...args: TEvents[K]): void;
|
|
204
|
+
/**
|
|
205
|
+
* 跨进程广播事件
|
|
206
|
+
*/
|
|
207
|
+
broadcast<K extends keyof TEvents>(event: K, ...args: TEvents[K]): void;
|
|
208
|
+
/**
|
|
209
|
+
* 监听事件
|
|
210
|
+
* @param event 事件名称
|
|
211
|
+
* @param listener 事件监听器
|
|
212
|
+
*/
|
|
213
|
+
protected on<K extends keyof TEvents>(event: K, listener: TEvents[K] extends void ? () => void : (payload: TEvents[K]) => void): void;
|
|
214
|
+
/**
|
|
215
|
+
* 一次性监听事件
|
|
216
|
+
* @param event 事件名称
|
|
217
|
+
* @param listener 事件监听器
|
|
218
|
+
*/
|
|
219
|
+
protected once<K extends keyof TEvents>(event: K, listener: TEvents[K] extends void ? () => void : (payload: TEvents[K]) => void): void;
|
|
220
|
+
/**
|
|
221
|
+
* 移除事件监听器
|
|
222
|
+
* @param event 事件名称
|
|
223
|
+
* @param listener 事件监听器
|
|
224
|
+
*/
|
|
225
|
+
protected off<K extends keyof TEvents>(event: K, listener: TEvents[K] extends void ? () => void : (payload: TEvents[K]) => void): void;
|
|
226
|
+
/**
|
|
227
|
+
* 清除事件监听器
|
|
228
|
+
* @param event 事件名称,如果不提供则清除所有
|
|
229
|
+
*/
|
|
230
|
+
protected clear(event?: keyof TEvents): void;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/** 位图字体资源的 userData */
|
|
234
|
+
declare interface BitmapFontAssetUserData {
|
|
235
|
+
/** 字体配置 */
|
|
236
|
+
_fntConfig: any;
|
|
237
|
+
/** 字体大小 */
|
|
238
|
+
fontSize: number;
|
|
239
|
+
/** 纹理 UUID */
|
|
240
|
+
textureUuid: string;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* 子进程节点处理器
|
|
245
|
+
* 在子进程中处理所有节点相关操作
|
|
246
|
+
*/
|
|
247
|
+
export declare class ComponentService extends BaseService<IComponentEvents> implements IComponentService {
|
|
248
|
+
modeName: SceneModeType;
|
|
249
|
+
protected _sceneEventListener: ISceneEvents[];
|
|
250
|
+
protected _recycleComponent: Record<string, Component>;
|
|
251
|
+
constructor();
|
|
252
|
+
/**
|
|
253
|
+
* 查询当前正在编辑的模式名字
|
|
254
|
+
*/
|
|
255
|
+
queryMode(): SceneModeType;
|
|
256
|
+
onAddComponent(comp: Component, opts?: IOptionBase): void;
|
|
257
|
+
onRemoveComponent(comp: Component, opts?: IOptionBase): void;
|
|
258
|
+
onComponentAdded(comp: Component, opts?: IOptionBase): void;
|
|
259
|
+
onComponentRemoved(comp: Component, opts?: IOptionBase): void;
|
|
260
|
+
dispatchEvents(eventName: keyof ISceneEvents, ...args: any[any]): void;
|
|
261
|
+
private addComponentImpl;
|
|
262
|
+
addComponent(params: IAddComponentOptions): Promise<IComponent>;
|
|
263
|
+
/**
|
|
264
|
+
* 创建组件
|
|
265
|
+
* @param params
|
|
266
|
+
*/
|
|
267
|
+
private requireComponentList;
|
|
268
|
+
createComponent(params: IAddComponentOptions): Promise<boolean>;
|
|
269
|
+
checkComponentsCollision(node: Node_2): Promise<void>;
|
|
270
|
+
checkDynamicBodyShape(ndoe: Node_2): void;
|
|
271
|
+
/**
|
|
272
|
+
* 通过 path、uuid 或 url 查找组件实例
|
|
273
|
+
*/
|
|
274
|
+
private findComponent;
|
|
275
|
+
removeComponent(params: IRemoveComponentOptions): Promise<boolean>;
|
|
276
|
+
queryComponent(params: IQueryComponentOptions): Promise<IComponent | IComponentForPinK | null>;
|
|
277
|
+
setProperty(options: ISetPropertyOptions): Promise<boolean>;
|
|
278
|
+
/**
|
|
279
|
+
* 查询一个节点的实例
|
|
280
|
+
* @param {*} uuid
|
|
281
|
+
* @return {cc.Node}
|
|
282
|
+
*/
|
|
283
|
+
query(uuid: string | undefined): Node_2 | null;
|
|
284
|
+
setPropertyForPink(uuid: string, path: string, dump: IProperty, record?: boolean): Promise<boolean>;
|
|
285
|
+
private setPropertyImp;
|
|
286
|
+
queryAllComponent(): Promise<string[]>;
|
|
287
|
+
init(): void;
|
|
288
|
+
private readonly CompMgrEventHandlers;
|
|
289
|
+
private compMgrEventHandlers;
|
|
290
|
+
/**
|
|
291
|
+
* 注册引擎 Node 管理相关事件的监听
|
|
292
|
+
*/
|
|
293
|
+
registerCompMgrEvents(): void;
|
|
294
|
+
unregisterCompMgrEvents(): void;
|
|
295
|
+
/**
|
|
296
|
+
* 添加到组件缓存
|
|
297
|
+
* @param {String} uuid
|
|
298
|
+
* @param {cc.Component} component
|
|
299
|
+
*/
|
|
300
|
+
add(uuid: string, component: Component): void;
|
|
301
|
+
/**
|
|
302
|
+
* 移除组件缓存
|
|
303
|
+
* @param {String} uuid
|
|
304
|
+
* @param {cc.Component} component
|
|
305
|
+
*/
|
|
306
|
+
remove(uuid: string, component: Component): void;
|
|
307
|
+
/**
|
|
308
|
+
* 重置组件
|
|
309
|
+
* @param uuid component 的 uuid
|
|
310
|
+
*/
|
|
311
|
+
resetComponent(params: IQueryComponentOptions): Promise<boolean>;
|
|
312
|
+
executeComponentMethod(options: IExecuteComponentMethodOptions): Promise<boolean>;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* 创建类型
|
|
317
|
+
*/
|
|
318
|
+
declare const CREATE_TYPES: readonly ['scene', 'prefab'];
|
|
319
|
+
|
|
320
|
+
/** 文件夹资源的 userData */
|
|
321
|
+
declare interface DirectoryAssetUserData {
|
|
322
|
+
/** 是否是资源包 */
|
|
323
|
+
isBundle?: boolean;
|
|
324
|
+
/** 资源包配置 ID */
|
|
325
|
+
bundleConfigID?: string;
|
|
326
|
+
/** 资源包名称 */
|
|
327
|
+
bundleName?: string;
|
|
328
|
+
/** 优先级 */
|
|
329
|
+
priority?: number;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* EditorAsset - 统一的编辑器管理入口
|
|
334
|
+
* 作为调度器,根据资源类型动态创建和管理编辑器实例
|
|
335
|
+
*/
|
|
336
|
+
export declare class EditorService extends BaseService<IEditorEvents> implements IEditorService {
|
|
337
|
+
private needReloadAgain;
|
|
338
|
+
private lastSceneOrNode;
|
|
339
|
+
private reloadPromise;
|
|
340
|
+
private currentEditorUuid;
|
|
341
|
+
private editorMap;
|
|
342
|
+
private lockCount;
|
|
343
|
+
private lockPromise;
|
|
344
|
+
private lockResolve;
|
|
345
|
+
private _isReloading;
|
|
346
|
+
lock(): Promise<void>;
|
|
347
|
+
unlock(): void;
|
|
348
|
+
waitLocks(): Promise<void>;
|
|
349
|
+
/**
|
|
350
|
+
* 当前编辑的类型
|
|
351
|
+
*/
|
|
352
|
+
getCurrentEditorType(): 'scene' | 'prefab' | 'unknown';
|
|
353
|
+
/**
|
|
354
|
+
* 是否打开场景
|
|
355
|
+
*/
|
|
356
|
+
hasOpen(): Promise<boolean>;
|
|
357
|
+
/**
|
|
358
|
+
* 根据资源类型创建对应的编辑器
|
|
359
|
+
*/
|
|
360
|
+
private createEditor;
|
|
361
|
+
queryCurrent(): Promise<IScene | INode | null>;
|
|
362
|
+
getRootNode(): cc_2.Scene | cc_2.Node | null;
|
|
363
|
+
open(params: IOpenOptions): Promise<IScene | INode>;
|
|
364
|
+
close(params: ICloseOptions): Promise<boolean>;
|
|
365
|
+
save(params: ISaveOptions): Promise<IAssetInfo>;
|
|
366
|
+
reload(params: IReloadOptions): Promise<ReloadResult>;
|
|
367
|
+
create(params: ICreateOptions): Promise<IBaseIdentifier>;
|
|
368
|
+
onScriptExecutionFinished(): void;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/** Effect 着色器资源的 userData */
|
|
372
|
+
declare interface EffectAssetUserData {
|
|
373
|
+
/** 预编译组合 */
|
|
374
|
+
combinations?: any;
|
|
375
|
+
/** 编辑器相关数据 */
|
|
376
|
+
editor?: any;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* 引擎管理器,用于引擎相关操作
|
|
381
|
+
*/
|
|
382
|
+
export declare class EngineService extends BaseService<IEngineEvents> implements IEngineService {
|
|
383
|
+
private _setTimeoutId;
|
|
384
|
+
private _rafId;
|
|
385
|
+
private _maxDeltaTimeInEM;
|
|
386
|
+
private _stateRecord;
|
|
387
|
+
private _shouldRepaintInEM;
|
|
388
|
+
private _tickInEM;
|
|
389
|
+
private _tickedFrameInEM;
|
|
390
|
+
private _paused;
|
|
391
|
+
private _capture;
|
|
392
|
+
private _bindTick;
|
|
393
|
+
private geometryRenderer;
|
|
394
|
+
private _sceneTick;
|
|
395
|
+
init(): Promise<void>;
|
|
396
|
+
setTimeout(callback: any, time: number): void;
|
|
397
|
+
clearTimeout(): void;
|
|
398
|
+
repaintInEditMode(): Promise<void>;
|
|
399
|
+
setFrameRate(fps: number): void;
|
|
400
|
+
startTick(): void;
|
|
401
|
+
stopTick(): void;
|
|
402
|
+
tickInEditMode(deltaTime: number): void;
|
|
403
|
+
getGeometryRenderer(): GeometryRenderer & Pick<GeometryRenderer_2, 'addDashedLine' | 'addTriangle' | 'addQuad' | 'addBoundingBox' | 'addCross' | 'addFrustum' | 'addCapsule' | 'addCylinder' | 'addCone' | 'addCircle' | 'addArc' | 'addPolygon' | 'addDisc' | 'addSector' | 'addSphere' | 'addTorus' | 'addOctahedron' | 'addBezier' | 'addMesh' | 'addIndexedMesh'>;
|
|
404
|
+
resume(): void;
|
|
405
|
+
pause(): void;
|
|
406
|
+
private _tick;
|
|
407
|
+
private _isTickAllowed;
|
|
408
|
+
get capture(): boolean;
|
|
409
|
+
set capture(b: boolean);
|
|
410
|
+
onEditorOpened(): void;
|
|
411
|
+
onEditorClosed(): void;
|
|
412
|
+
onEditorReload(): void;
|
|
413
|
+
onNodeChanged(): void;
|
|
414
|
+
onComponentAdded(): void;
|
|
415
|
+
onComponentRemoved(): void;
|
|
416
|
+
onSetPropertyComponent(): void;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
declare type Filter = 'none' | 'nearest' | 'linear';
|
|
420
|
+
|
|
421
|
+
declare interface FntData {
|
|
422
|
+
commonHeight?: number;
|
|
423
|
+
fontSize?: number;
|
|
424
|
+
atlasName?: string;
|
|
425
|
+
fontDefDictionary?: FontDefDictionary;
|
|
426
|
+
kerningDict?: KerningDict;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
declare interface FontDef {
|
|
430
|
+
rect: {
|
|
431
|
+
x: number;
|
|
432
|
+
y: number;
|
|
433
|
+
width: number;
|
|
434
|
+
height: number;
|
|
435
|
+
};
|
|
436
|
+
xOffset: number;
|
|
437
|
+
yOffset: number;
|
|
438
|
+
xAdvance: number;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
declare interface FontDefDictionary {
|
|
442
|
+
[charId: number]: FontDef;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
declare class GeometryRenderer {
|
|
446
|
+
private _renderer;
|
|
447
|
+
private _dataMap;
|
|
448
|
+
constructor();
|
|
449
|
+
get renderer(): any;
|
|
450
|
+
set renderer(renderer: any);
|
|
451
|
+
flush(): void;
|
|
452
|
+
removeData(method: string): void;
|
|
453
|
+
removeDataAll(): void;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
/**
|
|
457
|
+
* 获取全部 Service
|
|
458
|
+
*/
|
|
459
|
+
export declare function getServiceAll(): any[];
|
|
460
|
+
|
|
461
|
+
/** glTF 动画资源的 userData */
|
|
462
|
+
declare interface GltfAnimationAssetUserData {
|
|
463
|
+
gltfIndex: number;
|
|
464
|
+
events: Array<{
|
|
465
|
+
frame: number;
|
|
466
|
+
func: string;
|
|
467
|
+
params: string[];
|
|
468
|
+
}>;
|
|
469
|
+
editorExtras?: unknown;
|
|
470
|
+
embeddedPlayers?: Array<{
|
|
471
|
+
editorExtras?: unknown;
|
|
472
|
+
begin: number;
|
|
473
|
+
end: number;
|
|
474
|
+
reconciledSpeed: boolean;
|
|
475
|
+
playable:
|
|
476
|
+
| {
|
|
477
|
+
type: 'animation-clip';
|
|
478
|
+
path: string;
|
|
479
|
+
clip: string;
|
|
480
|
+
}
|
|
481
|
+
| {
|
|
482
|
+
type: 'particle-system';
|
|
483
|
+
path: string;
|
|
484
|
+
};
|
|
485
|
+
}>;
|
|
486
|
+
auxiliaryCurves?: Record<string, { curve: any }>;
|
|
487
|
+
wrapMode: number;
|
|
488
|
+
speed?: number;
|
|
489
|
+
sample?: number;
|
|
490
|
+
span?: {
|
|
491
|
+
from: number;
|
|
492
|
+
to: number;
|
|
493
|
+
};
|
|
494
|
+
additive?: any;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
/** glTF 嵌入图片子资源的 userData */
|
|
498
|
+
declare interface GltfEmbededImageAssetUserData extends IVirtualAssetUserData {
|
|
499
|
+
/** 是否修复 Alpha 透明度瑕疵 */
|
|
500
|
+
fixAlphaTransparencyArtifacts?: boolean;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
declare type GltfpackOptions = Record<string, any>;
|
|
504
|
+
|
|
505
|
+
/** glTF Skeleton 子资源的 userData */
|
|
506
|
+
declare interface GltfSkeletonAssetUserData extends IVirtualAssetUserData {
|
|
507
|
+
/** 骨骼数量 */
|
|
508
|
+
jointsLength?: number;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
declare interface GlTFUserData {
|
|
512
|
+
assetFinder?: SerializedAssetFinder;
|
|
513
|
+
|
|
514
|
+
imageMetas: ImageMeta[];
|
|
515
|
+
|
|
516
|
+
// Normal import settings
|
|
517
|
+
// @default required
|
|
518
|
+
normals?: NormalImportSetting;
|
|
519
|
+
|
|
520
|
+
// Tangent import settings;
|
|
521
|
+
// @default required
|
|
522
|
+
tangents?: TangentImportSetting;
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Controls how to import morph normals.
|
|
526
|
+
* @default Exclude.
|
|
527
|
+
*/
|
|
528
|
+
morphNormals?: NormalImportSetting.exclude | NormalImportSetting.optional;
|
|
529
|
+
|
|
530
|
+
// Whether to extract material assets out of embedded (sub)assets,
|
|
531
|
+
// so that the assets become editable.
|
|
532
|
+
// @default false
|
|
533
|
+
dumpMaterials?: boolean;
|
|
534
|
+
|
|
535
|
+
// only for chat avatar
|
|
536
|
+
redirectMaterialMap?: Record<string, string>;
|
|
537
|
+
|
|
538
|
+
// The directory to dump the materials.
|
|
539
|
+
// Default to a direct sub-folder prefixed with 'Materials_' under current path.
|
|
540
|
+
materialDumpDir?: string;
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Whether to use vertex colors(if valid) in material.
|
|
544
|
+
* @default false
|
|
545
|
+
*/
|
|
546
|
+
useVertexColors?: boolean;
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Whether to enable depth-write if the material specify the `BLEND` mode.
|
|
550
|
+
* See https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#alpha-coverage
|
|
551
|
+
* @default false
|
|
552
|
+
*/
|
|
553
|
+
depthWriteInAlphaModeBlend?: boolean;
|
|
554
|
+
|
|
555
|
+
// @default true
|
|
556
|
+
skipValidation?: boolean;
|
|
557
|
+
|
|
558
|
+
/**
|
|
559
|
+
* 整个数组由导入器创建。`name` 和 `duration` 也都由导入器写入修改,外部不允许修改。
|
|
560
|
+
* `splits` 是允许用户配置的。
|
|
561
|
+
*/
|
|
562
|
+
animationImportSettings?: AnimationImportSetting[];
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* 是否将所有动画挂载到生成的预制体上。
|
|
566
|
+
* @default false
|
|
567
|
+
*/
|
|
568
|
+
mountAllAnimationsOnPrefab?: boolean;
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* 使用旧的 FBX 导入器。(在非 FBX 导入器上是 `undefined`)
|
|
572
|
+
*/
|
|
573
|
+
legacyFbxImporter?: boolean;
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* 禁用 Mesh 分割,默认勾选
|
|
577
|
+
*/
|
|
578
|
+
disableMeshSplit?: boolean;
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* 允许数据访问。
|
|
582
|
+
*/
|
|
583
|
+
allowMeshDataAccess?: boolean;
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* 是否添加填充顶点色
|
|
587
|
+
* @default false
|
|
588
|
+
*/
|
|
589
|
+
addVertexColor?: boolean;
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* 若开启并且模型场景顶部仅有一个节点,那么以该节点作为根节点转换为 Prefab。
|
|
593
|
+
* 否则,以场景为根节点转换为 Prefab。见 cocos/cocos-engine#11858 。
|
|
594
|
+
*/
|
|
595
|
+
promoteSingleRootNode?: boolean;
|
|
596
|
+
/*
|
|
597
|
+
* 若开启则自动生成 Lightmap UV,并将 UV 写入第二个通道(若第二个通道有 UV , 则该 UV 会被覆盖)
|
|
598
|
+
* 否则,使用默认 UV 。
|
|
599
|
+
*/
|
|
600
|
+
generateLightmapUVNode?: boolean;
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* 关于 FBX 的配置。仅当 `legacyFbxImporter === false` 时有效。
|
|
604
|
+
*/
|
|
605
|
+
fbx?: IFbxSetting;
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* 减面配置
|
|
609
|
+
*/
|
|
610
|
+
meshOptimizer?: MeshOptimizerOption;
|
|
611
|
+
|
|
612
|
+
/**
|
|
613
|
+
* mesh 优化配置
|
|
614
|
+
*/
|
|
615
|
+
meshOptimize?: MeshOptimizeOptions;
|
|
616
|
+
|
|
617
|
+
/**
|
|
618
|
+
* 是否开启 mesh 减面
|
|
619
|
+
*/
|
|
620
|
+
meshSimplify?: MeshSimplifyOptions;
|
|
621
|
+
|
|
622
|
+
/**
|
|
623
|
+
* MeshCluster Options
|
|
624
|
+
*/
|
|
625
|
+
meshCluster?: MeshClusterOptions;
|
|
626
|
+
|
|
627
|
+
/**
|
|
628
|
+
* Mesh compression options
|
|
629
|
+
*/
|
|
630
|
+
meshCompress?: MeshCompressOptions;
|
|
631
|
+
|
|
632
|
+
lods?: {
|
|
633
|
+
// 是否开启 LODS
|
|
634
|
+
enable: boolean;
|
|
635
|
+
// fbx 是否自带 LOD
|
|
636
|
+
hasBuiltinLOD: boolean;
|
|
637
|
+
// fbx 各层级 lod 的配置
|
|
638
|
+
options: LODsOption[];
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* 创建/添加组件
|
|
644
|
+
*/
|
|
645
|
+
declare interface IAddComponentOptions {
|
|
646
|
+
nodePathOrUuid: string;
|
|
647
|
+
component: string;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
declare interface IApplyPrefabChangesParams {
|
|
651
|
+
nodePath: string;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
/**
|
|
655
|
+
* 资源事件类型
|
|
656
|
+
*/
|
|
657
|
+
declare interface IAssetEvents {
|
|
658
|
+
'asset:change': [uuid: string];
|
|
659
|
+
'asset:deleted': [uuid: string];
|
|
660
|
+
'asset-refresh': [uuid: string];
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
declare interface IAssetInfo {
|
|
664
|
+
name: string; // 资源名字
|
|
665
|
+
source: string; // url 地址
|
|
666
|
+
loadUrl: string; // loader 加载的层级地址
|
|
667
|
+
url: string; // loader 加载地址会去掉扩展名,这个参数不去掉
|
|
668
|
+
file: string; // 绝对路径
|
|
669
|
+
uuid: string; // 资源的唯一 ID
|
|
670
|
+
importer: AssetHandlerType; // 使用的导入器名字
|
|
671
|
+
imported: boolean; // 是否结束导入过程
|
|
672
|
+
invalid: boolean; // 是否导入成功
|
|
673
|
+
type: IAssetType; // 类型
|
|
674
|
+
isDirectory: boolean; // 是否是文件夹
|
|
675
|
+
library: { [key: string]: string }; // 导入资源的 map
|
|
676
|
+
|
|
677
|
+
// dataKeys 作用范围
|
|
678
|
+
isBundle?: boolean; // 是否是文件夹
|
|
679
|
+
displayName?: string; // 资源用于显示的名字
|
|
680
|
+
readonly?: boolean; // 是否只读
|
|
681
|
+
visible?: boolean; // 是否显示
|
|
682
|
+
subAssets?: { [key: string]: IAssetInfo }; // 子资源 map
|
|
683
|
+
// 虚拟资源可以实例化成实体的话,会带上这个扩展名
|
|
684
|
+
instantiation?: string;
|
|
685
|
+
redirect?: IRedirectInfo; // 跳转指向资源
|
|
686
|
+
meta?: IAssetMeta,
|
|
687
|
+
parent?: {
|
|
688
|
+
source: string;
|
|
689
|
+
library: { [key: string]: string };
|
|
690
|
+
uuid: string;
|
|
691
|
+
};
|
|
692
|
+
extends?: string[]; // 资源的继承链信息
|
|
693
|
+
mtime?: number; // 资源文件的 mtime
|
|
694
|
+
depends?: string[]; // 依赖的资源 uuid 信息
|
|
695
|
+
dependeds?: string[]; // 被依赖的资源 uuid 信息
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
declare interface IAssetMeta<T extends ISupportCreateType | 'unknown' = 'unknown'> {
|
|
699
|
+
ver: string;
|
|
700
|
+
importer: AssetHandlerType;
|
|
701
|
+
imported: boolean;
|
|
702
|
+
uuid: string;
|
|
703
|
+
files: string[];
|
|
704
|
+
subMetas: {
|
|
705
|
+
[index: string]: IAssetMeta<'unknown'>;
|
|
706
|
+
};
|
|
707
|
+
userData: AssetUserDataMap[T extends keyof AssetUserDataMap ? T : 'unknown'];
|
|
708
|
+
displayName?: string;
|
|
709
|
+
id?: string;
|
|
710
|
+
name?: string;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* 场景相关处理接口
|
|
715
|
+
*/
|
|
716
|
+
declare interface IAssetService extends IServiceEvents {
|
|
717
|
+
/**
|
|
718
|
+
* 资源发生变化时,进行处理
|
|
719
|
+
* @param uuid
|
|
720
|
+
*/
|
|
721
|
+
assetChanged(uuid: string): Promise<void>;
|
|
722
|
+
/**
|
|
723
|
+
* 资源删除时,进行处理
|
|
724
|
+
* @param uuid
|
|
725
|
+
*/
|
|
726
|
+
assetDeleted(uuid: string): Promise<void>;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
declare type IAssetType =
|
|
730
|
+
| ISupportCreateCCType
|
|
731
|
+
| 'cc.Asset' // 基础资源类型(instantiation-asset)
|
|
732
|
+
| 'cce.Database' // 数据库资源
|
|
733
|
+
| 'cce.EffectHeader' // 着色器头文件
|
|
734
|
+
| 'cc.VideoClip' // 视频剪辑
|
|
735
|
+
| 'cc.TiledMapAsset' // 瓦片地图
|
|
736
|
+
| 'cc.TTFFont' // TTF 字体
|
|
737
|
+
| 'cc.Texture2D' // 2D 纹理
|
|
738
|
+
| 'cc.SpriteFrame' // 精灵帧(sprite-frame、rt-sprite-frame)
|
|
739
|
+
| 'cc.ImageAsset' // 图片资源(image、gltf/image、image/alpha、image/sign、texture-cube-face)
|
|
740
|
+
| 'cc.TextAsset' // 文本资源
|
|
741
|
+
| 'cc.JsonAsset' // JSON 资源
|
|
742
|
+
| 'cc.AudioClip' // 音频剪辑
|
|
743
|
+
| 'cc.BitmapFont' // 位图字体
|
|
744
|
+
| 'cc.BufferAsset' // 缓冲区资源
|
|
745
|
+
| 'cc.ParticleAsset' // 粒子资源
|
|
746
|
+
| 'cc.RenderPipeline' // 渲染管线
|
|
747
|
+
| 'cc.Skeleton' // 骨骼(gltf/skeleton、instantiation-asset/skeleton)
|
|
748
|
+
| 'cc.Mesh' // 网格(gltf/mesh、instantiation-asset/mesh)
|
|
749
|
+
| 'sp.SkeletonData' // Spine 骨骼数据
|
|
750
|
+
| 'dragonBones.DragonBonesAsset' // DragonBones 资源
|
|
751
|
+
| 'dragonBones.DragonBonesAtlasAsset' // DragonBones 图集资源
|
|
752
|
+
| 'RenderStage' // 渲染阶段
|
|
753
|
+
| 'RenderFlow';
|
|
754
|
+
|
|
755
|
+
declare interface IBaseCreateNodeParams {
|
|
756
|
+
path: string;
|
|
757
|
+
name?: string;
|
|
758
|
+
workMode?: '2d' | '3d';
|
|
759
|
+
position?: IVec3;
|
|
760
|
+
keepWorldTransform?: boolean;
|
|
761
|
+
canvasRequired?: boolean;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
/**
|
|
765
|
+
* 基础标识
|
|
766
|
+
*/
|
|
767
|
+
declare interface IBaseIdentifier {
|
|
768
|
+
assetName: string;
|
|
769
|
+
assetUuid: string;
|
|
770
|
+
assetUrl: string;
|
|
771
|
+
assetType: string;
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
declare interface IChangeNodeOptions {
|
|
775
|
+
source?: 'editor' | 'undo' | 'engine';
|
|
776
|
+
type?: NodeEventType;
|
|
777
|
+
propPath?: string;
|
|
778
|
+
index?: number;
|
|
779
|
+
record?: boolean;
|
|
780
|
+
dumpImmediately?: boolean;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* 关闭场景/预制体选项
|
|
785
|
+
*/
|
|
786
|
+
declare interface ICloseOptions {
|
|
787
|
+
urlOrUUID?: string;
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
/**
|
|
791
|
+
* 代表组件属性信息
|
|
792
|
+
*/
|
|
793
|
+
declare interface IComponent extends IComponentIdentifier {
|
|
794
|
+
properties: {
|
|
795
|
+
[key: string]: IPropertyValueType;
|
|
796
|
+
};
|
|
797
|
+
prefab: ICompPrefabInfo | null;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* 场景事件类型
|
|
802
|
+
*/
|
|
803
|
+
declare interface IComponentEvents extends INodeEvents {
|
|
804
|
+
'component:add': [Component];
|
|
805
|
+
'component:before-remove': [Component];
|
|
806
|
+
'component:remove': [Component];
|
|
807
|
+
'component:set-property': [Component, IChangeNodeOptions];
|
|
808
|
+
'component:added': [Component];
|
|
809
|
+
'component:removed': [Component];
|
|
810
|
+
'component:before-add-component': [string, Node_2];
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
declare interface IComponentForPinK extends IProperty {
|
|
814
|
+
value: {
|
|
815
|
+
enabled: IPropertyValueType;
|
|
816
|
+
uuid: IPropertyValueType;
|
|
817
|
+
name: IPropertyValueType;
|
|
818
|
+
} & Record<string, IPropertyValueType>;
|
|
819
|
+
mountedRoot?: string;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
/**
|
|
823
|
+
* 代表一个组件
|
|
824
|
+
*/
|
|
825
|
+
declare interface IComponentIdentifier {
|
|
826
|
+
cid: string;
|
|
827
|
+
path: string;
|
|
828
|
+
uuid: string;
|
|
829
|
+
name: string;
|
|
830
|
+
type: string;
|
|
831
|
+
enabled: boolean;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* 组件的相关处理接口
|
|
836
|
+
*/
|
|
837
|
+
declare interface IComponentService extends IServiceEvents {
|
|
838
|
+
/**
|
|
839
|
+
* 添加组件
|
|
840
|
+
* @param params
|
|
841
|
+
*/
|
|
842
|
+
addComponent(params: IAddComponentOptions): Promise<IComponent>;
|
|
843
|
+
/**
|
|
844
|
+
* 创建组件
|
|
845
|
+
* @param params
|
|
846
|
+
*/
|
|
847
|
+
createComponent(params: IAddComponentOptions): Promise<boolean>;
|
|
848
|
+
/**
|
|
849
|
+
* 删除组件
|
|
850
|
+
* @param params
|
|
851
|
+
*/
|
|
852
|
+
removeComponent(params: IRemoveComponentOptions): Promise<boolean>;
|
|
853
|
+
/**
|
|
854
|
+
* 设置组件属性
|
|
855
|
+
* @param params
|
|
856
|
+
*/
|
|
857
|
+
setProperty(params: ISetPropertyOptions): Promise<boolean>;
|
|
858
|
+
/**
|
|
859
|
+
* 设置组件属性,pink专属接口,因为结构与ISetPropertyOptions是不同的
|
|
860
|
+
* @param params
|
|
861
|
+
*/
|
|
862
|
+
setPropertyForPink(uuid: string, path: string, dump: IProperty, record?: boolean): Promise<boolean>;
|
|
863
|
+
/**
|
|
864
|
+
* 查询组件
|
|
865
|
+
*/
|
|
866
|
+
queryComponent(params: IQueryComponentOptions): Promise<IComponent | IComponentForPinK | null>;
|
|
867
|
+
/**
|
|
868
|
+
* 获取所有组件名,包含内置与自定义组件
|
|
869
|
+
*/
|
|
870
|
+
queryAllComponent(): Promise<string[]>;
|
|
871
|
+
/**
|
|
872
|
+
* 复位组件
|
|
873
|
+
*/
|
|
874
|
+
resetComponent(params: IQueryComponentOptions): Promise<boolean>;
|
|
875
|
+
/**
|
|
876
|
+
* 执行组件方法
|
|
877
|
+
*/
|
|
878
|
+
executeComponentMethod(options: IExecuteComponentMethodOptions): Promise<boolean>;
|
|
879
|
+
init(): void;
|
|
880
|
+
unregisterCompMgrEvents(): void;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
declare interface ICompPrefabInfo {
|
|
884
|
+
fileId: string;
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
declare interface ICreateByAssetParams extends IBaseCreateNodeParams {
|
|
888
|
+
dbURL: string;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
declare interface ICreateByNodeTypeParams extends IBaseCreateNodeParams {
|
|
892
|
+
nodeType: NodeType;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* 创建场景/预制体选项
|
|
897
|
+
*/
|
|
898
|
+
declare interface ICreateOptions {
|
|
899
|
+
type: ICreateType;
|
|
900
|
+
baseName: string;
|
|
901
|
+
targetDirectory: string;
|
|
902
|
+
templateType?: TSceneTemplateType;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
declare interface ICreatePrefabFromNodeParams {
|
|
906
|
+
/** 要转换为预制体的源节点路径 */
|
|
907
|
+
nodePath: string;
|
|
908
|
+
/** 预制体资源保存 URL */
|
|
909
|
+
dbURL: string;
|
|
910
|
+
/** 是否强制覆盖现有资源 */
|
|
911
|
+
overwrite?: boolean;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
declare type ICreateType = typeof CREATE_TYPES[number];
|
|
915
|
+
|
|
916
|
+
declare interface IDeleteNodeParams {
|
|
917
|
+
path: string;
|
|
918
|
+
keepWorldTransform?: boolean;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
declare interface IDeleteNodeResult {
|
|
922
|
+
path: string;
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
/**
|
|
926
|
+
* 事件类型
|
|
927
|
+
*/
|
|
928
|
+
declare interface IEditorEvents {
|
|
929
|
+
'editor:open': [];
|
|
930
|
+
'editor:close': [];
|
|
931
|
+
'editor:save': [];
|
|
932
|
+
'editor:reload': [];
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
declare interface IEditorService extends IServiceEvents {
|
|
936
|
+
/**
|
|
937
|
+
* 当前编辑器类型
|
|
938
|
+
*/
|
|
939
|
+
getCurrentEditorType(): 'scene' | 'prefab' | 'unknown';
|
|
940
|
+
/**
|
|
941
|
+
* 打开资产
|
|
942
|
+
* @param params
|
|
943
|
+
*/
|
|
944
|
+
open(params: IOpenOptions): Promise<TEditorEntity>;
|
|
945
|
+
/**
|
|
946
|
+
* 关闭当前资产
|
|
947
|
+
*/
|
|
948
|
+
close(params: ICloseOptions): Promise<boolean>;
|
|
949
|
+
/**
|
|
950
|
+
* 保存资产
|
|
951
|
+
*/
|
|
952
|
+
save(params: ISaveOptions): Promise<IAssetInfo>;
|
|
953
|
+
/**
|
|
954
|
+
* 重载资产
|
|
955
|
+
* @param params
|
|
956
|
+
*/
|
|
957
|
+
reload(params: IReloadOptions): Promise<ReloadResult>;
|
|
958
|
+
/**
|
|
959
|
+
* 创建新资产
|
|
960
|
+
* @param params
|
|
961
|
+
*/
|
|
962
|
+
create(params: ICreateOptions): Promise<IBaseIdentifier>;
|
|
963
|
+
/**
|
|
964
|
+
* 是否有打开编辑器
|
|
965
|
+
*/
|
|
966
|
+
hasOpen(): Promise<boolean>;
|
|
967
|
+
/**
|
|
968
|
+
* 获取当前打开的资产
|
|
969
|
+
*/
|
|
970
|
+
queryCurrent(): Promise<TEditorEntity | null>;
|
|
971
|
+
/**
|
|
972
|
+
*
|
|
973
|
+
*/
|
|
974
|
+
getRootNode(): TEditorInstance | null;
|
|
975
|
+
lock(): Promise<void>;
|
|
976
|
+
unlock(): void;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
declare interface IEngineEvents {
|
|
980
|
+
'engine:update': [];
|
|
981
|
+
'engine:ticked': [];
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
declare interface IEngineService extends IServiceEvents {
|
|
985
|
+
/**
|
|
986
|
+
* 初始化引擎服务,目前是暂时引擎 mainLoop
|
|
987
|
+
*/
|
|
988
|
+
init(): Promise<void>;
|
|
989
|
+
/**
|
|
990
|
+
* 让引擎执行一帧
|
|
991
|
+
*/
|
|
992
|
+
repaintInEditMode(): Promise<void>;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
/**
|
|
996
|
+
* 执行组件方法选项
|
|
997
|
+
*/
|
|
998
|
+
declare interface IExecuteComponentMethodOptions {
|
|
999
|
+
uuid: string;
|
|
1000
|
+
name: string;
|
|
1001
|
+
args: any[];
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
declare interface IFbxSetting {
|
|
1005
|
+
/**
|
|
1006
|
+
* https://github.com/cocos-creator/FBX-glTF-conv/pull/26
|
|
1007
|
+
*/
|
|
1008
|
+
unitConversion?: 'geometry-level' | 'hierarchy-level' | 'disabled';
|
|
1009
|
+
|
|
1010
|
+
/**
|
|
1011
|
+
* 动画烘焙速率。单位为 FPS。
|
|
1012
|
+
* 一般来说有以下几种 FPS 选项。
|
|
1013
|
+
* - NTSC video 30/60
|
|
1014
|
+
* - PAL video 25
|
|
1015
|
+
* - Film 24
|
|
1016
|
+
* 见 https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2020/ENU/3DSMax-Reference/files/GUID-92B75FD6-C112-44D6-AB89-DB50D11AE0DE-htm.html 。
|
|
1017
|
+
* 为了以后的拓展性,我们目前仅支持用户从这几种选项中选择。
|
|
1018
|
+
* @default 24
|
|
1019
|
+
*/
|
|
1020
|
+
animationBakeRate?: 0 | 24 | 25 | 30 | 60;
|
|
1021
|
+
|
|
1022
|
+
/**
|
|
1023
|
+
* 在导出动画时,是否优先使用 FBX 内记录的时间范围。
|
|
1024
|
+
* @default true
|
|
1025
|
+
*/
|
|
1026
|
+
preferLocalTimeSpan?: boolean;
|
|
1027
|
+
|
|
1028
|
+
/**
|
|
1029
|
+
* 是否为导入的材质匹配DCC的光照模型.
|
|
1030
|
+
* 在导入时,若此字段为 `undefined` 时,该字段将被初始化为当前配置的"是否开启智能材质转换".
|
|
1031
|
+
*/
|
|
1032
|
+
smartMaterialEnabled?: boolean;
|
|
1033
|
+
|
|
1034
|
+
/**
|
|
1035
|
+
* 匹配 DCC 原始模型名称。
|
|
1036
|
+
*/
|
|
1037
|
+
matchMeshNames?: boolean;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
declare interface IGetPrefabInfoParams {
|
|
1041
|
+
nodePath: string;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
declare interface IIsPrefabInstanceParams {
|
|
1045
|
+
nodePath: string;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
/** 图片资源的 userData */
|
|
1049
|
+
declare interface ImageAssetUserData {
|
|
1050
|
+
/** 图片类型 */
|
|
1051
|
+
type: ImageImportType;
|
|
1052
|
+
/** 垂直翻转 */
|
|
1053
|
+
flipVertical?: boolean;
|
|
1054
|
+
/** 消除透明伪影 */
|
|
1055
|
+
fixAlphaTransparencyArtifacts?: boolean;
|
|
1056
|
+
/** 是否为 RGBE */
|
|
1057
|
+
isRGBE?: boolean;
|
|
1058
|
+
/** 这个图片是不是拥有 alpha 通道 */
|
|
1059
|
+
hasAlpha?: boolean;
|
|
1060
|
+
/** 重定向的 uuid */
|
|
1061
|
+
redirect?: string;
|
|
1062
|
+
visible?: boolean;
|
|
1063
|
+
/** 是否翻转绿通道 */
|
|
1064
|
+
flipGreenChannel?: boolean;
|
|
1065
|
+
|
|
1066
|
+
/**
|
|
1067
|
+
* 部分资源导入后可能产生多张图像资源
|
|
1068
|
+
*/
|
|
1069
|
+
sign?: string;
|
|
1070
|
+
alpha?: string;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
declare type ImageImportType = 'raw' | 'texture' | 'normal map' | 'sprite-frame' | 'texture cube';
|
|
1074
|
+
|
|
1075
|
+
declare interface ImageMeta {
|
|
1076
|
+
/**
|
|
1077
|
+
* 图片名字。
|
|
1078
|
+
*/
|
|
1079
|
+
name?: string;
|
|
1080
|
+
|
|
1081
|
+
/**
|
|
1082
|
+
* 模型文件中该图片的 URI,可能是以下形式:
|
|
1083
|
+
* - Database URL,这种路径的图片存在项目目录中;
|
|
1084
|
+
* - uuid URI,这种路径的图片已经作为子资源导入,路径代表子资源的 uuid。
|
|
1085
|
+
* 如果未定义,表示此图片未指定源或指定的源无法解析。
|
|
1086
|
+
*/
|
|
1087
|
+
uri?: string;
|
|
1088
|
+
|
|
1089
|
+
/**
|
|
1090
|
+
* 用户设置的图片对象。
|
|
1091
|
+
* 3.8.0 以前使用路径,3.8.0 之后使用 UUID。
|
|
1092
|
+
*/
|
|
1093
|
+
remap?: string;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
declare interface IMountedChildrenInfo {
|
|
1097
|
+
targetInfo: ITargetInfo | null;
|
|
1098
|
+
nodes: INodeIdentifier[];
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
declare interface IMountedComponentsInfo {
|
|
1102
|
+
targetInfo: ITargetInfo | null;
|
|
1103
|
+
components: IComponentIdentifier[];
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
declare interface INode extends INodeIdentifier {
|
|
1107
|
+
properties: INodeProperties;
|
|
1108
|
+
components?: IComponent[] | IComponentIdentifier[];
|
|
1109
|
+
children?: INode[];
|
|
1110
|
+
prefab: IPrefabInfo | null;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
/**
|
|
1114
|
+
* 节点事件类型
|
|
1115
|
+
*/
|
|
1116
|
+
declare interface INodeEvents {
|
|
1117
|
+
'node:before-remove': [Node_2];
|
|
1118
|
+
'node:before-change': [Node_2];
|
|
1119
|
+
'node:change': [Node_2, IChangeNodeOptions];
|
|
1120
|
+
'node:before-add': [Node_2];
|
|
1121
|
+
'node:add': [Node_2];
|
|
1122
|
+
'node:added': [Node_2];
|
|
1123
|
+
'node:remove': [Node_2];
|
|
1124
|
+
'node:removed': [Node_2, IChangeNodeOptions];
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
declare interface INodeIdentifier {
|
|
1128
|
+
nodeId: string;
|
|
1129
|
+
path: string;
|
|
1130
|
+
name: string;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
declare interface INodeProperties {
|
|
1134
|
+
position: IVec3;
|
|
1135
|
+
rotation: IQuat;
|
|
1136
|
+
eulerAngles: IVec3;
|
|
1137
|
+
scale: IVec3;
|
|
1138
|
+
mobility: MobilityMode;
|
|
1139
|
+
layer: number;
|
|
1140
|
+
active: boolean;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
/**
|
|
1144
|
+
* 节点的相关处理接口
|
|
1145
|
+
*/
|
|
1146
|
+
declare interface INodeService extends IServiceEvents {
|
|
1147
|
+
/**
|
|
1148
|
+
* 创建节点
|
|
1149
|
+
* @param params
|
|
1150
|
+
*/
|
|
1151
|
+
createNodeByType(params: ICreateByNodeTypeParams): Promise<INode | null>;
|
|
1152
|
+
/**
|
|
1153
|
+
* 创建节点
|
|
1154
|
+
* @param params
|
|
1155
|
+
*/
|
|
1156
|
+
createNodeByAsset(params: ICreateByAssetParams): Promise<INode | null>;
|
|
1157
|
+
/**
|
|
1158
|
+
* 删除节点
|
|
1159
|
+
* @param params
|
|
1160
|
+
*/
|
|
1161
|
+
deleteNode(params: IDeleteNodeParams): Promise<IDeleteNodeResult | null>;
|
|
1162
|
+
/**
|
|
1163
|
+
* 更新节点
|
|
1164
|
+
* @param params
|
|
1165
|
+
*/
|
|
1166
|
+
updateNode(params: IUpdateNodeParams): Promise<IUpdateNodeResult>;
|
|
1167
|
+
/**
|
|
1168
|
+
* 查询节点
|
|
1169
|
+
*/
|
|
1170
|
+
queryNode(params: IQueryNodeParams): Promise<INode | null>;
|
|
1171
|
+
/**
|
|
1172
|
+
* 查询节点树(层级管理器格式)
|
|
1173
|
+
*/
|
|
1174
|
+
queryNodeTree(params: IQueryNodeTreeParams): Promise<INodeTreeItem | null>;
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
declare interface INodeTreeComponent {
|
|
1178
|
+
isCustom: boolean;
|
|
1179
|
+
type: string;
|
|
1180
|
+
value: string;
|
|
1181
|
+
extends: string[];
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
declare interface INodeTreeItem {
|
|
1185
|
+
name: string;
|
|
1186
|
+
active: boolean;
|
|
1187
|
+
locked: boolean;
|
|
1188
|
+
type: string;
|
|
1189
|
+
children: INodeTreeItem[];
|
|
1190
|
+
prefab: IPrefabStateInfo;
|
|
1191
|
+
parent: string;
|
|
1192
|
+
path: string;
|
|
1193
|
+
isScene: boolean;
|
|
1194
|
+
readonly: boolean;
|
|
1195
|
+
components: INodeTreeComponent[];
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* 打开场景/预制体选项
|
|
1200
|
+
*/
|
|
1201
|
+
declare interface IOpenOptions {
|
|
1202
|
+
urlOrUUID: string;
|
|
1203
|
+
simpleNode?: boolean;
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
export declare interface IOptionBase {
|
|
1207
|
+
modeName?: string;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
declare interface IPrefab {
|
|
1211
|
+
name: string;
|
|
1212
|
+
uuid: string;
|
|
1213
|
+
data: INodeIdentifier;
|
|
1214
|
+
optimizationPolicy: OptimizationPolicy;
|
|
1215
|
+
persistent: boolean;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* 预制体事件类型
|
|
1220
|
+
*/
|
|
1221
|
+
declare interface IPrefabEvents {
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
declare interface IPrefabInfo {
|
|
1225
|
+
/** 关联的预制体资源信息 */
|
|
1226
|
+
asset?: IPrefab;
|
|
1227
|
+
root?: INodeIdentifier;
|
|
1228
|
+
instance?: IPrefabInstance;
|
|
1229
|
+
fileId: string;
|
|
1230
|
+
targetOverrides: ITargetOverrideInfo[];
|
|
1231
|
+
nestedPrefabInstanceRoots: INodeIdentifier[];
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
declare interface IPrefabInstance {
|
|
1235
|
+
fileId: string;
|
|
1236
|
+
prefabRootNode?: INodeIdentifier;
|
|
1237
|
+
mountedChildren: IMountedChildrenInfo[];
|
|
1238
|
+
mountedComponents: IMountedComponentsInfo[];
|
|
1239
|
+
propertyOverrides: IPropertyOverrideInfo[];
|
|
1240
|
+
removedComponents: ITargetInfo[];
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
declare interface IPrefabService extends IServiceEvents {
|
|
1244
|
+
/**
|
|
1245
|
+
* 将节点转换为预制体资源
|
|
1246
|
+
*/
|
|
1247
|
+
createPrefabFromNode(params: ICreatePrefabFromNodeParams): Promise<INode>;
|
|
1248
|
+
/**
|
|
1249
|
+
* 将节点的修改应用回预制体资源
|
|
1250
|
+
*/
|
|
1251
|
+
applyPrefabChanges(params: IApplyPrefabChangesParams): Promise<boolean>;
|
|
1252
|
+
/**
|
|
1253
|
+
* 重置节点到预制体原始状态
|
|
1254
|
+
*/
|
|
1255
|
+
revertToPrefab(params: IRevertToPrefabParams): Promise<boolean>;
|
|
1256
|
+
/**
|
|
1257
|
+
* 解耦预制体实例,使其成为普通节点
|
|
1258
|
+
*/
|
|
1259
|
+
unpackPrefabInstance(params: IUnpackPrefabInstanceParams): Promise<INode>;
|
|
1260
|
+
/**
|
|
1261
|
+
* 检查节点是否为预制体实例
|
|
1262
|
+
*/
|
|
1263
|
+
isPrefabInstance(params: IIsPrefabInstanceParams): Promise<boolean>;
|
|
1264
|
+
/**
|
|
1265
|
+
* 获取节点的预制体信息
|
|
1266
|
+
*/
|
|
1267
|
+
getPrefabInfo(params: IGetPrefabInfoParams): Promise<IPrefabInfo | null>;
|
|
1268
|
+
/**
|
|
1269
|
+
* 移除 prefab info
|
|
1270
|
+
* @param node
|
|
1271
|
+
* @param removeNested
|
|
1272
|
+
*/
|
|
1273
|
+
removePrefabInfoFromNode(node: Node_2, removeNested?: boolean): void;
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
declare interface IPrefabStateInfo {
|
|
1277
|
+
state: PrefabState;
|
|
1278
|
+
isUnwrappable: boolean;
|
|
1279
|
+
isRevertable: boolean;
|
|
1280
|
+
isApplicable: boolean;
|
|
1281
|
+
isAddedChild: boolean;
|
|
1282
|
+
isNested: boolean;
|
|
1283
|
+
assetUuid: string;
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
/**
|
|
1287
|
+
* 组件的 dump 数据,以 IProperty 格式编码组件信息
|
|
1288
|
+
* 与 IComponent 不同,所有属性(包括 uuid, name, enabled)都通过 encodeObject 编码为 IProperty
|
|
1289
|
+
*/
|
|
1290
|
+
declare interface IProperty {
|
|
1291
|
+
value: { [key: string]: IPropertyValueType } | IPropertyValueType;
|
|
1292
|
+
default?: any; // 默认值
|
|
1293
|
+
|
|
1294
|
+
// 多选节点之后,这里存储多个数据,用于自行判断多选后的显示效果,无需更新该数据
|
|
1295
|
+
values?: ({ [key: string]: IPropertyValueType } | IPropertyValueType)[];
|
|
1296
|
+
|
|
1297
|
+
lock?: { [key in keyof Vec4]?: IPropertyLock };
|
|
1298
|
+
|
|
1299
|
+
cid?: string;
|
|
1300
|
+
type?: string;
|
|
1301
|
+
ui?: { name: string; data?: any }; // 是否用指定的 UI 组件,name 是组件的名称
|
|
1302
|
+
readonly?: boolean;
|
|
1303
|
+
visible?: boolean;
|
|
1304
|
+
name?: string;
|
|
1305
|
+
|
|
1306
|
+
elementTypeData?: IProperty; // 数组里的数据的默认值 dump
|
|
1307
|
+
|
|
1308
|
+
path?: string; // 数据的搜索路径,这个是由使用方填充的
|
|
1309
|
+
|
|
1310
|
+
isArray?: boolean;
|
|
1311
|
+
invalid?: boolean;
|
|
1312
|
+
extends?: string[]; // 继承链
|
|
1313
|
+
displayName?: string; // 显示到界面上的名字
|
|
1314
|
+
displayOrder?: number; // 显示排序
|
|
1315
|
+
help?: string; // 帮助文档的 url 地址
|
|
1316
|
+
group?: IPropertyGroupOptions; // tab
|
|
1317
|
+
tooltip?: string; // 提示文本
|
|
1318
|
+
editor?: any; // 组件上定义的编辑器数据
|
|
1319
|
+
animatable?: boolean; // 是否可以在动画中编辑
|
|
1320
|
+
radioGroup?: boolean; // 是否渲染为 RadioGroup
|
|
1321
|
+
|
|
1322
|
+
// Enum
|
|
1323
|
+
enumList?: any[]; // enum 类型的 list 选项数组
|
|
1324
|
+
|
|
1325
|
+
bitmaskList?: any[];
|
|
1326
|
+
|
|
1327
|
+
// Number
|
|
1328
|
+
min?: number; // 数值类型的最小值
|
|
1329
|
+
max?: number; // 数值类型的最大值
|
|
1330
|
+
step?: number; // 数值类型的步进值
|
|
1331
|
+
slide?: boolean; // 数组是否显示为滑块
|
|
1332
|
+
unit?: string; // 显示的单位
|
|
1333
|
+
radian?: boolean; // 标识是否为角度
|
|
1334
|
+
|
|
1335
|
+
// Label
|
|
1336
|
+
multiline?: boolean; // 字符串是否允许换行
|
|
1337
|
+
// nullable?: boolean; 属性是否允许为空
|
|
1338
|
+
|
|
1339
|
+
optionalTypes?: string[]; // 对属性是 object 且是可变类型的数据的支持,比如 render-pipeline
|
|
1340
|
+
|
|
1341
|
+
userData?: { [key: string]: any }; // 用户透传的数据
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
declare interface IPropertyGroupOptions {
|
|
1345
|
+
id: string // 默认 'default'
|
|
1346
|
+
name: string,
|
|
1347
|
+
displayOrder: number, // 默认 Infinity, 排在最后面
|
|
1348
|
+
style: string // 默认为 'tab'
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
declare type IPropertyLock = {
|
|
1352
|
+
default: number;
|
|
1353
|
+
message: string
|
|
1354
|
+
};
|
|
1355
|
+
|
|
1356
|
+
declare interface IPropertyOverrideInfo {
|
|
1357
|
+
targetInfo: ITargetInfo | null;
|
|
1358
|
+
propertyPath: string[];
|
|
1359
|
+
value?: any;
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
declare type IPropertyValueType = IProperty | IProperty[] | null | undefined | number | boolean | string | Vec4 | Vec3 | Vec2 | Mat4 | any | Array<unknown>
|
|
1363
|
+
|
|
1364
|
+
declare interface IQuat {
|
|
1365
|
+
x: number;
|
|
1366
|
+
y: number;
|
|
1367
|
+
z: number;
|
|
1368
|
+
w: number;
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
/**
|
|
1372
|
+
* 查询组件
|
|
1373
|
+
*/
|
|
1374
|
+
declare interface IQueryComponentOptions {
|
|
1375
|
+
pathOrUuidOrUrl: string;
|
|
1376
|
+
isFull?: boolean;
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1379
|
+
declare interface IQueryNodeParams {
|
|
1380
|
+
path: string;
|
|
1381
|
+
queryChildren: boolean;
|
|
1382
|
+
queryComponent: boolean;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
declare interface IQueryNodeTreeParams {
|
|
1386
|
+
path?: string;
|
|
1387
|
+
}
|
|
1388
|
+
|
|
1389
|
+
declare interface IRedirectInfo {
|
|
1390
|
+
// 跳转资源的类型
|
|
1391
|
+
type: string;
|
|
1392
|
+
// 跳转资源的 uuid
|
|
1393
|
+
uuid: string;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
/**
|
|
1397
|
+
* 软刷新场景/预制体选项
|
|
1398
|
+
*/
|
|
1399
|
+
declare interface IReloadOptions {
|
|
1400
|
+
urlOrUUID?: string;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
/**
|
|
1404
|
+
* 删除组件
|
|
1405
|
+
*/
|
|
1406
|
+
declare interface IRemoveComponentOptions {
|
|
1407
|
+
pathOrUuidOrUrl: string;
|
|
1408
|
+
}
|
|
1409
|
+
|
|
1410
|
+
declare interface IRevertToPrefabParams {
|
|
1411
|
+
nodePath: string;
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
/**
|
|
1415
|
+
* 保持场景/预制体选项
|
|
1416
|
+
*/
|
|
1417
|
+
declare interface ISaveOptions {
|
|
1418
|
+
urlOrUUID?: string;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
/**
|
|
1422
|
+
* 场景信息
|
|
1423
|
+
*/
|
|
1424
|
+
declare interface IScene extends IBaseIdentifier {
|
|
1425
|
+
name: string;
|
|
1426
|
+
prefab: IPrefabInfo | null;
|
|
1427
|
+
children: INode[];
|
|
1428
|
+
components: IComponentIdentifier[];
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
export declare interface ISceneEvents {
|
|
1432
|
+
onAddComponent?(comp: Component): void;
|
|
1433
|
+
onRemoveComponent?(comp: Component): void;
|
|
1434
|
+
onComponentAdded?(comp: Component, opts?: IOptionBase): void;
|
|
1435
|
+
onComponentRemoved?(comp: Component, opts?: IOptionBase): void;
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
declare interface IScriptEvents {
|
|
1439
|
+
/**
|
|
1440
|
+
* 当脚本刷新并执行完成时触发
|
|
1441
|
+
*/
|
|
1442
|
+
'script:execution-finished': [];
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
declare interface IScriptService extends IServiceEvents {
|
|
1446
|
+
investigatePackerDriver(): Promise<void>;
|
|
1447
|
+
loadScript(): Promise<void>;
|
|
1448
|
+
removeScript(): Promise<void>;
|
|
1449
|
+
scriptChange(): Promise<void>;
|
|
1450
|
+
queryScriptCid(uuid: string): Promise<string | null>;
|
|
1451
|
+
queryScriptName(uuid: string): Promise<string | null>;
|
|
1452
|
+
isCustomComponent(classConstructor: Function): boolean;
|
|
1453
|
+
suspend(condition: Promise<any>): void;
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
declare interface IServiceEvents {
|
|
1457
|
+
onEditorOpened?(): void;
|
|
1458
|
+
onEditorReload?(): void;
|
|
1459
|
+
onEditorClosed?(): void;
|
|
1460
|
+
onEditorSaved?(): void;
|
|
1461
|
+
onNodeBeforeChanged?(node: Node_2): void;
|
|
1462
|
+
onBeforeRemoveNode?(node: Node_2): void;
|
|
1463
|
+
onBeforeAddNode?(node: Node_2): void;
|
|
1464
|
+
onNodeChanged?(node: Node_2, opts: IChangeNodeOptions): void;
|
|
1465
|
+
onBeforeNodeAdded?(node: Node_2): void;
|
|
1466
|
+
onAddNode?(node: Node_2): void;
|
|
1467
|
+
onRemoveNode?(node: Node_2): void;
|
|
1468
|
+
onNodeAdded?(node: Node_2): void;
|
|
1469
|
+
onNodeRemoved?(node: Node_2): void;
|
|
1470
|
+
onAddComponent?(comp: Component): void;
|
|
1471
|
+
onRemoveComponent?(comp: Component): void;
|
|
1472
|
+
onSetPropertyComponent?(comp: Component): void;
|
|
1473
|
+
onComponentAdded?(comp: Component): void;
|
|
1474
|
+
onComponentRemoved?(comp: Component): void;
|
|
1475
|
+
onBeforeRemoveComponent?(comp: Component): void;
|
|
1476
|
+
onComponentBeforeChanged?(node: Node_2): void;
|
|
1477
|
+
onBeforeComponentAdded?(name: string, node: Node_2): void;
|
|
1478
|
+
onComponentChanged?(name: string, opts: IChangeNodeOptions): void;
|
|
1479
|
+
onAssetDeleted?(uuid: string): void;
|
|
1480
|
+
onAssetChanged?(uuid: string): void;
|
|
1481
|
+
onAssetRefreshed?(uuid: string): void;
|
|
1482
|
+
onScriptExecutionFinished?(): void;
|
|
1483
|
+
}
|
|
1484
|
+
|
|
1485
|
+
declare interface IServiceManager {
|
|
1486
|
+
Editor: IEditorService;
|
|
1487
|
+
Node: INodeService;
|
|
1488
|
+
Component: IComponentService;
|
|
1489
|
+
Script: IScriptService;
|
|
1490
|
+
Asset: IAssetService;
|
|
1491
|
+
Engine: IEngineService;
|
|
1492
|
+
Prefab: IPrefabService;
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
/**
|
|
1496
|
+
* 查询组件
|
|
1497
|
+
*/
|
|
1498
|
+
declare interface ISetPropertyOptions {
|
|
1499
|
+
componentPath: string;
|
|
1500
|
+
properties: {
|
|
1501
|
+
[key: string]: null | undefined | number | boolean | string | object | Array<unknown>;
|
|
1502
|
+
};
|
|
1503
|
+
record?: boolean;
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
declare type ISupportCreateCCType =
|
|
1507
|
+
| 'cc.AnimationClip' // 动画剪辑
|
|
1508
|
+
| 'cc.Script' // 脚本(TypeScript/JavaScript)
|
|
1509
|
+
| 'cc.SpriteAtlas' // 精灵图集(自动图集)
|
|
1510
|
+
| 'cc.EffectAsset' // 着色器效果
|
|
1511
|
+
| 'cc.SceneAsset' // 场景
|
|
1512
|
+
| 'cc.Prefab' // 预制体
|
|
1513
|
+
| 'cc.Material' // 材质
|
|
1514
|
+
| 'cc.TextureCube' // 立方体贴图
|
|
1515
|
+
| 'cc.TerrainAsset' // 地形
|
|
1516
|
+
| 'cc.PhysicsMaterial' // 物理材质
|
|
1517
|
+
| 'cc.LabelAtlas' // 标签图集
|
|
1518
|
+
| 'cc.RenderTexture' // 渲染纹理
|
|
1519
|
+
| 'cc.AnimationGraph' // 动画图
|
|
1520
|
+
| 'cc.AnimationMask' // 动画遮罩
|
|
1521
|
+
| 'cc.AnimationGraphVariant';
|
|
1522
|
+
|
|
1523
|
+
/** 支持创建的资源类型(从常量数组派生) */
|
|
1524
|
+
declare type ISupportCreateType = typeof SUPPORT_CREATE_TYPES[number];
|
|
1525
|
+
|
|
1526
|
+
declare interface ITargetInfo {
|
|
1527
|
+
localID: string[];
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
declare interface ITargetOverrideInfo {
|
|
1531
|
+
source: IComponentIdentifier | INodeIdentifier | null;
|
|
1532
|
+
sourceInfo: ITargetInfo | null;
|
|
1533
|
+
propertyPath: string[];
|
|
1534
|
+
target: INodeIdentifier | null;
|
|
1535
|
+
targetInfo: ITargetInfo | null;
|
|
1536
|
+
}
|
|
1537
|
+
|
|
1538
|
+
declare interface IUnpackPrefabInstanceParams {
|
|
1539
|
+
/** 要解耦的预制体实例节点 */
|
|
1540
|
+
nodePath: string;
|
|
1541
|
+
/** 递归解耦所有子预制体 */
|
|
1542
|
+
recursive?: boolean;
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
declare interface IUpdateNodeParams {
|
|
1546
|
+
path: string;
|
|
1547
|
+
name?: string;
|
|
1548
|
+
properties?: Partial<INodeProperties>;
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1551
|
+
declare interface IUpdateNodeResult {
|
|
1552
|
+
path: string;
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
declare interface IVec3 {
|
|
1556
|
+
x: number;
|
|
1557
|
+
y: number;
|
|
1558
|
+
z: number;
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
/** glTF 虚拟子资源的通用 userData */
|
|
1562
|
+
declare interface IVirtualAssetUserData {
|
|
1563
|
+
/** 在 glTF 文件中的索引 */
|
|
1564
|
+
gltfIndex?: number;
|
|
1565
|
+
/** mesh 资源的面数 */
|
|
1566
|
+
triangleCount?: number;
|
|
1567
|
+
/** mesh 所在 lod 层级 */
|
|
1568
|
+
lodLevel?: number;
|
|
1569
|
+
/** 根据 lod 配置自动生成 */
|
|
1570
|
+
lodOptions?: {
|
|
1571
|
+
/** 自动生成的 mesh 占原 mesh 的百分比 */
|
|
1572
|
+
faceCount: number;
|
|
1573
|
+
};
|
|
1574
|
+
[key: string]: any;
|
|
1575
|
+
}
|
|
1576
|
+
|
|
1577
|
+
/** JavaScript 资源的 userData */
|
|
1578
|
+
declare type JavaScriptAssetUserData = ScriptModuleUserData | PluginScriptUserData;
|
|
1579
|
+
|
|
1580
|
+
/** JSON 资源的 userData */
|
|
1581
|
+
declare interface JsonAssetUserData {
|
|
1582
|
+
/** 是否启用 JSON5 解析 */
|
|
1583
|
+
json5?: boolean;
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
declare interface KerningDict {
|
|
1587
|
+
[key: number]: number;
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
/** 标签图集资源的 userData */
|
|
1591
|
+
declare interface LabelAtlasAssetUserData {
|
|
1592
|
+
itemWidth: number;
|
|
1593
|
+
itemHeight: number;
|
|
1594
|
+
startChar: string;
|
|
1595
|
+
fontSize: number;
|
|
1596
|
+
spriteFrameUuid: string;
|
|
1597
|
+
_fntConfig: FntData;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
declare interface LODsOption {
|
|
1601
|
+
// 屏占比
|
|
1602
|
+
screenRatio: number;
|
|
1603
|
+
// 和 lod0 的减面比
|
|
1604
|
+
faceCount: number;
|
|
1605
|
+
}
|
|
1606
|
+
|
|
1607
|
+
declare interface Mat4 {
|
|
1608
|
+
m00: number;
|
|
1609
|
+
m01: number;
|
|
1610
|
+
m02: number;
|
|
1611
|
+
m03: number;
|
|
1612
|
+
|
|
1613
|
+
m04: number;
|
|
1614
|
+
m05: number;
|
|
1615
|
+
m06: number;
|
|
1616
|
+
m07: number;
|
|
1617
|
+
|
|
1618
|
+
m08: number;
|
|
1619
|
+
m09: number;
|
|
1620
|
+
m10: number;
|
|
1621
|
+
m11: number;
|
|
1622
|
+
|
|
1623
|
+
m12: number;
|
|
1624
|
+
m13: number;
|
|
1625
|
+
m14: number;
|
|
1626
|
+
m15: number;
|
|
1627
|
+
}
|
|
1628
|
+
|
|
1629
|
+
declare interface MeshClusterOptions {
|
|
1630
|
+
enable: boolean;
|
|
1631
|
+
coneCluster?: boolean;
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1634
|
+
declare interface MeshCompressOptions {
|
|
1635
|
+
enable: boolean;
|
|
1636
|
+
encode?: boolean;
|
|
1637
|
+
compress?: boolean;
|
|
1638
|
+
quantize?: boolean;
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
declare interface MeshOptimizeOptions {
|
|
1642
|
+
enable: boolean;
|
|
1643
|
+
vertexCache?: boolean;
|
|
1644
|
+
vertexFetch?: boolean;
|
|
1645
|
+
overdraw?: boolean;
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
declare interface MeshOptimizerOption {
|
|
1649
|
+
// 是否启用此功能
|
|
1650
|
+
enable: boolean;
|
|
1651
|
+
// 减面算法,默认 simplify
|
|
1652
|
+
algorithm?: 'gltfpack' | 'simplify';
|
|
1653
|
+
simplifyOptions?: SimplifyOptions;
|
|
1654
|
+
// 已废弃,仅做简单记录
|
|
1655
|
+
gltfpackOptions?: GltfpackOptions;
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
declare interface MeshSimplifyOptions {
|
|
1659
|
+
enable: boolean;
|
|
1660
|
+
targetRatio?: number;
|
|
1661
|
+
autoErrorRate?: boolean;
|
|
1662
|
+
errorRate?: number;
|
|
1663
|
+
lockBoundary?: boolean;
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1666
|
+
declare enum MobilityMode {
|
|
1667
|
+
/**
|
|
1668
|
+
* @en Static node
|
|
1669
|
+
* @zh 静态节点
|
|
1670
|
+
*/
|
|
1671
|
+
Static = 0,
|
|
1672
|
+
/**
|
|
1673
|
+
* @en Stationary node
|
|
1674
|
+
* @zh 固定节点
|
|
1675
|
+
*/
|
|
1676
|
+
Stationary = 1,
|
|
1677
|
+
/**
|
|
1678
|
+
* @en Movable node
|
|
1679
|
+
* @zh 可移动节点
|
|
1680
|
+
*/
|
|
1681
|
+
Movable = 2
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
declare enum NodeEventType {
|
|
1685
|
+
TRANSFORM_CHANGED = 'transform-changed',// 节点改变位置、旋转或缩放事件
|
|
1686
|
+
SIZE_CHANGED = 'size-changed',// 当节点尺寸改变时触发的事件
|
|
1687
|
+
ANCHOR_CHANGED = 'anchor-changed',// 当节点锚点改变时触发的事件
|
|
1688
|
+
CHILD_ADDED = 'child-added',// 节点子类添加
|
|
1689
|
+
CHILD_REMOVED = 'child-removed',// 节点子类移除
|
|
1690
|
+
PARENT_CHANGED = 'parent-changed',// 父节点改变时触发的事件
|
|
1691
|
+
CHILD_CHANGED = 'child-changed',// 子节点改变时触发的事件
|
|
1692
|
+
COMPONENT_CHANGED = 'component-changed',// 组件数据发生改变时
|
|
1693
|
+
ACTIVE_IN_HIERARCHY_CHANGE = 'active-in-hierarchy-changed',// 节点在hierarchy是否激活
|
|
1694
|
+
NOTIFY_NODE_CHANGED = 'notify-node-changed',
|
|
1695
|
+
PREFAB_INFO_CHANGED = 'prefab-info-changed',// prefab数据改变
|
|
1696
|
+
LIGHT_PROBE_CHANGED = 'light-probe-changed',// 光照探针数据改变
|
|
1697
|
+
SET_PROPERTY = 'set-property',// 设置节点上的属性
|
|
1698
|
+
MOVE_ARRAY_ELEMENT = 'move-array-element',// 调整一个数组类型的数据内某个 item 的位置
|
|
1699
|
+
REMOVE_ARRAY_ELEMENT = 'remove-array-element',// 删除一个数组元素
|
|
1700
|
+
CREATE_COMPONENT = 'create-component',// 创建一个组件
|
|
1701
|
+
RESET_COMPONENT = 'reset-component'
|
|
1702
|
+
}
|
|
1703
|
+
|
|
1704
|
+
/**
|
|
1705
|
+
* 子进程节点处理器
|
|
1706
|
+
* 在子进程中处理所有节点相关操作
|
|
1707
|
+
*/
|
|
1708
|
+
export declare class NodeService extends BaseService<INodeEvents> implements INodeService {
|
|
1709
|
+
createNodeByType(params: ICreateByNodeTypeParams): Promise<INode | null>;
|
|
1710
|
+
createNodeByAsset(params: ICreateByAssetParams): Promise<INode | null>;
|
|
1711
|
+
_createNode(assetUuid: string | null, canvasNeeded: boolean, checkUITransform: boolean, params: ICreateByNodeTypeParams | ICreateByAssetParams): Promise<INode | null>;
|
|
1712
|
+
/**
|
|
1713
|
+
* 获取或创建路径节点
|
|
1714
|
+
*/
|
|
1715
|
+
private _getOrCreateNodeByPath;
|
|
1716
|
+
/**
|
|
1717
|
+
* 确保路径存在,如果不存在则创建空节点
|
|
1718
|
+
*/
|
|
1719
|
+
private _ensurePathExists;
|
|
1720
|
+
deleteNode(params: IDeleteNodeParams): Promise<IDeleteNodeResult | null>;
|
|
1721
|
+
private _walkNode;
|
|
1722
|
+
updateNode(params: IUpdateNodeParams): Promise<IUpdateNodeResult>;
|
|
1723
|
+
queryNode(params: IQueryNodeParams): Promise<INode | null>;
|
|
1724
|
+
queryNodeTree(params: IQueryNodeTreeParams): Promise<INodeTreeItem | null>;
|
|
1725
|
+
/**
|
|
1726
|
+
* 确保节点有 UITransform 组件
|
|
1727
|
+
* 目前只需保障在创建空节点的时候检查任意上级是否为 canvas
|
|
1728
|
+
*/
|
|
1729
|
+
ensureUITransformComponent(node: Node_2): void;
|
|
1730
|
+
/**
|
|
1731
|
+
* 检查并根据需要创建 canvas节点或为父级添加UITransform组件,返回父级节点,如果需要canvas节点,则父级节点会是canvas节点
|
|
1732
|
+
* @param workMode
|
|
1733
|
+
* @param canvasRequiredParam
|
|
1734
|
+
* @param parent
|
|
1735
|
+
* @param position
|
|
1736
|
+
* @returns
|
|
1737
|
+
*/
|
|
1738
|
+
checkCanvasRequired(workMode: string, canvasRequiredParam: boolean | undefined, parent: Node_2 | null, position: Vec3_2 | undefined): Promise<Node_2 | null>;
|
|
1739
|
+
onEditorOpened(): void;
|
|
1740
|
+
onEditorClosed(): void;
|
|
1741
|
+
private readonly NodeHandlers;
|
|
1742
|
+
private nodeHandlers;
|
|
1743
|
+
/**
|
|
1744
|
+
* 监听引擎发出的 node 事件
|
|
1745
|
+
* @param {*} node
|
|
1746
|
+
*/
|
|
1747
|
+
registerEventListeners(node: Node_2): void;
|
|
1748
|
+
/**
|
|
1749
|
+
* 取消监听引擎发出的node事件
|
|
1750
|
+
* @param {*} node
|
|
1751
|
+
*/
|
|
1752
|
+
unregisterEventListeners(node: Node_2): void;
|
|
1753
|
+
private readonly NodeMgrEventHandlers;
|
|
1754
|
+
private nodeMgrEventHandlers;
|
|
1755
|
+
/**
|
|
1756
|
+
* 注册引擎 Node 管理相关事件的监听
|
|
1757
|
+
*/
|
|
1758
|
+
registerNodeMgrEvents(): void;
|
|
1759
|
+
unregisterNodeMgrEvents(): void;
|
|
1760
|
+
onNodeTransformChanged(node: Node_2, transformBit: TransformBit): void;
|
|
1761
|
+
onNodeSizeChanged(node: Node_2): void;
|
|
1762
|
+
onNodeAnchorChanged(node: Node_2): void;
|
|
1763
|
+
onNodeParentChanged(parent: Node_2, child: Node_2): void;
|
|
1764
|
+
onLightProbeChanged(node: Node_2): void;
|
|
1765
|
+
/**
|
|
1766
|
+
* 添加一个节点到管理器内
|
|
1767
|
+
* @param uuid
|
|
1768
|
+
* @param {*} node
|
|
1769
|
+
*/
|
|
1770
|
+
add(uuid: string, node: Node_2): void;
|
|
1771
|
+
/**
|
|
1772
|
+
* 一个节点被修改,由 EditorExtends.Node.emit('change') 触发
|
|
1773
|
+
* @param uuid
|
|
1774
|
+
* @param node
|
|
1775
|
+
*/
|
|
1776
|
+
change(uuid: string, node: Node_2): void;
|
|
1777
|
+
/**
|
|
1778
|
+
* 从管理器内移除一个指定的节点
|
|
1779
|
+
* @param uuid
|
|
1780
|
+
* @param {*} node
|
|
1781
|
+
*/
|
|
1782
|
+
remove(uuid: string, node: Node_2): void;
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
declare enum NodeType {
|
|
1786
|
+
EMPTY = 'Empty',// 空节点
|
|
1787
|
+
TERRAIN = 'Terrain',// 地形节点
|
|
1788
|
+
CAMERA = 'Camera',// 摄像机节点(需要用过 TWorkMode 来区分 2D 和 3D)
|
|
1789
|
+
SPRITE = 'Sprite',// 精灵节点(需要用过 TWorkMode 来区分 2D 和 3D)
|
|
1790
|
+
SPRITE_SPLASH = 'SpriteSplash',// 单色
|
|
1791
|
+
GRAPHICS = 'Graphics',// 图形节点
|
|
1792
|
+
LABEL = 'Label',// 文本节点
|
|
1793
|
+
MASK = 'Mask',// 遮罩节点
|
|
1794
|
+
PARTICLE = 'Particle',// 粒子节点(需要用过 TWorkMode 来区分 2D 和 3D)
|
|
1795
|
+
TILED_MAP = 'TiledMap',// 瓦片地图节点
|
|
1796
|
+
CAPSULE = 'Capsule',// 胶囊体节点
|
|
1797
|
+
CONE = 'Cone',// 圆锥体节点
|
|
1798
|
+
CUBE = 'Cube',// 立方体节点
|
|
1799
|
+
CYLINDER = 'Cylinder',// 圆柱体节点
|
|
1800
|
+
PLANE = 'Plane',// 平面节点
|
|
1801
|
+
QUAD = 'Quad',// 四边形节点
|
|
1802
|
+
SPHERE = 'Sphere',// 球体节点
|
|
1803
|
+
TORUS = 'Torus',// 圆环体节点
|
|
1804
|
+
BUTTON = 'Button',// 按钮节点
|
|
1805
|
+
CANVAS = 'Canvas',// 画布节点(需要用过 TWorkMode 来区分 2D 和 3D)
|
|
1806
|
+
EDIT_BOX = 'EditBox',// 输入框节点
|
|
1807
|
+
LAYOUT = 'Layout',// 布局节点
|
|
1808
|
+
PAGE_VIEW = 'PageView',// 页面视图节点
|
|
1809
|
+
PROGRESS_BAR = 'ProgressBar',// 进度条节点
|
|
1810
|
+
RICH_TEXT = 'RichText',// 富文本节点
|
|
1811
|
+
SCROLL_VIEW = 'ScrollView',// 滚动视图节点
|
|
1812
|
+
SLIDER = 'Slider',// 滑动条节点
|
|
1813
|
+
TOGGLE = 'Toggle',// 切换节点
|
|
1814
|
+
TOGGLE_GROUP = 'ToggleGroup',// 切换组节点
|
|
1815
|
+
VIDEO_PLAYER = 'VideoPlayer',// 视频播放器节点
|
|
1816
|
+
WEB_VIEW = 'WebView',// 网页视图节点
|
|
1817
|
+
WIDGET = 'Widget',// 小部件节点
|
|
1818
|
+
DIRECTIONAL_LIGHT = 'Light-Directional',// 平行光
|
|
1819
|
+
SPHERE_LIGHT = 'Light-Sphere',// 球面光
|
|
1820
|
+
SPOT_LIGHT = 'Light-Spot',// 聚光灯
|
|
1821
|
+
PROBE_LIGHT = 'Light-Probe-Group',// 光照探针
|
|
1822
|
+
REFLECTION_LIGHT = 'Light-Reflection-Probe'
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
declare enum NormalImportSetting {
|
|
1826
|
+
/**
|
|
1827
|
+
* 如果模型文件中包含法线信息则导出法线,否则不导出法线。
|
|
1828
|
+
*/
|
|
1829
|
+
optional = 0,
|
|
1830
|
+
/**
|
|
1831
|
+
* 不在导出的网格中包含法线信息。
|
|
1832
|
+
*/
|
|
1833
|
+
exclude = 1,
|
|
1834
|
+
/**
|
|
1835
|
+
* 如果模型文件中包含法线信息则导出法线,否则重新计算并导出法线。
|
|
1836
|
+
*/
|
|
1837
|
+
require = 2,
|
|
1838
|
+
/**
|
|
1839
|
+
* 不管模型文件中是否包含法线信息,直接重新计算并导出法线。
|
|
1840
|
+
*/
|
|
1841
|
+
recalculate = 3
|
|
1842
|
+
}
|
|
1843
|
+
|
|
1844
|
+
declare enum OptimizationPolicy {
|
|
1845
|
+
AUTO = 0,
|
|
1846
|
+
SINGLE_INSTANCE = 1,
|
|
1847
|
+
MULTI_INSTANCE = 2
|
|
1848
|
+
}
|
|
1849
|
+
|
|
1850
|
+
/** 粒子资源的 userData */
|
|
1851
|
+
declare interface ParticleAssetUserData {
|
|
1852
|
+
totalParticles: number;
|
|
1853
|
+
life: number;
|
|
1854
|
+
lifeVar: number;
|
|
1855
|
+
emissionRate: number;
|
|
1856
|
+
duration: number;
|
|
1857
|
+
srcBlendFactor: number;
|
|
1858
|
+
dstBlendFactor: number;
|
|
1859
|
+
startColor: any;
|
|
1860
|
+
startColorVar: any;
|
|
1861
|
+
endColor: any;
|
|
1862
|
+
endColorVar: any;
|
|
1863
|
+
startSize: number;
|
|
1864
|
+
startSizeVar: number;
|
|
1865
|
+
endSize: number;
|
|
1866
|
+
endSizeVar: number;
|
|
1867
|
+
positionType: number;
|
|
1868
|
+
sourcePos: any;
|
|
1869
|
+
posVar: any;
|
|
1870
|
+
angle: number;
|
|
1871
|
+
angleVar: number;
|
|
1872
|
+
startSpin: number;
|
|
1873
|
+
startSpinVar: number;
|
|
1874
|
+
endSpin: number;
|
|
1875
|
+
endSpinVar: number;
|
|
1876
|
+
emitterMode: number;
|
|
1877
|
+
gravity: any;
|
|
1878
|
+
speed: number;
|
|
1879
|
+
speedVar: number;
|
|
1880
|
+
radialAccel: number;
|
|
1881
|
+
radialAccelVar: number;
|
|
1882
|
+
tangentialAccel: number;
|
|
1883
|
+
tangentialAccelVar: number;
|
|
1884
|
+
rotationIsDir: boolean;
|
|
1885
|
+
startRadius: number;
|
|
1886
|
+
startRadiusVar: number;
|
|
1887
|
+
endRadius: number;
|
|
1888
|
+
endRadiusVar: number;
|
|
1889
|
+
rotatePerS: number;
|
|
1890
|
+
rotatePerSVar: number;
|
|
1891
|
+
spriteFrameUuid: string;
|
|
1892
|
+
}
|
|
1893
|
+
|
|
1894
|
+
/** JavaScript 插件脚本的 userData */
|
|
1895
|
+
declare interface PluginScriptUserData {
|
|
1896
|
+
isPlugin: true;
|
|
1897
|
+
/** 界面没有开放给用户。默认开启 */
|
|
1898
|
+
experimentalHideCommonJs?: boolean;
|
|
1899
|
+
/** 界面没有开放给用户。默认开启 */
|
|
1900
|
+
experimentalHideAmd?: boolean;
|
|
1901
|
+
/** 仅当 executionScope 为 enclosed 时有效。指定了要模拟的全局变量 */
|
|
1902
|
+
simulateGlobals?: string[];
|
|
1903
|
+
/** 执行作用域 */
|
|
1904
|
+
executionScope?: 'enclosed' | 'global';
|
|
1905
|
+
/** 插件执行时机 */
|
|
1906
|
+
loadPluginInEditor?: boolean;
|
|
1907
|
+
loadPluginInWeb?: boolean;
|
|
1908
|
+
loadPluginInMiniGame?: boolean;
|
|
1909
|
+
loadPluginInNative?: boolean;
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1912
|
+
/** 场景/预制体资源的 userData */
|
|
1913
|
+
declare interface PrefabAssetUserData {
|
|
1914
|
+
/** 是否为持久节点 */
|
|
1915
|
+
persistent?: boolean;
|
|
1916
|
+
/** 同步节点名称 */
|
|
1917
|
+
syncNodeName?: string;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
export declare class PrefabService extends BaseService<IPrefabEvents> implements IPrefabService {
|
|
1921
|
+
private _softReloadTimer;
|
|
1922
|
+
private _utils;
|
|
1923
|
+
init(): void;
|
|
1924
|
+
/**
|
|
1925
|
+
* 将节点转换为预制体资源
|
|
1926
|
+
*/
|
|
1927
|
+
createPrefabFromNode(params: ICreatePrefabFromNodeParams): Promise<INode>;
|
|
1928
|
+
/**
|
|
1929
|
+
* 将节点的修改应用回预制体资源
|
|
1930
|
+
*/
|
|
1931
|
+
applyPrefabChanges(params: IApplyPrefabChangesParams): Promise<boolean>;
|
|
1932
|
+
/**
|
|
1933
|
+
* 重置节点到预制体原始状态
|
|
1934
|
+
*/
|
|
1935
|
+
revertToPrefab(params: IRevertToPrefabParams): Promise<boolean>;
|
|
1936
|
+
/**
|
|
1937
|
+
* 解耦预制体实例,使其成为普通节点
|
|
1938
|
+
*/
|
|
1939
|
+
unpackPrefabInstance(params: IUnpackPrefabInstanceParams): Promise<INode>;
|
|
1940
|
+
/**
|
|
1941
|
+
* 检查节点是否为预制体实例
|
|
1942
|
+
*/
|
|
1943
|
+
isPrefabInstance(params: IIsPrefabInstanceParams): Promise<boolean>;
|
|
1944
|
+
/**
|
|
1945
|
+
* 获取节点的预制体信息
|
|
1946
|
+
*/
|
|
1947
|
+
getPrefabInfo(params: IGetPrefabInfoParams): Promise<IPrefabInfo | null>;
|
|
1948
|
+
onEditorOpened(): void;
|
|
1949
|
+
onNodeRemoved(node: Node_2): void;
|
|
1950
|
+
onNodeChangedInGeneralMode(node: Node_2, opts: IChangeNodeOptions, root: Node_2 | Scene | null): void;
|
|
1951
|
+
onAddNode(node: Node_2): void;
|
|
1952
|
+
onNodeAdded(node: Node_2): void;
|
|
1953
|
+
onNodeChanged(node: Node_2, opts?: IChangeNodeOptions): void;
|
|
1954
|
+
onSetPropertyComponent(comp: Component, opts?: IChangeNodeOptions): void;
|
|
1955
|
+
removePrefabInfoFromNode(node: Node_2, removeNested?: boolean): void;
|
|
1956
|
+
checkToRemoveTargetOverride(source: Node_2 | Component, root: Node_2 | Scene | null): void;
|
|
1957
|
+
/**
|
|
1958
|
+
* 从一个节点生成一个PrefabAsset
|
|
1959
|
+
* @param nodeUUID
|
|
1960
|
+
* @param url
|
|
1961
|
+
* @param options
|
|
1962
|
+
*/
|
|
1963
|
+
createPrefabAssetFromNode(nodeUUID: string, url: string, options?: {
|
|
1964
|
+
undo: boolean;
|
|
1965
|
+
overwrite: boolean;
|
|
1966
|
+
}): Promise<Node_2 | null>;
|
|
1967
|
+
/**
|
|
1968
|
+
* 将一个 node 与一个 prefab 关联到一起
|
|
1969
|
+
* @param nodeUUID
|
|
1970
|
+
* @param {*} assetUuid 关联的资源
|
|
1971
|
+
*/
|
|
1972
|
+
linkNodeWithPrefabAsset(nodeUUID: string | Node_2, assetUuid: string | any): Promise<void>;
|
|
1973
|
+
/**
|
|
1974
|
+
* 从一个节点生成 prefab数据
|
|
1975
|
+
* 返回序列化数据
|
|
1976
|
+
* @param {*} nodeUUID
|
|
1977
|
+
*/
|
|
1978
|
+
generatePrefabDataFromNode(nodeUUID: string | Node_2): {
|
|
1979
|
+
prefabData: string;
|
|
1980
|
+
clearedReference: any;
|
|
1981
|
+
} | null;
|
|
1982
|
+
/**
|
|
1983
|
+
* 还原一个PrefabInstance的数据为它所关联的PrefabAsset
|
|
1984
|
+
* @param nodeUUID node
|
|
1985
|
+
*/
|
|
1986
|
+
revertPrefab(nodeUUID: Node_2 | string): Promise<boolean>;
|
|
1987
|
+
getUnlinkNodeUuids(uuid: string, removeNested?: boolean): string[];
|
|
1988
|
+
/**
|
|
1989
|
+
* 解除PrefabInstance对PrefabAsset的关联
|
|
1990
|
+
* @param nodeUUID 节点或节点的UUID
|
|
1991
|
+
* @param removeNested 是否递归的解除子节点PrefabInstance
|
|
1992
|
+
*/
|
|
1993
|
+
unWrapPrefabInstance(nodeUUID: string, removeNested?: boolean): boolean;
|
|
1994
|
+
unWrapPrefabInstanceInPrefabMode(nodeUUID: string | Node_2, removeNested?: boolean): boolean;
|
|
1995
|
+
/**
|
|
1996
|
+
* 将一个PrefabInstance的数据应用到对应的Asset资源上
|
|
1997
|
+
* @param nodeUUID uuid
|
|
1998
|
+
*/
|
|
1999
|
+
applyPrefab(nodeUUID: string): Promise<boolean>;
|
|
2000
|
+
onAddComponent(comp: Component): void;
|
|
2001
|
+
onComponentAdded(comp: Component): void;
|
|
2002
|
+
onRemoveComponentInGeneralMode(comp: Component, rootNode: Node_2 | Scene | null): void;
|
|
2003
|
+
onComponentRemovedInGeneralMode(comp: Component, rootNode: Node_2 | Scene | null): void;
|
|
2004
|
+
revertRemovedComponent(nodeUUID: string, fileID: string): Promise<void>;
|
|
2005
|
+
applyRemovedComponent(nodeUUID: string, fileID: string): Promise<void>;
|
|
2006
|
+
onAssetChanged(uuid: string): Promise<void>;
|
|
2007
|
+
onAssetDeleted(uuid: string): Promise<void>;
|
|
2008
|
+
/**
|
|
2009
|
+
* 将一个节点恢复到关联的 prefab 的状态
|
|
2010
|
+
* @param {*} nodeUuid
|
|
2011
|
+
*/
|
|
2012
|
+
revert(nodeUuid: string): void;
|
|
2013
|
+
/**
|
|
2014
|
+
* 将一个节点的修改,应用到关联的 prefab 上
|
|
2015
|
+
* @param {*} nodeUuid
|
|
2016
|
+
*/
|
|
2017
|
+
sync(nodeUuid: string): void;
|
|
2018
|
+
createNodeFromPrefabAsset(asset: any): Node_2 | null;
|
|
2019
|
+
filterChildOfAssetOfPrefabInstance(uuids: string | string[], operationTips: string): string[];
|
|
2020
|
+
filterPartOfPrefabAsset(uuids: string | string[], operationTips: string): string[];
|
|
2021
|
+
filterChildOfPrefabAssetWhenRemoveNode(uuids: string | string[]): string[];
|
|
2022
|
+
filterChildOfPrefabAssetWhenSetParent(uuids: string | string[]): string[];
|
|
2023
|
+
canModifySibling(uuid: string, target: number, offset: number): boolean;
|
|
2024
|
+
filterPartOfPrefabAssetWhenCreateComponent(uuids: string | string[]): string[];
|
|
2025
|
+
filterPartOfPrefabAssetWhenRemoveComponent(uuids: string | string[]): string[];
|
|
2026
|
+
/**
|
|
2027
|
+
* 暴力遍历root所有属性,找到rule返回true的路径
|
|
2028
|
+
* 比如找Scene节点的路径,rule = (obj)=> return obj.globals
|
|
2029
|
+
* @param root 根节点
|
|
2030
|
+
* @param rule 判断函数
|
|
2031
|
+
* @returns
|
|
2032
|
+
*/
|
|
2033
|
+
findPathWithRule(root: Node_2, rule: Function): string[];
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
declare enum PrefabState {
|
|
2037
|
+
NotAPrefab = 0,// Normal node, not a Prefab
|
|
2038
|
+
PrefabChild = 1,// Child node of a Prefab, without PrefabInstance
|
|
2039
|
+
PrefabInstance = 2,// Root node of a Prefab that contains a PrefabInstance
|
|
2040
|
+
PrefabLostAsset = 3
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2043
|
+
/** 类装饰器:注册 Service 类,自动收集所有公有方法 */
|
|
2044
|
+
export declare function register(name?: string): ClassDecorator;
|
|
2045
|
+
|
|
2046
|
+
/**
|
|
2047
|
+
* 重载结果
|
|
2048
|
+
*/
|
|
2049
|
+
declare enum ReloadResult {
|
|
2050
|
+
SUCCESS = 0,
|
|
2051
|
+
FAILED = 1,
|
|
2052
|
+
QUEUED = 2,
|
|
2053
|
+
NO_EDITOR = 3,
|
|
2054
|
+
ASSET_NOT_FOUND = 4,
|
|
2055
|
+
EDITOR_NOT_FOUND = 5
|
|
2056
|
+
}
|
|
2057
|
+
|
|
2058
|
+
/** 渲染纹理资源的 userData */
|
|
2059
|
+
declare interface RenderTextureAssetUserData extends TextureBaseAssetUserData {
|
|
2060
|
+
width: number;
|
|
2061
|
+
height: number;
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
/** 渲染纹理精灵帧的 userData */
|
|
2065
|
+
declare interface RtSpriteFrameAssetUserData {
|
|
2066
|
+
/** 图片 UUID 或数据库 URI */
|
|
2067
|
+
imageUuidOrDatabaseUri: string;
|
|
2068
|
+
/** 宽度 */
|
|
2069
|
+
width?: number;
|
|
2070
|
+
/** 高度 */
|
|
2071
|
+
height?: number;
|
|
2072
|
+
}
|
|
2073
|
+
|
|
2074
|
+
/**
|
|
2075
|
+
* 场景模板类型
|
|
2076
|
+
*/
|
|
2077
|
+
declare const SCENE_TEMPLATE_TYPE: readonly ['2d', '3d', 'quality'];
|
|
2078
|
+
|
|
2079
|
+
declare enum SceneModeType {
|
|
2080
|
+
General = 'general',
|
|
2081
|
+
Prefab = 'prefab',
|
|
2082
|
+
Animation = 'animation',
|
|
2083
|
+
Preview = 'preview',
|
|
2084
|
+
Unset = ''
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2087
|
+
/** JavaScript 脚本模块的 userData */
|
|
2088
|
+
declare interface ScriptModuleUserData {
|
|
2089
|
+
isPlugin: false;
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
export declare class ScriptService extends BaseService<IScriptEvents> implements IScriptService {
|
|
2093
|
+
private _executor;
|
|
2094
|
+
private _suspendPromise;
|
|
2095
|
+
private _syncPluginScripts;
|
|
2096
|
+
private _reloadScripts;
|
|
2097
|
+
/**
|
|
2098
|
+
* 非引擎定义的组件
|
|
2099
|
+
* @private
|
|
2100
|
+
*/
|
|
2101
|
+
private customComponents;
|
|
2102
|
+
constructor();
|
|
2103
|
+
/**
|
|
2104
|
+
* 挂起脚本管理器直到 `condition` 结束,才会进行下一次执行。
|
|
2105
|
+
* @param condition
|
|
2106
|
+
*/
|
|
2107
|
+
suspend(condition: Promise<void>): void;
|
|
2108
|
+
init(): Promise<void>;
|
|
2109
|
+
investigatePackerDriver(): Promise<void>;
|
|
2110
|
+
/**
|
|
2111
|
+
* 传入一个 uuid 返回这个 uuid 对应的脚本组件名字
|
|
2112
|
+
* @param uuid
|
|
2113
|
+
*/
|
|
2114
|
+
queryScriptName(uuid: string): Promise<string | null>;
|
|
2115
|
+
/**
|
|
2116
|
+
* 传入一个 uuid 返回这个 uuid 对应的脚本的 cid
|
|
2117
|
+
* @param uuid
|
|
2118
|
+
*/
|
|
2119
|
+
queryScriptCid(uuid: string): Promise<string | null>;
|
|
2120
|
+
/**
|
|
2121
|
+
* 是否是自定义脚本(不是引擎定义的组件)
|
|
2122
|
+
* @param classConstructor
|
|
2123
|
+
*/
|
|
2124
|
+
isCustomComponent(classConstructor: Function): boolean;
|
|
2125
|
+
_loadScripts(): Promise<void>;
|
|
2126
|
+
/**
|
|
2127
|
+
* 加载脚本时触发
|
|
2128
|
+
*/
|
|
2129
|
+
loadScript(): Promise<void>;
|
|
2130
|
+
/**
|
|
2131
|
+
* 删除脚本时触发
|
|
2132
|
+
*/
|
|
2133
|
+
removeScript(): Promise<void>;
|
|
2134
|
+
/**
|
|
2135
|
+
* 脚本发生变化时触发
|
|
2136
|
+
*/
|
|
2137
|
+
scriptChange(): Promise<void>;
|
|
2138
|
+
private _executeAsync;
|
|
2139
|
+
private _execute;
|
|
2140
|
+
/**
|
|
2141
|
+
* 防止插件脚本切换到项目脚本或者反之时,没有同步插件脚本列表
|
|
2142
|
+
* 这里使用了 AsyncIterationConcurrency1 功能,为了防止被多次调用,进行了迭代合并
|
|
2143
|
+
* @private
|
|
2144
|
+
*/
|
|
2145
|
+
private _syncPluginScriptListAsync;
|
|
2146
|
+
/**
|
|
2147
|
+
* 同步插件脚本列表到 Executor
|
|
2148
|
+
* @private
|
|
2149
|
+
*/
|
|
2150
|
+
private _syncPluginScriptList;
|
|
2151
|
+
private _handleImportException;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
declare interface SerializedAssetFinder {
|
|
2155
|
+
meshes?: Array<string | null>;
|
|
2156
|
+
animations?: Array<string | null>;
|
|
2157
|
+
skeletons?: Array<string | null>;
|
|
2158
|
+
textures?: Array<string | null>;
|
|
2159
|
+
materials?: Array<string | null>;
|
|
2160
|
+
scenes?: Array<string | null>;
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
/**
|
|
2164
|
+
* 全局代理:通过 Service.Editor.xxx() 访问
|
|
2165
|
+
*/
|
|
2166
|
+
export declare const Service: IServiceManager;
|
|
2167
|
+
|
|
2168
|
+
/**
|
|
2169
|
+
* 范例
|
|
2170
|
+
* @register('Scene')
|
|
2171
|
+
* class SceneManager {
|
|
2172
|
+
* loadScene(name: string) {
|
|
2173
|
+
* console.log(`loading scene: ${name}`);
|
|
2174
|
+
* }
|
|
2175
|
+
*
|
|
2176
|
+
* unloadScene(name: string) {
|
|
2177
|
+
* console.log(`unloading scene: ${name}`);
|
|
2178
|
+
* }
|
|
2179
|
+
*
|
|
2180
|
+
* private internal() {
|
|
2181
|
+
* console.log('private logic');
|
|
2182
|
+
* }
|
|
2183
|
+
* }
|
|
2184
|
+
*
|
|
2185
|
+
* // 使用
|
|
2186
|
+
* import { Service } from './service';
|
|
2187
|
+
* Service.Editor.loadScene('Main');
|
|
2188
|
+
*/
|
|
2189
|
+
export declare type ServiceName = keyof IServiceManager;
|
|
2190
|
+
|
|
2191
|
+
declare interface SimplifyOptions {
|
|
2192
|
+
// 压缩比例
|
|
2193
|
+
targetRatio?: number;
|
|
2194
|
+
// 防止破面
|
|
2195
|
+
enableSmartLink?: boolean;
|
|
2196
|
+
// 误差距离
|
|
2197
|
+
agressiveness?: number;
|
|
2198
|
+
// 计算迭代次数
|
|
2199
|
+
maxIterationCount?: number;
|
|
2200
|
+
}
|
|
2201
|
+
|
|
2202
|
+
/** Spine 资源的 userData */
|
|
2203
|
+
declare interface SpineAssetUserData {
|
|
2204
|
+
/** 图集资源的 UUID */
|
|
2205
|
+
atlasUuid: string;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
/** 精灵图集资源的 userData */
|
|
2209
|
+
declare interface SpriteAtlasAssetUserData {
|
|
2210
|
+
/** 图集纹理名称 */
|
|
2211
|
+
atlasTextureName: string;
|
|
2212
|
+
/** 纹理 UUID */
|
|
2213
|
+
textureUuid: string | null;
|
|
2214
|
+
/** 精灵帧列表 */
|
|
2215
|
+
frames: SpriteFrameAssetUserData[];
|
|
2216
|
+
/** 资源 UUID */
|
|
2217
|
+
uuid: string;
|
|
2218
|
+
/** 格式版本 */
|
|
2219
|
+
format: number;
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
declare interface SpriteFrameAssetUserData extends SpriteFrameBaseAssetUserData {
|
|
2223
|
+
isUuid?: boolean;
|
|
2224
|
+
imageUuidOrDatabaseUri: string;
|
|
2225
|
+
}
|
|
2226
|
+
|
|
2227
|
+
declare interface SpriteFrameBaseAssetUserData {
|
|
2228
|
+
trimType?: string;
|
|
2229
|
+
trimThreshold: number;
|
|
2230
|
+
rotated: boolean;
|
|
2231
|
+
offsetX: number;
|
|
2232
|
+
offsetY: number;
|
|
2233
|
+
trimX: number;
|
|
2234
|
+
trimY: number;
|
|
2235
|
+
width: number;
|
|
2236
|
+
height: number;
|
|
2237
|
+
rawWidth: number;
|
|
2238
|
+
rawHeight: number;
|
|
2239
|
+
borderTop: number;
|
|
2240
|
+
borderBottom: number;
|
|
2241
|
+
borderLeft: number;
|
|
2242
|
+
borderRight: number;
|
|
2243
|
+
packable?: boolean;
|
|
2244
|
+
pixelsToUnit: number;
|
|
2245
|
+
pivotX: number;
|
|
2246
|
+
pivotY: number;
|
|
2247
|
+
meshType: number;
|
|
2248
|
+
vertices: SpriteFrameVertices;
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
declare interface SpriteFrameVertices {
|
|
2252
|
+
rawPosition: number[];
|
|
2253
|
+
indexes: number[];
|
|
2254
|
+
uv: number[];
|
|
2255
|
+
nuv: number[];
|
|
2256
|
+
triangles?: number[];
|
|
2257
|
+
minPos: number[];
|
|
2258
|
+
maxPos: number[];
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
/** 支持创建的资源类型常量数组(用于 Zod enum 和 TypeScript type) */
|
|
2262
|
+
declare const SUPPORT_CREATE_TYPES: readonly ['animation-clip', 'typescript', 'auto-atlas', 'effect', 'scene', 'prefab', 'material', 'terrain', 'physics-material', 'label-atlas', 'render-texture', 'directory', 'effect-header'];
|
|
2263
|
+
|
|
2264
|
+
declare enum TangentImportSetting {
|
|
2265
|
+
/**
|
|
2266
|
+
* 不在导出的网格中包含正切信息。
|
|
2267
|
+
*/
|
|
2268
|
+
exclude = 0,
|
|
2269
|
+
/**
|
|
2270
|
+
* 如果模型文件中包含正切信息则导出正切,否则不导出正切。
|
|
2271
|
+
*/
|
|
2272
|
+
optional = 1,
|
|
2273
|
+
/**
|
|
2274
|
+
* 如果模型文件中包含正切信息则导出正切,否则若纹理坐标存在则重新计算并导出正切。
|
|
2275
|
+
*/
|
|
2276
|
+
require = 2,
|
|
2277
|
+
/**
|
|
2278
|
+
* 不管模型文件中是否包含正切信息,直接重新计算并导出正切。
|
|
2279
|
+
*/
|
|
2280
|
+
recalculate = 3
|
|
2281
|
+
}
|
|
2282
|
+
|
|
2283
|
+
declare type TEditorEntity = IScene | INode;
|
|
2284
|
+
|
|
2285
|
+
declare type TEditorInstance = Scene | Node_2;
|
|
2286
|
+
|
|
2287
|
+
declare interface Texture2DAssetUserData extends TextureBaseAssetUserData {
|
|
2288
|
+
isUuid?: boolean;
|
|
2289
|
+
imageUuidOrDatabaseUri?: string;
|
|
2290
|
+
}
|
|
2291
|
+
|
|
2292
|
+
declare interface TextureBaseAssetUserData {
|
|
2293
|
+
wrapModeS: WrapMode;
|
|
2294
|
+
wrapModeT: WrapMode;
|
|
2295
|
+
minfilter: Filter;
|
|
2296
|
+
magfilter: Filter;
|
|
2297
|
+
mipfilter: Filter;
|
|
2298
|
+
anisotropy: number;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
declare interface TextureCubeAssetUserData extends TextureBaseAssetUserData {
|
|
2302
|
+
imageDatabaseUri?: string;
|
|
2303
|
+
isRGBE: boolean;
|
|
2304
|
+
|
|
2305
|
+
mipBakeMode: number;
|
|
2306
|
+
/**
|
|
2307
|
+
* `0` 意味着默认。见 https://github.com/cocos-creator/3d-tasks/issues/2253
|
|
2308
|
+
*/
|
|
2309
|
+
faceSize?: number;
|
|
2310
|
+
// 符号资源 uuid
|
|
2311
|
+
sign?: string;
|
|
2312
|
+
|
|
2313
|
+
// 六个面的 UUID
|
|
2314
|
+
front?: string;
|
|
2315
|
+
back?: string;
|
|
2316
|
+
left?: string;
|
|
2317
|
+
right?: string;
|
|
2318
|
+
top?: string;
|
|
2319
|
+
bottom?: string;
|
|
2320
|
+
}
|
|
2321
|
+
|
|
2322
|
+
declare type TSceneTemplateType = typeof SCENE_TEMPLATE_TYPE[number];
|
|
2323
|
+
|
|
2324
|
+
declare interface Vec2 {
|
|
2325
|
+
x: number;
|
|
2326
|
+
y: number;
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
declare interface Vec3 {
|
|
2330
|
+
x: number;
|
|
2331
|
+
y: number;
|
|
2332
|
+
z: number;
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
declare interface Vec4 {
|
|
2336
|
+
x: number;
|
|
2337
|
+
y: number;
|
|
2338
|
+
z: number;
|
|
2339
|
+
w: number;
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
declare type WrapMode = 'repeat' | 'clamp-to-edge' | 'mirrored-repeat';
|
|
2343
|
+
|
|
2344
|
+
export { };
|