@galacean/engine-core 1.1.0-alpha.1 → 1.1.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/main.js +334 -206
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +334 -206
  4. package/dist/module.js +334 -206
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/ComponentsManager.d.ts +0 -2
  8. package/types/DisorderedArray.d.ts +6 -1
  9. package/types/RenderPipeline/MeshRenderElement.d.ts +1 -3
  10. package/types/RenderPipeline/RenderElementX.d.ts +12 -0
  11. package/types/RenderPipeline/SpriteElement.d.ts +1 -3
  12. package/types/RenderPipeline/SpriteMaskElement.d.ts +1 -3
  13. package/types/RenderPipeline/TextRenderElement.d.ts +1 -3
  14. package/types/SafeLoopArray.d.ts +37 -0
  15. package/types/Script.d.ts +0 -1
  16. package/types/Ticker.d.ts +30 -0
  17. package/types/Transform.d.ts +1 -0
  18. package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
  19. package/types/asset/Loader.d.ts +1 -1
  20. package/types/asset/ResourceManager.d.ts +8 -0
  21. package/types/graphic/Primitive.d.ts +1 -0
  22. package/types/graphic/PrimitiveVertexBinding.d.ts +1 -0
  23. package/types/graphic/SubPrimitive.d.ts +9 -0
  24. package/types/index.d.ts +1 -1
  25. package/types/particle/ParticleBufferUtils.d.ts +1 -0
  26. package/types/particle/ParticleData.d.ts +1 -0
  27. package/types/particle/ParticleGenerator.d.ts +72 -0
  28. package/types/particle/ParticleMaterial.d.ts +28 -0
  29. package/types/particle/ParticleMesh.d.ts +289 -0
  30. package/types/particle/ParticleShaderDeclaration.d.ts +1 -0
  31. package/types/particle/ParticleShaderMacro.d.ts +1 -0
  32. package/types/particle/ParticleShaderProperty.d.ts +1 -0
  33. package/types/particle/ParticleSystem.d.ts +41 -0
  34. package/types/particle/ParticleVertexElements.d.ts +1 -0
  35. package/types/particle/ParticleVertexUtils.d.ts +1 -0
  36. package/types/particle/enum/ParticleAnimationRowMode.d.ts +9 -0
  37. package/types/particle/enum/ParticleAnimationType.d.ts +9 -0
  38. package/types/particle/enum/ParticleCurveMode.d.ts +13 -0
  39. package/types/particle/enum/ParticleGradientMode.d.ts +13 -0
  40. package/types/particle/enum/ParticleRenderMode.d.ts +17 -0
  41. package/types/particle/enum/ParticleScaleMode.d.ts +11 -0
  42. package/types/particle/enum/ParticleShapeMultiModeValue.d.ts +9 -0
  43. package/types/particle/enum/ParticleShapeType.d.ts +15 -0
  44. package/types/particle/enum/ParticleSimulationSpace.d.ts +9 -0
  45. package/types/particle/enum/index.d.ts +9 -0
  46. package/types/particle/enums/ParticleCurveMode.d.ts +9 -0
  47. package/types/particle/enums/ParticleGradientMode.d.ts +9 -0
  48. package/types/particle/enums/ParticleRandomSubSeeds.d.ts +1 -0
  49. package/types/particle/enums/ParticleRenderMode.d.ts +17 -0
  50. package/types/particle/enums/ParticleScaleMode.d.ts +11 -0
  51. package/types/particle/enums/ParticleSimulationSpace.d.ts +9 -0
  52. package/types/particle/enums/ParticleStopMode.d.ts +6 -0
  53. package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +1 -0
  54. package/types/particle/enums/attributes/MeshParticleVertexAttribute.d.ts +5 -0
  55. package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +1 -0
  56. package/types/particle/module/Burst.d.ts +38 -0
  57. package/types/particle/module/ColorGradient.d.ts +75 -0
  58. package/types/particle/module/ColorOverLifetimeModule.d.ts +20 -0
  59. package/types/particle/module/EmissionModule.d.ts +63 -0
  60. package/types/particle/module/FrameOverTime.d.ts +73 -0
  61. package/types/particle/module/ParticleCurve.d.ts +37 -0
  62. package/types/particle/module/RotationOverLifetimeModule.d.ts +21 -0
  63. package/types/particle/module/RotationVelocityGradient.d.ts +184 -0
  64. package/types/particle/module/SizeGradient.d.ts +151 -0
  65. package/types/particle/module/SizeOverLifetimeModule.d.ts +21 -0
  66. package/types/particle/module/StartFrame.d.ts +46 -0
  67. package/types/particle/module/TextureSheetAnimationModule.d.ts +37 -0
  68. package/types/particle/module/VelocityGradient.d.ts +110 -0
  69. package/types/particle/module/VelocityOverLifetimeModule.d.ts +22 -0
  70. package/types/particle/module/index.d.ts +15 -0
  71. package/types/particle/module/shape/BaseShape.d.ts +26 -0
  72. package/types/particle/module/shape/BoxShape.d.ts +20 -0
  73. package/types/particle/module/shape/CircleShape.d.ts +27 -0
  74. package/types/particle/module/shape/ConeShape.d.ts +35 -0
  75. package/types/particle/module/shape/HemisphereShape.d.ts +23 -0
  76. package/types/particle/module/shape/ShapeUtils.d.ts +1 -0
  77. package/types/particle/module/shape/SphereShape.d.ts +23 -0
  78. package/types/particle/module/shape/index.d.ts +5 -0
  79. package/types/particle/modules/Burst.d.ts +14 -0
  80. package/types/particle/modules/ColorOverLifetimeModule.d.ts +20 -0
  81. package/types/particle/modules/EmissionModule.d.ts +45 -0
  82. package/types/particle/modules/MainModule.d.ts +68 -0
  83. package/types/particle/modules/ParticleCompositeCurve.d.ts +56 -0
  84. package/types/particle/modules/ParticleCompositeGradient.d.ts +55 -0
  85. package/types/particle/modules/ParticleCurve.d.ts +56 -0
  86. package/types/particle/modules/ParticleGeneratorModule.d.ts +12 -0
  87. package/types/particle/modules/ParticleGradient.d.ts +94 -0
  88. package/types/particle/modules/RotationOverLifetimeModule.d.ts +34 -0
  89. package/types/particle/modules/ShapeModule.d.ts +9 -0
  90. package/types/particle/modules/SizeOverLifetimeModule.d.ts +34 -0
  91. package/types/particle/modules/TextureSheetAnimationModule.d.ts +42 -0
  92. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +34 -0
  93. package/types/particle/modules/shape/BaseShape.d.ts +12 -0
  94. package/types/particle/modules/shape/BoxShape.d.ts +11 -0
  95. package/types/particle/modules/shape/CircleShape.d.ts +17 -0
  96. package/types/particle/modules/shape/ConeShape.d.ts +28 -0
  97. package/types/particle/modules/shape/HemisphereShape.d.ts +9 -0
  98. package/types/particle/modules/shape/ShapeUtils.d.ts +1 -0
  99. package/types/particle/modules/shape/SphereShape.d.ts +9 -0
  100. package/types/particle/modules/shape/enums/ParticleShapeArcMode.d.ts +9 -0
  101. package/types/particle/modules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  102. package/types/particle/modules/shape/enums/ParticleShapeType.d.ts +15 -0
  103. package/types/particle/modules/shape/index.d.ts +6 -0
  104. package/types/particle/moudules/Burst.d.ts +25 -0
  105. package/types/particle/moudules/Emission.d.ts +47 -0
  106. package/types/particle/moudules/EmissionModule.d.ts +49 -0
  107. package/types/particle/moudules/MainModule.d.ts +59 -0
  108. package/types/particle/moudules/ParticleCurve.d.ts +27 -0
  109. package/types/particle/moudules/ParticleGradient.d.ts +28 -0
  110. package/types/particle/moudules/ShapeModule.d.ts +7 -0
  111. package/types/particle/moudules/shape/BaseShape.d.ts +28 -0
  112. package/types/particle/moudules/shape/BoxShape.d.ts +20 -0
  113. package/types/particle/moudules/shape/CircleShape.d.ts +27 -0
  114. package/types/particle/moudules/shape/ConeShape.d.ts +35 -0
  115. package/types/particle/moudules/shape/HemisphereShape.d.ts +23 -0
  116. package/types/particle/moudules/shape/ShapeUtils.d.ts +1 -0
  117. package/types/particle/moudules/shape/SphereShape.d.ts +23 -0
  118. package/types/particle/moudules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  119. package/types/particle/moudules/shape/enums/ParticleShapeType.d.ts +15 -0
  120. package/types/particle/moudules/shape/index.d.ts +5 -0
  121. package/types/physics/PhysicsScene.d.ts +6 -2
  122. package/types/shaderlib/particle/index.d.ts +14 -0
  123. package/types/shadow/PipelinePass.d.ts +16 -0
  124. package/types/utils/BoolUpdateFlag.d.ts +12 -0
  125. package/types/utils/DisorderedArray.d.ts +18 -0
  126. package/types/utils/UpdateFlag.d.ts +20 -0
  127. package/types/utils/UpdateFlagManager.d.ts +1 -0
  128. package/types/utils/Utils.d.ts +31 -0
  129. package/types/xr/XRManager.d.ts +31 -0
  130. package/types/xr/component/XRPoseDriver.d.ts +10 -0
  131. package/types/xr/data/XRCamera.d.ts +6 -0
  132. package/types/xr/data/XRDevice.d.ts +9 -0
  133. package/types/xr/data/XRHandle.d.ts +10 -0
  134. package/types/xr/enum/EnumXRButton.d.ts +5 -0
  135. package/types/xr/enum/EnumXRDevicePhase.d.ts +4 -0
  136. package/types/xr/enum/EnumXRFeature.d.ts +9 -0
  137. package/types/xr/enum/EnumXRInputSource.d.ts +8 -0
  138. package/types/xr/enum/EnumXRMode.d.ts +7 -0
  139. package/types/xr/enum/EnumXRSubsystem.d.ts +4 -0
  140. package/types/xr/enum/EnumXRTrackingMode.d.ts +7 -0
  141. package/types/xr/feature/XRCameraManager.d.ts +21 -0
  142. package/types/xr/feature/XRFeature.d.ts +29 -0
  143. package/types/xr/feature/XRImageTrackManager.d.ts +10 -0
  144. package/types/xr/feature/XRInputManager.d.ts +16 -0
  145. package/types/xr/index.d.ts +18 -0
  146. package/types/xr/provider/XRProvider.d.ts +19 -0
  147. package/types/xr/subsystem/XRInputSubsystem.d.ts +5 -0
  148. package/types/xr/subsystem/XRSubsystem.d.ts +30 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "1.1.0-alpha.1",
