@galacean/engine-core 2.0.0-alpha.38 → 2.0.0-alpha.40
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/dist/main.js +10818 -11218
- package/dist/main.js.map +1 -1
- package/dist/module.js +10819 -11217
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/sprite/SpriteMask.d.ts +4 -0
- package/types/2d/sprite/SpriteRenderer.d.ts +4 -0
- package/types/Canvas.d.ts +23 -7
- package/types/Renderer.d.ts +6 -1
- package/types/Signal.d.ts +7 -1
- package/types/Transform.d.ts +6 -1
- package/types/UpdateFlag.d.ts +1 -1
- package/types/animation/AnimationClip.d.ts +1 -1
- package/types/animation/Animator.d.ts +6 -1
- package/types/asset/ResourceManager.d.ts +16 -0
- package/types/base/DataObject.d.ts +6 -0
- package/types/base/index.d.ts +1 -0
- package/types/clone/CloneDecorators.d.ts +17 -0
- package/types/clone/ComponentCloner.d.ts +1 -15
- package/types/clone/ICloneHook.d.ts +12 -0
- package/types/index.d.ts +3 -3
- package/types/mesh/MeshRenderer.d.ts +4 -0
- package/types/mesh/Skin.d.ts +2 -2
- package/types/mesh/SkinnedMeshRenderer.d.ts +4 -0
- package/types/particle/ParticleGenerator.d.ts +7 -1
- package/types/particle/ParticleRenderer.d.ts +4 -0
- package/types/particle/modules/Burst.d.ts +2 -1
- package/types/particle/modules/MainModule.d.ts +7 -2
- package/types/particle/modules/ParticleCompositeCurve.d.ts +2 -1
- package/types/particle/modules/ParticleCompositeGradient.d.ts +6 -1
- package/types/particle/modules/ParticleCurve.d.ts +3 -2
- package/types/particle/modules/ParticleGeneratorModule.d.ts +2 -1
- package/types/particle/modules/ParticleGradient.d.ts +4 -3
- package/types/particle/modules/SubEmitter.d.ts +2 -1
- package/types/particle/modules/shape/BaseShape.d.ts +3 -2
- package/types/particle/modules/shape/MeshShape.d.ts +6 -1
- package/types/physics/Collider.d.ts +6 -2
- package/types/physics/DynamicCollider.d.ts +4 -0
- package/types/physics/joint/JointLimits.d.ts +2 -4
- package/types/physics/joint/JointMotor.d.ts +2 -4
- package/types/physics/shape/ColliderShape.d.ts +7 -2
- package/types/physics/shape/MeshColliderShape.d.ts +4 -3
- package/types/postProcess/PostProcessEffect.d.ts +2 -1
- package/types/postProcess/PostProcessEffectParameter.d.ts +2 -1
- package/types/shader/ShaderData.d.ts +8 -1
- package/types/shader/state/BlendState.d.ts +2 -1
- package/types/shader/state/DepthState.d.ts +2 -1
- package/types/shader/state/RasterState.d.ts +2 -1
- package/types/shader/state/RenderState.d.ts +2 -1
- package/types/shader/state/RenderTargetBlendState.d.ts +2 -1
- package/types/shader/state/StencilState.d.ts +2 -1
- package/types/clone/CloneManager.d.ts +0 -31
- package/types/clone/enums/CloneMode.d.ts +0 -13
- /package/types/clone/{CloneUtils.d.ts → CloneUtil.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galacean/engine-core",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.40",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"types/**/*"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@galacean/engine-math": "2.0.0-alpha.
|
|
21
|
+
"@galacean/engine-math": "2.0.0-alpha.40"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@galacean/engine-design": "2.0.0-alpha.
|
|
24
|
+
"@galacean/engine-design": "2.0.0-alpha.40"
|
|
25
25
|
},
|
|
26
26
|
"scripts": {
|
|
27
27
|
"b:types": "tsc"
|
|
@@ -56,6 +56,10 @@ export declare class SpriteMask extends Renderer implements ISpriteRenderer {
|
|
|
56
56
|
*/
|
|
57
57
|
get alphaCutoff(): number;
|
|
58
58
|
set alphaCutoff(value: number);
|
|
59
|
+
/**
|
|
60
|
+
* @inheritdoc
|
|
61
|
+
*/
|
|
62
|
+
_onClone(target: SpriteMask): void;
|
|
59
63
|
protected _updateBounds(worldBounds: BoundingBox): void;
|
|
60
64
|
/**
|
|
61
65
|
* @inheritdoc
|
|
@@ -86,6 +86,10 @@ export declare class SpriteRenderer extends Renderer implements ISpriteRenderer
|
|
|
86
86
|
*/
|
|
87
87
|
get maskInteraction(): SpriteMaskInteraction;
|
|
88
88
|
set maskInteraction(value: SpriteMaskInteraction);
|
|
89
|
+
/**
|
|
90
|
+
* @inheritdoc
|
|
91
|
+
*/
|
|
92
|
+
_onClone(target: SpriteRenderer): void;
|
|
89
93
|
protected _updateBounds(worldBounds: BoundingBox): void;
|
|
90
94
|
protected _render(context: RenderContext): void;
|
|
91
95
|
protected _onDestroy(): void;
|
package/types/Canvas.d.ts
CHANGED
|
@@ -1,19 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The canvas the engine renders to; owns the render-buffer resolution.
|
|
3
3
|
*/
|
|
4
4
|
export declare abstract class Canvas {
|
|
5
5
|
private _width;
|
|
6
6
|
private _height;
|
|
7
7
|
/**
|
|
8
|
-
* The width of the canvas.
|
|
8
|
+
* The width component of the canvas resolution, in pixels.
|
|
9
9
|
*/
|
|
10
10
|
get width(): number;
|
|
11
|
-
set width(value: number);
|
|
12
11
|
/**
|
|
13
|
-
*The height of the canvas.
|
|
12
|
+
* The height component of the canvas resolution, in pixels.
|
|
14
13
|
*/
|
|
15
14
|
get height(): number;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Lock the render buffer to an explicit resolution and stop following the display size.
|
|
17
|
+
* @param width - Render buffer width in pixels
|
|
18
|
+
* @param height - Render buffer height in pixels
|
|
19
|
+
*
|
|
20
|
+
* @throws
|
|
21
|
+
* Throw an error if width or height is not a positive finite number.
|
|
22
|
+
*/
|
|
23
|
+
setResolution(width: number, height: number): void;
|
|
24
|
+
/**
|
|
25
|
+
* Make the render buffer automatically follow the canvas display size.
|
|
26
|
+
* @param scale - Multiplier applied to the device pixel ratio (1 = native sharpness, 0.7 = save GPU, 2 = supersample), defaults to `1`
|
|
27
|
+
*
|
|
28
|
+
* @throws
|
|
29
|
+
* Throw an error if scale is not a positive finite number.
|
|
30
|
+
*/
|
|
31
|
+
abstract setAutoResolution(scale?: number): void;
|
|
32
|
+
protected _setResolution(width: number, height: number): void;
|
|
33
|
+
protected _exitAutoResolution(): void;
|
|
34
|
+
protected abstract _onResolutionChanged(width: number, height: number): void;
|
|
19
35
|
}
|
package/types/Renderer.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Component } from "./Component";
|
|
|
3
3
|
import { Entity } from "./Entity";
|
|
4
4
|
import { RenderContext } from "./RenderPipeline/RenderContext";
|
|
5
5
|
import { TransformModifyFlags } from "./Transform";
|
|
6
|
+
import type { ICloneHook } from "./clone/ICloneHook";
|
|
6
7
|
import { SpriteMaskLayer } from "./enums/SpriteMaskLayer";
|
|
7
8
|
import { Material } from "./material";
|
|
8
9
|
import { ShaderData } from "./shader/ShaderData";
|
|
@@ -10,7 +11,7 @@ import { ShaderData } from "./shader/ShaderData";
|
|
|
10
11
|
* Basis for all renderers.
|
|
11
12
|
* @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
|
|
12
13
|
*/
|
|
13
|
-
export declare class Renderer extends Component {
|
|
14
|
+
export declare class Renderer extends Component implements ICloneHook<Renderer> {
|
|
14
15
|
private static _tempVector0;
|
|
15
16
|
private static _receiveShadowMacro;
|
|
16
17
|
private static _mvMatrixProperty;
|
|
@@ -111,6 +112,10 @@ export declare class Renderer extends Component {
|
|
|
111
112
|
*/
|
|
112
113
|
setMaterials(materials: Material[]): void;
|
|
113
114
|
update(deltaTime: number): void;
|
|
115
|
+
/**
|
|
116
|
+
* @inheritdoc
|
|
117
|
+
*/
|
|
118
|
+
_onClone(target: Renderer): void;
|
|
114
119
|
/**
|
|
115
120
|
* Update once per frame per renderer.
|
|
116
121
|
*/
|
package/types/Signal.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { DataObject } from "./base/DataObject";
|
|
2
|
+
import type { ICloneHook } from "./clone/ICloneHook";
|
|
1
3
|
import { Component } from "./Component";
|
|
2
4
|
/**
|
|
3
5
|
* Signal is a typed event mechanism for Galacean Engine.
|
|
4
6
|
* @typeParam T - Tuple type of the signal arguments
|
|
5
7
|
*/
|
|
6
|
-
export declare class Signal<T extends any[] = []> {
|
|
8
|
+
export declare class Signal<T extends any[] = []> extends DataObject implements ICloneHook<Signal<T>> {
|
|
7
9
|
private _listeners;
|
|
8
10
|
/**
|
|
9
11
|
* Add a listener for this signal.
|
|
@@ -57,6 +59,10 @@ export declare class Signal<T extends any[] = []> {
|
|
|
57
59
|
* @param args - Arguments to pass to each listener
|
|
58
60
|
*/
|
|
59
61
|
invoke(...args: T): void;
|
|
62
|
+
/**
|
|
63
|
+
* @inheritdoc
|
|
64
|
+
*/
|
|
65
|
+
_onClone(target: Signal<T>, cloneMap: ReadonlyMap<object, object>): void;
|
|
60
66
|
private _cloneArguments;
|
|
61
67
|
private _addListener;
|
|
62
68
|
}
|
package/types/Transform.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Matrix, Quaternion, Vector3 } from "@galacean/engine-math";
|
|
2
2
|
import { BoolUpdateFlag } from "./BoolUpdateFlag";
|
|
3
3
|
import { Component } from "./Component";
|
|
4
|
+
import type { ICloneHook } from "./clone/ICloneHook";
|
|
4
5
|
/**
|
|
5
6
|
* Used to implement transformation related functions.
|
|
6
7
|
*/
|
|
7
|
-
export declare class Transform extends Component {
|
|
8
|
+
export declare class Transform extends Component implements ICloneHook<Transform> {
|
|
8
9
|
private static _tempQuat0;
|
|
9
10
|
private static _tempVec30;
|
|
10
11
|
private static _tempVec31;
|
|
@@ -192,6 +193,10 @@ export declare class Transform extends Component {
|
|
|
192
193
|
* @param worldUp - Up direction in world space, default is Vector3(0, 1, 0)
|
|
193
194
|
*/
|
|
194
195
|
lookAt(targetPosition: Vector3, worldUp?: Vector3): void;
|
|
196
|
+
/**
|
|
197
|
+
* @inheritdoc
|
|
198
|
+
*/
|
|
199
|
+
_onClone(target: Transform): void;
|
|
195
200
|
protected _onLocalMatrixChanging(): void;
|
|
196
201
|
protected _onWorldMatrixChanging(): void;
|
|
197
202
|
protected _isContainDirtyFlags(targetDirtyFlags: number): boolean;
|
package/types/UpdateFlag.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export declare class AnimationClip extends EngineObject {
|
|
|
34
34
|
* @param time - The time when the event be triggered
|
|
35
35
|
* @param parameter - The parameter that is stored in the event and will be sent to the function
|
|
36
36
|
*/
|
|
37
|
-
addEvent(functionName: string, time: number, parameter:
|
|
37
|
+
addEvent(functionName: string, time: number, parameter: object): void;
|
|
38
38
|
/**
|
|
39
39
|
* Adds an animation event to the clip.
|
|
40
40
|
* @param event - The animation event
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BoolUpdateFlag } from "../BoolUpdateFlag";
|
|
2
2
|
import { Component } from "../Component";
|
|
3
|
+
import type { ICloneHook } from "../clone/ICloneHook";
|
|
3
4
|
import { AnimatorController } from "./AnimatorController";
|
|
4
5
|
import { AnimatorControllerLayer } from "./AnimatorControllerLayer";
|
|
5
6
|
import { AnimatorControllerParameter, AnimatorControllerParameterValue } from "./AnimatorControllerParameter";
|
|
@@ -8,7 +9,7 @@ import { AnimatorCullingMode } from "./enums/AnimatorCullingMode";
|
|
|
8
9
|
/**
|
|
9
10
|
* The controller of the animation system.
|
|
10
11
|
*/
|
|
11
|
-
export declare class Animator extends Component {
|
|
12
|
+
export declare class Animator extends Component implements ICloneHook<Animator> {
|
|
12
13
|
private static _passedTriggerParameterNames;
|
|
13
14
|
private static _tempScripts;
|
|
14
15
|
/** Culling mode of this Animator. */
|
|
@@ -115,6 +116,10 @@ export declare class Animator extends Component {
|
|
|
115
116
|
*/
|
|
116
117
|
deactivateTriggerParameter(name: string): void;
|
|
117
118
|
private _resetIfControllerUpdated;
|
|
119
|
+
/**
|
|
120
|
+
* @inheritdoc
|
|
121
|
+
*/
|
|
122
|
+
_onClone(target: Animator): void;
|
|
118
123
|
protected _onDestroy(): void;
|
|
119
124
|
private _crossFade;
|
|
120
125
|
private _getAnimatorStateInfo;
|
|
@@ -110,6 +110,12 @@ export declare class ResourceManager {
|
|
|
110
110
|
private _parseURL;
|
|
111
111
|
private _parseQueryPath;
|
|
112
112
|
private _releaseSubAssetPromiseCallback;
|
|
113
|
+
/**
|
|
114
|
+
* Register virtual asset paths and their load descriptors.
|
|
115
|
+
* @remarks References inside runtime scenes and Prefabs can keep stable virtual paths while the backing URLs
|
|
116
|
+
* are generated dynamically, such as object URLs created from a resource package.
|
|
117
|
+
*/
|
|
118
|
+
registerVirtualResources(resources: readonly VirtualResource[]): void;
|
|
113
119
|
}
|
|
114
120
|
/**
|
|
115
121
|
* Declare ResourceLoader's decorator.
|
|
@@ -119,3 +125,13 @@ export declare class ResourceManager {
|
|
|
119
125
|
export declare function resourceLoader(assetType: string, extNames: string[], useCache?: boolean): <T extends Loader<any>>(Target: {
|
|
120
126
|
new (useCache: boolean): T;
|
|
121
127
|
}) => void;
|
|
128
|
+
export interface VirtualResource {
|
|
129
|
+
virtualPath: string;
|
|
130
|
+
path: string;
|
|
131
|
+
type: string;
|
|
132
|
+
dependentAssetMap?: {
|
|
133
|
+
[key: string]: string;
|
|
134
|
+
};
|
|
135
|
+
subpackageName?: string;
|
|
136
|
+
params?: Record<string, any>;
|
|
137
|
+
}
|
package/types/base/index.d.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property decorator — deep clone this field's whole subtree, overriding the value type's default
|
|
3
|
+
* clone mode (field-level decorators have the highest priority). The deep intent carries into
|
|
4
|
+
* field-cloneable members; engine-bound and platform objects keep their defaults. A decorator is
|
|
5
|
+
* an explicit intent: if the decorated value itself can't be deep cloned (an entity reference,
|
|
6
|
+
* asset, function, or object with opaque internal state), cloning throws rather than falling back.
|
|
7
|
+
* Field-cloned classes reproduce only their own enumerable string-keyed properties.
|
|
8
|
+
*/
|
|
9
|
+
export declare function deepClone(target: object, propertyKey: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Property decorator — assign (share the reference) this field, overriding the value type's default clone mode.
|
|
12
|
+
*/
|
|
13
|
+
export declare function assignmentClone(target: object, propertyKey: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Property decorator — ignore this field when cloning; keep the clone's own constructor-built value.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ignoreClone(target: object, propertyKey: string): void;
|
|
@@ -1,15 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Entity } from "../Entity";
|
|
3
|
-
/**
|
|
4
|
-
* Custom clone interface.
|
|
5
|
-
*/
|
|
6
|
-
export interface ICustomClone {
|
|
7
|
-
}
|
|
8
|
-
export declare class ComponentCloner {
|
|
9
|
-
/**
|
|
10
|
-
* Clone component.
|
|
11
|
-
* @param source - Clone source
|
|
12
|
-
* @param target - Clone target
|
|
13
|
-
*/
|
|
14
|
-
static cloneComponent(source: Component, target: Component, srcRoot: Entity, targetRoot: Entity, deepInstanceMap: Map<Object, Object>): void;
|
|
15
|
-
}
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extends automatic field cloning with type-specific behavior.
|
|
3
|
+
* @typeParam T - Clone target type
|
|
4
|
+
*/
|
|
5
|
+
export interface ICloneHook<T extends object = object> {
|
|
6
|
+
/**
|
|
7
|
+
* Called on the source after its fields have been cloned to the target.
|
|
8
|
+
* @param target - Populated clone target
|
|
9
|
+
* @param cloneMap - Source-to-clone identity map for the cloned graph
|
|
10
|
+
*/
|
|
11
|
+
_onClone(target: T, cloneMap: ReadonlyMap<object, object>): void;
|
|
12
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export type { RequestConfig } from "./asset/request";
|
|
|
23
23
|
export { Loader } from "./asset/Loader";
|
|
24
24
|
export { ContentRestorer } from "./asset/ContentRestorer";
|
|
25
25
|
export { RenderingStatistics } from "./asset/RenderingStatistics";
|
|
26
|
-
export { ResourceManager, resourceLoader } from "./asset/ResourceManager";
|
|
26
|
+
export { ResourceManager, resourceLoader, type VirtualResource } from "./asset/ResourceManager";
|
|
27
27
|
export { AssetPromise } from "./asset/AssetPromise";
|
|
28
28
|
export type { LoadItem } from "./asset/LoadItem";
|
|
29
29
|
export { AssetType } from "./asset/AssetType";
|
|
@@ -63,8 +63,8 @@ export * from "./trail/index";
|
|
|
63
63
|
export * from "./env-probe/index";
|
|
64
64
|
export * from "./shader/index";
|
|
65
65
|
export * from "./Layer";
|
|
66
|
-
export
|
|
67
|
-
export {
|
|
66
|
+
export { deepClone, assignmentClone, ignoreClone } from "./clone/CloneDecorators";
|
|
67
|
+
export type { ICloneHook } from "./clone/ICloneHook";
|
|
68
68
|
export * from "./renderingHardwareInterface/index";
|
|
69
69
|
export * from "./physics/index";
|
|
70
70
|
export * from "./Utils";
|
|
@@ -19,6 +19,10 @@ export declare class MeshRenderer extends Renderer {
|
|
|
19
19
|
*/
|
|
20
20
|
get enableVertexColor(): boolean;
|
|
21
21
|
set enableVertexColor(value: boolean);
|
|
22
|
+
/**
|
|
23
|
+
* @inheritdoc
|
|
24
|
+
*/
|
|
25
|
+
_onClone(target: MeshRenderer): void;
|
|
22
26
|
private _setMesh;
|
|
23
27
|
private _onMeshChanged;
|
|
24
28
|
}
|
package/types/mesh/Skin.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Matrix } from "@galacean/engine-math";
|
|
2
2
|
import { Entity } from "../Entity";
|
|
3
|
-
import {
|
|
3
|
+
import { DataObject } from "../base/DataObject";
|
|
4
4
|
/**
|
|
5
5
|
* Skin used for skinned mesh renderer.
|
|
6
6
|
*/
|
|
7
|
-
export declare class Skin extends
|
|
7
|
+
export declare class Skin extends DataObject {
|
|
8
8
|
name: string;
|
|
9
9
|
/** Inverse bind matrices. */
|
|
10
10
|
inverseBindMatrices: Matrix[];
|
|
@@ -32,6 +32,10 @@ export declare class SkinnedMeshRenderer extends MeshRenderer {
|
|
|
32
32
|
*/
|
|
33
33
|
get localBounds(): BoundingBox;
|
|
34
34
|
set localBounds(value: BoundingBox);
|
|
35
|
+
/**
|
|
36
|
+
* @inheritdoc
|
|
37
|
+
*/
|
|
38
|
+
_onClone(target: SkinnedMeshRenderer): void;
|
|
35
39
|
protected _update(context: RenderContext): void;
|
|
36
40
|
private _checkBlendShapeWeightLength;
|
|
37
41
|
private _onLocalBoundsChanged;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { DataObject } from "../base/DataObject";
|
|
2
|
+
import type { ICloneHook } from "../clone/ICloneHook";
|
|
1
3
|
import { ParticleStopMode } from "./enums/ParticleStopMode";
|
|
2
4
|
import { ColorOverLifetimeModule } from "./modules/ColorOverLifetimeModule";
|
|
3
5
|
import { CustomDataModule } from "./modules/CustomDataModule";
|
|
@@ -14,7 +16,7 @@ import { SubEmittersModule } from "./modules/SubEmittersModule";
|
|
|
14
16
|
/**
|
|
15
17
|
* Particle Generator.
|
|
16
18
|
*/
|
|
17
|
-
export declare class ParticleGenerator {
|
|
19
|
+
export declare class ParticleGenerator extends DataObject implements ICloneHook<ParticleGenerator> {
|
|
18
20
|
private static _tempVector20;
|
|
19
21
|
private static _tempVector21;
|
|
20
22
|
private static _tempVector22;
|
|
@@ -103,6 +105,10 @@ export declare class ParticleGenerator {
|
|
|
103
105
|
* @param count - Number of particles to emit
|
|
104
106
|
*/
|
|
105
107
|
emit(count: number): void;
|
|
108
|
+
/**
|
|
109
|
+
* @inheritdoc
|
|
110
|
+
*/
|
|
111
|
+
_onClone(target: ParticleGenerator): void;
|
|
106
112
|
private _addNewParticle;
|
|
107
113
|
private _onParticleBirth;
|
|
108
114
|
private _addFeedbackParticle;
|
|
@@ -44,4 +44,8 @@ export declare class ParticleRenderer extends Renderer {
|
|
|
44
44
|
protected _update(context: RenderContext): void;
|
|
45
45
|
protected _render(context: RenderContext): void;
|
|
46
46
|
protected _onDestroy(): void;
|
|
47
|
+
/**
|
|
48
|
+
* @inheritdoc
|
|
49
|
+
*/
|
|
50
|
+
_onClone(target: ParticleRenderer): void;
|
|
47
51
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
2
3
|
/**
|
|
3
4
|
* A burst is a particle emission event, where a number of particles are all emitted at the same time
|
|
4
5
|
*/
|
|
5
|
-
export declare class Burst {
|
|
6
|
+
export declare class Burst extends DataObject {
|
|
6
7
|
time: number;
|
|
7
8
|
count: ParticleCompositeCurve;
|
|
8
9
|
private _cycles;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { Rand } from "@galacean/engine-math";
|
|
2
|
-
import {
|
|
3
|
+
import type { ICloneHook } from "../../clone/ICloneHook";
|
|
3
4
|
import { ParticleScaleMode } from "../enums/ParticleScaleMode";
|
|
4
5
|
import { ParticleSimulationSpace } from "../enums/ParticleSimulationSpace";
|
|
5
6
|
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
6
7
|
import { ParticleCompositeGradient } from "./ParticleCompositeGradient";
|
|
7
|
-
export declare class MainModule implements
|
|
8
|
+
export declare class MainModule extends DataObject implements ICloneHook<MainModule> {
|
|
8
9
|
private _tempVector40;
|
|
9
10
|
private static _vector3One;
|
|
10
11
|
private static readonly _positionScale;
|
|
@@ -100,5 +101,9 @@ export declare class MainModule implements ICustomClone {
|
|
|
100
101
|
*/
|
|
101
102
|
get startSize(): ParticleCompositeCurve;
|
|
102
103
|
set startSize(value: ParticleCompositeCurve);
|
|
104
|
+
/**
|
|
105
|
+
* @inheritdoc
|
|
106
|
+
*/
|
|
107
|
+
_onClone(target: MainModule): void;
|
|
103
108
|
private _onCompositeCurveChange;
|
|
104
109
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { ParticleCurveMode } from "../enums/ParticleCurveMode";
|
|
2
3
|
import { ParticleCurve } from "./ParticleCurve";
|
|
3
4
|
/**
|
|
4
5
|
* Particle composite curve.
|
|
5
6
|
*/
|
|
6
|
-
export declare class ParticleCompositeCurve {
|
|
7
|
+
export declare class ParticleCompositeCurve extends DataObject {
|
|
7
8
|
private static _minMaxRange;
|
|
8
9
|
private _updateManager;
|
|
9
10
|
private _mode;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { Color } from "@galacean/engine-math";
|
|
2
3
|
import { ParticleGradientMode } from "../enums/ParticleGradientMode";
|
|
3
4
|
import { ParticleGradient } from "./ParticleGradient";
|
|
4
5
|
/**
|
|
5
6
|
* Particle composite gradient.
|
|
6
7
|
*/
|
|
7
|
-
export declare class ParticleCompositeGradient {
|
|
8
|
+
export declare class ParticleCompositeGradient extends DataObject {
|
|
8
9
|
private static _tempColor;
|
|
9
10
|
/** The gradient mode. */
|
|
10
11
|
mode: ParticleGradientMode;
|
|
@@ -24,6 +25,10 @@ export declare class ParticleCompositeGradient {
|
|
|
24
25
|
*/
|
|
25
26
|
get gradient(): ParticleGradient;
|
|
26
27
|
set gradient(value: ParticleGradient);
|
|
28
|
+
/**
|
|
29
|
+
* Create a particle gradient in constant mode with the default color.
|
|
30
|
+
*/
|
|
31
|
+
constructor();
|
|
27
32
|
/**
|
|
28
33
|
* Create a particle gradient that generates a constant color.
|
|
29
34
|
* @param constant - The constant color
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
/**
|
|
2
3
|
* Particle curve.
|
|
3
4
|
*/
|
|
4
|
-
export declare class ParticleCurve {
|
|
5
|
+
export declare class ParticleCurve extends DataObject {
|
|
5
6
|
private _updateManager;
|
|
6
7
|
private _keys;
|
|
7
8
|
private _typeArray;
|
|
@@ -42,7 +43,7 @@ export declare class ParticleCurve {
|
|
|
42
43
|
/**
|
|
43
44
|
* The key of the curve.
|
|
44
45
|
*/
|
|
45
|
-
export declare class CurveKey {
|
|
46
|
+
export declare class CurveKey extends DataObject {
|
|
46
47
|
private _updateManager;
|
|
47
48
|
private _time;
|
|
48
49
|
private _value;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { ShaderData, ShaderMacro } from "../../shader";
|
|
2
3
|
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
3
4
|
/**
|
|
4
5
|
* Particle generator module.
|
|
5
6
|
*/
|
|
6
|
-
export declare abstract class ParticleGeneratorModule {
|
|
7
|
+
export declare abstract class ParticleGeneratorModule extends DataObject {
|
|
7
8
|
protected _enabled: boolean;
|
|
8
9
|
/**
|
|
9
10
|
* Specifies whether the module is enabled or not.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { Color } from "@galacean/engine-math";
|
|
2
3
|
/**
|
|
3
4
|
* Particle gradient.
|
|
4
5
|
*/
|
|
5
|
-
export declare class ParticleGradient {
|
|
6
|
+
export declare class ParticleGradient extends DataObject {
|
|
6
7
|
private _colorKeys;
|
|
7
8
|
private _alphaKeys;
|
|
8
9
|
private _colorTypeArray;
|
|
@@ -69,7 +70,7 @@ export declare class ParticleGradient {
|
|
|
69
70
|
/**
|
|
70
71
|
* The color key of the particle gradient.
|
|
71
72
|
*/
|
|
72
|
-
export declare class GradientColorKey {
|
|
73
|
+
export declare class GradientColorKey extends DataObject {
|
|
73
74
|
private _time;
|
|
74
75
|
private _color;
|
|
75
76
|
/**
|
|
@@ -92,7 +93,7 @@ export declare class GradientColorKey {
|
|
|
92
93
|
/**
|
|
93
94
|
* The alpha key of the particle gradient.
|
|
94
95
|
*/
|
|
95
|
-
export declare class GradientAlphaKey {
|
|
96
|
+
export declare class GradientAlphaKey extends DataObject {
|
|
96
97
|
private _time;
|
|
97
98
|
private _alpha;
|
|
98
99
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
1
2
|
import { ParticleRenderer } from "../ParticleRenderer";
|
|
2
3
|
import { ParticleSubEmitterInheritProperty } from "../enums/ParticleSubEmitterInheritProperty";
|
|
3
4
|
import { ParticleSubEmitterType } from "../enums/ParticleSubEmitterType";
|
|
@@ -5,7 +6,7 @@ import { ParticleSubEmitterType } from "../enums/ParticleSubEmitterType";
|
|
|
5
6
|
* One slot in `SubEmittersModule.subEmitters`. Configures which sub-emitter
|
|
6
7
|
* fires, on which parent event, with what inheritance, probability, and count.
|
|
7
8
|
*/
|
|
8
|
-
export declare class SubEmitter {
|
|
9
|
+
export declare class SubEmitter extends DataObject {
|
|
9
10
|
/** Bitmask of properties inherited from the parent particle. */
|
|
10
11
|
inheritProperties: ParticleSubEmitterInheritProperty;
|
|
11
12
|
/** Probability (0..1) the sub-emitter fires for any given event. */
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Rand, Vector3 } from "@galacean/engine-math";
|
|
2
|
-
import { ParticleShapeType } from "./enums/ParticleShapeType";
|
|
3
2
|
import { UpdateFlagManager } from "../../../UpdateFlagManager";
|
|
3
|
+
import { DataObject } from "../../../base/DataObject";
|
|
4
|
+
import { ParticleShapeType } from "./enums/ParticleShapeType";
|
|
4
5
|
/**
|
|
5
6
|
* Base class for all particle shapes.
|
|
6
7
|
*/
|
|
7
|
-
export declare abstract class BaseShape {
|
|
8
|
+
export declare abstract class BaseShape extends DataObject {
|
|
8
9
|
private static _tempQuaternion;
|
|
9
10
|
/** The type of shape to emit particles from. */
|
|
10
11
|
abstract readonly shapeType: ParticleShapeType;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { ICloneHook } from "../../../clone/ICloneHook";
|
|
1
2
|
import { ModelMesh } from "../../../mesh";
|
|
2
3
|
import { BaseShape } from "./BaseShape";
|
|
3
4
|
import { ParticleShapeType } from "./enums/ParticleShapeType";
|
|
4
5
|
/**
|
|
5
6
|
* Particle shape that emits particles from a mesh.
|
|
6
7
|
*/
|
|
7
|
-
export declare class MeshShape extends BaseShape {
|
|
8
|
+
export declare class MeshShape extends BaseShape implements ICloneHook<MeshShape> {
|
|
8
9
|
readonly shapeType = ParticleShapeType.Mesh;
|
|
9
10
|
private _mesh;
|
|
10
11
|
private _positionBuffer;
|
|
@@ -18,4 +19,8 @@ export declare class MeshShape extends BaseShape {
|
|
|
18
19
|
set mesh(value: ModelMesh);
|
|
19
20
|
private _getAttributeBuffer;
|
|
20
21
|
private _onMeshChanged;
|
|
22
|
+
/**
|
|
23
|
+
* @inheritdoc
|
|
24
|
+
*/
|
|
25
|
+
_onClone(target: MeshShape): void;
|
|
21
26
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoolUpdateFlag } from "../BoolUpdateFlag";
|
|
2
|
-
import {
|
|
2
|
+
import type { ICloneHook } from "../clone/ICloneHook";
|
|
3
3
|
import { Component } from "../Component";
|
|
4
4
|
import { Layer } from "../Layer";
|
|
5
5
|
import { ColliderShape } from "./shape/ColliderShape";
|
|
@@ -7,7 +7,7 @@ import { ColliderShape } from "./shape/ColliderShape";
|
|
|
7
7
|
* Base class for all colliders.
|
|
8
8
|
* @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
|
|
9
9
|
*/
|
|
10
|
-
export declare class Collider extends Component implements
|
|
10
|
+
export declare class Collider extends Component implements ICloneHook<Collider> {
|
|
11
11
|
protected _updateFlag: BoolUpdateFlag;
|
|
12
12
|
protected _shapes: ColliderShape[];
|
|
13
13
|
protected _collisionLayerIndex: number;
|
|
@@ -36,6 +36,10 @@ export declare class Collider extends Component implements ICustomClone {
|
|
|
36
36
|
* Remove all shape attached.
|
|
37
37
|
*/
|
|
38
38
|
clearShapes(): void;
|
|
39
|
+
/**
|
|
40
|
+
* @inheritdoc
|
|
41
|
+
*/
|
|
42
|
+
_onClone(target: Collider): void;
|
|
39
43
|
protected _syncNative(): void;
|
|
40
44
|
protected _addNativeShape(shape: ColliderShape): void;
|
|
41
45
|
protected _removeNativeShape(shape: ColliderShape): void;
|
|
@@ -168,6 +168,10 @@ export declare class DynamicCollider extends Collider {
|
|
|
168
168
|
* @inheritdoc
|
|
169
169
|
*/
|
|
170
170
|
addShape(shape: ColliderShape): void;
|
|
171
|
+
/**
|
|
172
|
+
* @inheritdoc
|
|
173
|
+
*/
|
|
174
|
+
_onClone(target: DynamicCollider): void;
|
|
171
175
|
protected _syncNative(): void;
|
|
172
176
|
private _setMassAndUpdateInertia;
|
|
173
177
|
private _setLinearVelocity;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DataObject } from "../../base/DataObject";
|
|
2
2
|
/**
|
|
3
3
|
* JointLimits is used to limit the joints angle.
|
|
4
4
|
*/
|
|
5
|
-
export declare class JointLimits {
|
|
6
|
-
/** @internal */
|
|
7
|
-
_updateFlagManager: UpdateFlagManager;
|
|
5
|
+
export declare class JointLimits extends DataObject {
|
|
8
6
|
private _max;
|
|
9
7
|
private _min;
|
|
10
8
|
private _contactDistance;
|