3
+ "version": "1.1.0-alpha.3",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -15,10 +15,10 @@
15
15
  "types/**/*"
16
16
  ],
17
17
  "dependencies": {
18
- "@galacean/engine-math": "1.1.0-alpha.1"
18
+ "@galacean/engine-math": "1.1.0-alpha.3"
19
19
  },
20
20
  "devDependencies": {
21
- "@galacean/engine-design": "1.1.0-alpha.1"
21
+ "@galacean/engine-design": "1.1.0-alpha.3"
22
22
  },
23
23
  "scripts": {
24
24
  "b:types": "tsc"
@@ -10,7 +10,6 @@ export declare class ComponentsManager {
10
10
  private _onUpdateScripts;
11
11
  private _onLateUpdateScripts;
12
12
  private _onPhysicsUpdateScripts;
13
- private _disableScripts;
14
13
  private _pendingDestroyScripts;
15
14
  private _disposeDestroyScripts;
16
15
  private _onUpdateAnimations;
@@ -30,7 +29,6 @@ export declare class ComponentsManager {
30
29
  removeOnUpdateAnimations(animation: Component): void;
31
30
  addOnUpdateRenderers(renderer: Renderer): void;
32
31
  removeOnUpdateRenderers(renderer: Renderer): void;
33
- addDisableScript(component: Script): void;
34
32
  addPendingDestroyScript(component: Script): void;
35
33
  callScriptOnStart(): void;
36
34
  callScriptOnUpdate(deltaTime: number): void;
@@ -2,18 +2,23 @@
2
2
  * High-performance unordered array, delete uses exchange method to improve performance, internal capacity only increases.
3
3
  */
4
4
  export declare class DisorderedArray<T> {
5
- _elements: T[];
6
5
  length: number;
6
+ _elements: T[];
7
+ private _isLooping;
8
+ private _blankCount;
7
9
  constructor(count?: number);
8
10
  add(element: T): void;
9
11
  delete(element: T): void;
10
12
  set(index: number, element: T): void;
11
13
  get(index: number): T;
14
+ startLoop(): void;
12
15
  /**
13
16
  * Delete the element at the specified index.
14
17
  * @param index - The index of the element to be deleted
15
18
  * @returns The replaced item is used to reset its index
16
19
  */
17
20
  deleteByIndex(index: number): T;
21
+ endLoop(): void;
22
+ endLoopAndClear(): void;
18
23
  garbageCollection(): void;
19
24
  }
@@ -4,16 +4,14 @@ import { Material } from "../material/Material";
4
4
  import { Renderer } from "../Renderer";
5
5
  import { ShaderPass } from "../shader/ShaderPass";
6
6
  import { RenderState } from "../shader/state/RenderState";
7
- import { IPoolElement } from "./IPoolElement";
8
7
  import { RenderElement } from "./RenderElement";
9
8
  /**
10
9
  * Render element.
11
10
  */
12
- export declare class MeshRenderElement extends RenderElement implements IPoolElement {
11
+ export declare class MeshRenderElement extends RenderElement {
13
12
  /** Mesh. */
14
13
  mesh: Mesh;
15
14
  /** Sub mesh. */
16
15
  subMesh: SubMesh;
17
16
  setValue(component: Renderer, mesh: Mesh, subMesh: SubMesh, material: Material, renderState: RenderState, shaderPass: ShaderPass): void;
18
- dispose(): void;
19
17
  }
@@ -0,0 +1,12 @@
1
+ import { Renderer } from "../Renderer";
2
+ import { Primitive } from "../graphic/Primitive";
3
+ import { Material } from "../material/Material";
4
+ import { ShaderPass } from "../shader/ShaderPass";
5
+ import { IPoolElement } from "./IPoolElement";
6
+ export declare class RenderElementX implements IPoolElement {
7
+ shaderPasses: ReadonlyArray<ShaderPass>;
8
+ component: Renderer;
9
+ material: Material;
10
+ primitive: Primitive;
11
+ dispose(): void;
12
+ }
@@ -4,12 +4,10 @@ import { Renderer } from "../Renderer";
4
4
  import { ShaderPass } from "../shader";
5
5
  import { RenderState } from "../shader/state/RenderState";
6
6
  import { Texture2D } from "../texture";
7
- import { IPoolElement } from "./IPoolElement";
8
7
  import { RenderElement } from "./RenderElement";
9
- export declare class SpriteElement extends RenderElement implements IPoolElement {
8
+ export declare class SpriteElement extends RenderElement {
10
9
  renderData: RenderData2D;
11
10
  texture: Texture2D;
12
11
  constructor();
13
12
  setValue(component: Renderer, renderDate: RenderData2D, material: Material, texture: Texture2D, renderState: RenderState, shaderPass: ShaderPass): void;
14
- dispose(): void;
15
13
  }
@@ -1,12 +1,10 @@
1
1
  import { RenderData2D } from "../2d/data/RenderData2D";
2
2
  import { Material } from "../material/Material";
3
3
  import { Renderer } from "../Renderer";
4
- import { IPoolElement } from "./IPoolElement";
5
4
  import { RenderElement } from "./RenderElement";
6
- export declare class SpriteMaskElement extends RenderElement implements IPoolElement {
5
+ export declare class SpriteMaskElement extends RenderElement {
7
6
  renderData: RenderData2D;
8
7
  isAdd: boolean;
9
8
  constructor();
10
9
  setValue(component: Renderer, renderData: RenderData2D, material: Material): void;
11
- dispose(): void;
12
10
  }
@@ -1,8 +1,6 @@
1
- import { IPoolElement } from "./IPoolElement";
2
1
  import { RenderElement } from "./RenderElement";
3
2
  import { SpriteElement } from "./SpriteElement";
4
- export declare class TextRenderElement extends RenderElement implements IPoolElement {
3
+ export declare class TextRenderElement extends RenderElement {
5
4
  charElements: SpriteElement[];
6
5
  constructor();
7
- dispose(): void;
8
6
  }
@@ -0,0 +1,37 @@
1
+ export declare class SafeLoopArray<T> {
2
+ private _array;
3
+ private _loopArray;
4
+ private _loopArrayDirty;
5
+ /**
6
+ * Get the length of the array.
7
+ */
8
+ get length(): number;
9
+ /**
10
+ * Push item to the array.
11
+ * @param item - The item which want to be pushed
12
+ */
13
+ push(item: T): void;
14
+ /**
15
+ * Splice the array.
16
+ * @param index - The index of the array
17
+ * @param deleteCount - The count of the array which want to be deleted
18
+ * @param item - The item which want to be added
19
+ */
20
+ splice(index: number, deleteCount: number, item?: T): void;
21
+ /**
22
+ * The index of the item.
23
+ * @param item - The item which want to get the index
24
+ * @returns Index of the item
25
+ */
26
+ indexOf(item: T): number;
27
+ /**
28
+ * Get the array.
29
+ * @returns The array
30
+ */
31
+ getArray(): ReadonlyArray<T>;
32
+ /**
33
+ * Get the array use for loop.
34
+ * @returns The array use for loop
35
+ */
36
+ getLoopArray(): ReadonlyArray<T>;
37
+ }
package/types/Script.d.ts CHANGED
@@ -8,7 +8,6 @@ import { Collision } from "./physics/Collision";
8
8
  */
9
9
  export declare class Script extends Component {
10
10
  _entityScriptsIndex: number;
11
- _waitHandlingInValid: boolean;
12
11
  /**
13
12
  * Called when be enabled first time, only once.
14
13
  */
@@ -0,0 +1,30 @@
1
+ export declare class Ticker {
2
+ private _vSyncCount;
3
+ private _vSyncCounter;
4
+ private _requestId;
5
+ private _animationLoop;
6
+ private _requestAnimationFrame;
7
+ private _cancelAnimationFrame;
8
+ /**
9
+ * The number of vertical synchronization means the number of vertical blanking for one frame.
10
+ * @remarks 0 means that the vertical synchronization is turned off.
11
+ */
12
+ get vSyncCount(): number;
13
+ set vSyncCount(value: number);
14
+ get requestAnimationFrame(): (...params: any[]) => any;
15
+ set requestAnimationFrame(func: (...params: any[]) => any);
16
+ get cancelAnimationFrame(): (...params: any[]) => any;
17
+ set cancelAnimationFrame(func: (...params: any[]) => any);
18
+ get animationLoop(): (...params: any[]) => any;
19
+ set animationLoop(func: (...params: any[]) => any);
20
+ /**
21
+ * Pause the engine.
22
+ */
23
+ pause(): void;
24
+ /**
25
+ * Resume the engine.
26
+ */
27
+ resume(): void;
28
+ private _onAnimationFrame;
29
+ constructor();
30
+ }
@@ -195,6 +195,7 @@ export declare class Transform extends Component {
195
195
  * @returns Change flag
196
196
  */
197
197
  registerWorldChangeFlag(): BoolUpdateFlag;
198
+ protected _onDestroy(): void;
198
199
  /**
199
200
  * Get worldMatrix: Will trigger the worldMatrix update of itself and all parent entities.
200
201
  * Get worldPosition: Will trigger the worldMatrix, local position update of itself and the worldMatrix update of all parent entities.
@@ -27,6 +27,6 @@ export declare abstract class Loader<T> {
27
27
  private static _engineObjects;
28
28
  constructor(useCache: boolean);
29
29
  initialize?(engine: Engine, configuration: EngineConfiguration): Promise<void>;
30
- abstract load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<T> | Record<string, AssetPromise<any>>;
30
+ abstract load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<T>;
31
31
  request: <U>(url: string, config: RequestConfig) => AssetPromise<U>;
32
32
  }
@@ -26,6 +26,7 @@ export declare class ResourceManager {
26
26
  private _graphicResourcePool;
27
27
  /** Restorable resource information pool, key is the `instanceID` of resource. */
28
28
  private _contentRestorerPool;
29
+ private _subAssetPromiseCallbacks;
29
30
  /**
30
31
  * Create a ResourceManager.
31
32
  * @param engine - Engine to which the current ResourceManager belongs
@@ -61,6 +62,12 @@ export declare class ResourceManager {
61
62
  * @returns Resource object
62
63
  */
63
64
  getFromCache<T>(url: string): T;
65
+ /**
66
+ * Find the resource by type.
67
+ * @param type - Resource type
68
+ * @returns - Resource collection
69
+ */
70
+ findResourcesByType<T extends EngineObject>(type: new (...args: any[]) => T): T[];
64
71
  /**
65
72
  * Get asset url from instanceId.
66
73
  * @param instanceId - Engine instance id
@@ -93,6 +100,7 @@ export declare class ResourceManager {
93
100
  addContentRestorer<T extends EngineObject>(restorer: ContentRestorer<T>): void;
94
101
  private _assignDefaultOptions;
95
102
  private _loadSingleItem;
103
+ private _pushSubAssetPromiseCallback;
96
104
  private _gc;
97
105
  private _getResolveResource;
98
106
  private _parseURL;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { MeshTopology } from "./enums/MeshTopology";
2
+ export declare class SubPrimitive {
3
+ /** Start drawing offset. */
4
+ start: number;
5
+ /** Drawing count. */
6
+ count: number;
7
+ /** Drawing topology. */
8
+ topology: MeshTopology;
9
+ }
package/types/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export { AssetPromise } from "./asset/AssetPromise";
22
22
  export type { LoadItem } from "./asset/LoadItem";
23
23
  export { AssetType } from "./asset/AssetType";
24
24
  export { ReferResource } from "./asset/ReferResource";
25
- export * from "./RenderPipeline/Index";
25
+ export * from "./RenderPipeline/index";
26
26
  export * from "./base";
27
27
  export { Background } from "./Background";
28
28
  export { BackgroundMode } from "./enums/BackgroundMode";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,72 @@
1
+ import { ParticleRenderer } from "./ParticleRenderer";
2
+ import { ParticleStopMode } from "./enums/ParticleStopMode";
3
+ import { ColorOverLifetimeModule } from "./modules/ColorOverLifetimeModule";
4
+ import { EmissionModule } from "./modules/EmissionModule";
5
+ import { MainModule } from "./modules/MainModule";
6
+ import { RotationOverLifetimeModule } from "./modules/RotationOverLifetimeModule";
7
+ import { SizeOverLifetimeModule } from "./modules/SizeOverLifetimeModule";
8
+ import { TextureSheetAnimationModule } from "./modules/TextureSheetAnimationModule";
9
+ import { VelocityOverLifetimeModule } from "./modules/VelocityOverLifetimeModule";
10
+ /**
11
+ * Particle Generator.
12
+ */
13
+ export declare class ParticleGenerator {
14
+ private static readonly _particleIncreaseCount;
15
+ /** Use auto random seed. */
16
+ useAutoRandomSeed: boolean;
17
+ /** Main module. */
18
+ readonly main: MainModule;
19
+ /** Emission module. */
20
+ readonly emission: EmissionModule;
21
+ /** Velocity over lifetime module. */
22
+ readonly velocityOverLifetime: VelocityOverLifetimeModule;
23
+ /** Size over lifetime module. */
24
+ readonly sizeOverLifetime: SizeOverLifetimeModule;
25
+ /** Rotation over lifetime module. */
26
+ readonly rotationOverLifetime: RotationOverLifetimeModule;
27
+ /** Color over lifetime module. */
28
+ readonly colorOverLifetime: ColorOverLifetimeModule;
29
+ /** Texture sheet animation module. */
30
+ readonly textureSheetAnimation: TextureSheetAnimationModule;
31
+ private _isPlaying;
32
+ private _instanceBufferResized;
33
+ private _waitProcessRetiredElementCount;
34
+ private _instanceVertexBufferBinding;
35
+ private _instanceVertices;
36
+ private _randomSeed;
37
+ /**
38
+ * Whether the particle generator is contain alive or is still creating particles.
39
+ */
40
+ get isAlive(): boolean;
41
+ /**
42
+ * Random seed.
43
+ *
44
+ * @remarks
45
+ * If `useAutoRandomSeed` is true, this value will be random changed when play.
46
+ * If you set this value custom, `useAutoRandomSeed` will be false.
47
+ */
48
+ get randomSeed(): number;
49
+ set randomSeed(value: number);
50
+ constructor(renderer: ParticleRenderer);
51
+ /**
52
+ * Start emitting particles.
53
+ * @param withChildren - Whether to start the particle generator of the child entity
54
+ */
55
+ play(withChildren?: boolean): void;
56
+ /**
57
+ * Stop emitting particles.
58
+ * @param withChildren - Whether to stop the particle generator of the child entity
59
+ * @param stopMode - Stop mode
60
+ */
61
+ stop(withChildren?: boolean, stopMode?: ParticleStopMode): void;
62
+ /**
63
+ * Manually emit certain number of particles immediately.
64
+ * @param count - Number of particles to emit
65
+ */
66
+ emit(count: number): void;
67
+ private _addNewParticle;
68
+ private _retireActiveParticles;
69
+ private _freeRetiredParticles;
70
+ private _addActiveParticlesToVertexBuffer;
71
+ private _addVertexBufferBindingsFilterDuplicate;
72
+ }
@@ -0,0 +1,28 @@
1
+ import { Color } from "@galacean/engine-math";
2
+ import { Engine } from "../Engine";
3
+ import { BaseMaterial } from "../material/BaseMaterial";
4
+ import { Texture2D } from "../texture/Texture2D";
5
+ /**
6
+ * Particle Material.
7
+ */
8
+ export declare class ParticleMaterial extends BaseMaterial {
9
+ /**
10
+ * Base color.
11
+ */
12
+ get baseColor(): Color;
13
+ set baseColor(value: Color);
14
+ /**
15
+ * Base texture.
16
+ */
17
+ get baseTexture(): Texture2D;
18
+ set baseTexture(value: Texture2D);
19
+ /**
20
+ * Create a unlit material instance.
21
+ * @param engine - Engine to which the material belongs
22
+ */
23
+ constructor(engine: Engine);
24
+ /**
25
+ * @inheritdoc
26
+ */
27
+ clone(): ParticleMaterial;
28
+ }