@galacean/engine-core 1.4.0-alpha.2 → 1.4.0-beta.0

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 (47) hide show
  1. package/dist/main.js +7607 -7121
  2. package/dist/main.js.map +1 -1
  3. package/dist/module.js +7569 -7103
  4. package/dist/module.js.map +1 -1
  5. package/package.json +3 -3
  6. package/types/2d/assembler/ISpriteAssembler.d.ts +11 -1
  7. package/types/2d/assembler/ISpriteRenderer.d.ts +16 -0
  8. package/types/2d/assembler/SimpleSpriteAssembler.d.ts +13 -1
  9. package/types/2d/assembler/SlicedSpriteAssembler.d.ts +15 -1
  10. package/types/2d/assembler/TiledSpriteAssembler.d.ts +17 -1
  11. package/types/2d/enums/SpriteModifyFlags.d.ts +9 -0
  12. package/types/2d/index.d.ts +11 -4
  13. package/types/2d/sprite/Sprite.d.ts +2 -2
  14. package/types/2d/sprite/SpriteMask.d.ts +2 -1
  15. package/types/2d/sprite/SpriteRenderer.d.ts +2 -1
  16. package/types/2d/sprite/index.d.ts +1 -1
  17. package/types/2d/text/ITextRenderer.d.ts +8 -0
  18. package/types/2d/text/TextRenderer.d.ts +5 -1
  19. package/types/2d/text/index.d.ts +2 -0
  20. package/types/Camera.d.ts +2 -0
  21. package/types/ComponentsManager.d.ts +4 -0
  22. package/types/Entity.d.ts +2 -0
  23. package/types/RenderPipeline/index.d.ts +3 -2
  24. package/types/Renderer.d.ts +15 -1
  25. package/types/Scene.d.ts +1 -0
  26. package/types/Script.d.ts +42 -18
  27. package/types/enums/CameraModifyFlags.d.ts +17 -0
  28. package/types/enums/EntityModifyFlags.d.ts +9 -0
  29. package/types/index.d.ts +3 -1
  30. package/types/input/index.d.ts +5 -2
  31. package/types/input/pointer/Pointer.d.ts +8 -2
  32. package/types/input/pointer/PointerEventData.d.ts +12 -0
  33. package/types/input/pointer/PointerManager.d.ts +9 -1
  34. package/types/input/pointer/emitter/IHitResult.d.ts +1 -0
  35. package/types/input/pointer/emitter/PhysicsPointerEventEmitter.d.ts +1 -0
  36. package/types/input/pointer/emitter/PointerEventEmitter.d.ts +30 -0
  37. package/types/material/utils/PrefilteredDFG.d.ts +7 -0
  38. package/types/physics/HitResult.d.ts +1 -1
  39. package/types/postProcess/PostProcess.d.ts +4 -0
  40. package/types/postProcess/PostProcessEffectParameter.d.ts +103 -9
  41. package/types/postProcess/effects/BloomEffect.d.ts +9 -11
  42. package/types/postProcess/effects/TonemappingEffect.d.ts +2 -2
  43. package/types/postProcess/index.d.ts +1 -1
  44. package/types/shader/Shader.d.ts +1 -1
  45. package/types/shader/index.d.ts +1 -0
  46. package/types/ui/IUICanvas.d.ts +1 -0
  47. package/types/ui/UIUtils.d.ts +9 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "1.4.0-alpha.2",
3
+ "version": "1.4.0-beta.0",
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": "1.4.0-alpha.2"
21
+ "@galacean/engine-math": "1.4.0-beta.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@galacean/engine-design": "1.4.0-alpha.2"
24
+ "@galacean/engine-design": "1.4.0-beta.0"
25
25
  },
26
26
  "scripts": {
27
27
  "b:types": "tsc"
@@ -1 +1,11 @@
1
- export {};
1
+ import { Matrix, Vector2 } from "@galacean/engine-math";
2
+ import { ISpriteRenderer } from "./ISpriteRenderer";
3
+ /**
4
+ * Interface for sprite assembler.
5
+ */
6
+ export interface ISpriteAssembler {
7
+ resetData(renderer: ISpriteRenderer, vertexCount?: number): void;
8
+ updatePositions(renderer: ISpriteRenderer, worldMatrix: Matrix, width: number, height: number, pivot: Vector2, flipX: boolean, flipY: boolean, referenceResolutionPerUnit?: number): void;
9
+ updateUVs(renderer: ISpriteRenderer): void;
10
+ updateColor(renderer: ISpriteRenderer, alpha: number): void;
11
+ }
@@ -0,0 +1,16 @@
1
+ import { Color } from "@galacean/engine-math";
2
+ import { PrimitiveChunkManager } from "../../RenderPipeline/PrimitiveChunkManager";
3
+ import { SubPrimitiveChunk } from "../../RenderPipeline/SubPrimitiveChunk";
4
+ import { SpriteTileMode } from "../enums/SpriteTileMode";
5
+ import { Sprite } from "../sprite";
6
+ /**
7
+ * Interface for sprite renderer.
8
+ */
9
+ export interface ISpriteRenderer {
10
+ sprite: Sprite;
11
+ color?: Color;
12
+ tileMode?: SpriteTileMode;
13
+ tiledAdaptiveThreshold?: number;
14
+ _subChunk: SubPrimitiveChunk;
15
+ _getChunkManager(): PrimitiveChunkManager;
16
+ }
@@ -1 +1,13 @@
1
- export {};
1
+ import { Matrix, Vector2 } from "@galacean/engine-math";
2
+ import { ISpriteRenderer } from "./ISpriteRenderer";
3
+ /**
4
+ * Assemble vertex data for the sprite renderer in simple mode.
5
+ */
6
+ export declare class SimpleSpriteAssembler {
7
+ private static _rectangleTriangles;
8
+ private static _matrix;
9
+ static resetData(renderer: ISpriteRenderer): void;
10
+ static updatePositions(renderer: ISpriteRenderer, worldMatrix: Matrix, width: number, height: number, pivot: Vector2, flipX: boolean, flipY: boolean): void;
11
+ static updateUVs(renderer: ISpriteRenderer): void;
12
+ static updateColor(renderer: ISpriteRenderer, alpha: number): void;
13
+ }
@@ -1 +1,15 @@
1
- export {};
1
+ import { Matrix, Vector2 } from "@galacean/engine-math";
2
+ import { ISpriteRenderer } from "./ISpriteRenderer";
3
+ /**
4
+ * Assemble vertex data for the sprite renderer in sliced mode.
5
+ */
6
+ export declare class SlicedSpriteAssembler {
7
+ private static _rectangleTriangles;
8
+ private static _matrix;
9
+ private static _row;
10
+ private static _column;
11
+ static resetData(renderer: ISpriteRenderer): void;
12
+ static updatePositions(renderer: ISpriteRenderer, worldMatrix: Matrix, width: number, height: number, pivot: Vector2, flipX: boolean, flipY: boolean, referenceResolutionPerUnit?: number): void;
13
+ static updateUVs(renderer: ISpriteRenderer): void;
14
+ static updateColor(renderer: ISpriteRenderer, alpha: number): void;
15
+ }
@@ -1 +1,17 @@
1
- export {};
1
+ import { Matrix, Vector2 } from "@galacean/engine-math";
2
+ import { ISpriteRenderer } from "./ISpriteRenderer";
3
+ /**
4
+ * Assemble vertex data for the sprite renderer in tiled mode.
5
+ */
6
+ export declare class TiledSpriteAssembler {
7
+ private static _matrix;
8
+ private static _posRow;
9
+ private static _posColumn;
10
+ private static _uvRow;
11
+ private static _uvColumn;
12
+ static resetData(renderer: ISpriteRenderer, vertexCount: number): void;
13
+ static updatePositions(renderer: ISpriteRenderer, worldMatrix: Matrix, width: number, height: number, pivot: Vector2, flipX: boolean, flipY: boolean, referenceResolutionPerUnit?: number): void;
14
+ static updateUVs(renderer: ISpriteRenderer): void;
15
+ static updateColor(renderer: ISpriteRenderer, alpha: number): void;
16
+ private static _calculateDividing;
17
+ }
@@ -2,13 +2,22 @@
2
2
  * Sprite Property Dirty Flag.
3
3
  */
4
4
  export declare enum SpriteModifyFlags {
5
+ /** The texture of sprite changes. */
5
6
  texture = 1,
7
+ /** The size of sprite changes. */
6
8
  size = 2,
9
+ /** The rotation of sprite changes. */
7
10
  atlasRotate = 4,
11
+ /** The atlasRegion of sprite changes. */
8
12
  atlasRegion = 8,
13
+ /** The atlasRegionOffset of sprite changes. */
9
14
  atlasRegionOffset = 16,
15
+ /** The region of sprite changes. */
10
16
  region = 32,
17
+ /** The pivot of sprite changes. */
11
18
  pivot = 64,
19
+ /** The border of sprite changes. */
12
20
  border = 128,
21
+ /** The sprite destroyed. */
13
22
  destroy = 256
14
23
  }
@@ -1,9 +1,16 @@
1
- export { SpriteMaskInteraction } from "./enums/SpriteMaskInteraction";
2
- export { TextHorizontalAlignment, TextVerticalAlignment } from "./enums/TextAlignment";
3
- export { OverflowMode } from "./enums/TextOverflow";
4
- export { FontStyle } from "./enums/FontStyle";
1
+ export type { ISpriteAssembler } from "./assembler/ISpriteAssembler";
2
+ export type { ISpriteRenderer } from "./assembler/ISpriteRenderer";
3
+ export { SimpleSpriteAssembler } from "./assembler/SimpleSpriteAssembler";
4
+ export { SlicedSpriteAssembler } from "./assembler/SlicedSpriteAssembler";
5
+ export { TiledSpriteAssembler } from "./assembler/TiledSpriteAssembler";
5
6
  export { SpriteAtlas } from "./atlas/SpriteAtlas";
7
+ export { FontStyle } from "./enums/FontStyle";
6
8
  export { SpriteDrawMode } from "./enums/SpriteDrawMode";
9
+ export { SpriteMaskInteraction } from "./enums/SpriteMaskInteraction";
10
+ export { SpriteModifyFlags } from "./enums/SpriteModifyFlags";
7
11
  export { SpriteTileMode } from "./enums/SpriteTileMode";
12
+ export { TextHorizontalAlignment, TextVerticalAlignment } from "./enums/TextAlignment";
13
+ export { OverflowMode } from "./enums/TextOverflow";
8
14
  export * from "./sprite/index";
9
15
  export * from "./text/index";
16
+ export type { ITextRenderer } from "./text/ITextRenderer";
@@ -33,7 +33,7 @@ export declare class Sprite extends ReferResource {
33
33
  *
34
34
  * @remarks
35
35
  * If width is set, return the set value,
36
- * otherwise return the width calculated according to `Texture.width`, `Sprite.region`, `Sprite.atlasRegion`, `Sprite.atlasRegionOffset` and `Engine._pixelsPerUnit`.
36
+ * otherwise return the width calculated according to `Texture.width`, `Sprite.region`, `Sprite.atlasRegion` and `Sprite.atlasRegionOffset`.
37
37
  */
38
38
  get width(): number;
39
39
  set width(value: number);
@@ -42,7 +42,7 @@ export declare class Sprite extends ReferResource {
42
42
  *
43
43
  * @remarks
44
44
  * If height is set, return the set value,
45
- * otherwise return the height calculated according to `Texture.height`, `Sprite.region`, `Sprite.atlasRegion`, `Sprite.atlasRegionOffset` and `Engine._pixelsPerUnit`.
45
+ * otherwise return the height calculated according to `Texture.height`, `Sprite.region`, `Sprite.atlasRegion` and `Sprite.atlasRegionOffset`.
46
46
  */
47
47
  get height(): number;
48
48
  set height(value: number);
@@ -2,11 +2,12 @@ import { BoundingBox } from "@galacean/engine-math";
2
2
  import { RenderContext } from "../../RenderPipeline/RenderContext";
3
3
  import { Renderer } from "../../Renderer";
4
4
  import { SpriteMaskLayer } from "../../enums/SpriteMaskLayer";
5
+ import { ISpriteRenderer } from "../assembler/ISpriteRenderer";
5
6
  import { Sprite } from "./Sprite";
6
7
  /**
7
8
  * A component for masking Sprites.
8
9
  */
9
- export declare class SpriteMask extends Renderer {
10
+ export declare class SpriteMask extends Renderer implements ISpriteRenderer {
10
11
  /** The mask layers the sprite mask influence to. */
11
12
  influenceLayers: SpriteMaskLayer;
12
13
  private _sprite;
@@ -1,6 +1,7 @@
1
1
  import { BoundingBox, Color } from "@galacean/engine-math";
2
2
  import { RenderContext } from "../../RenderPipeline/RenderContext";
3
3
  import { Renderer } from "../../Renderer";
4
+ import { ISpriteRenderer } from "../assembler/ISpriteRenderer";
4
5
  import { SpriteDrawMode } from "../enums/SpriteDrawMode";
5
6
  import { SpriteMaskInteraction } from "../enums/SpriteMaskInteraction";
6
7
  import { SpriteTileMode } from "../enums/SpriteTileMode";
@@ -8,7 +9,7 @@ import { Sprite } from "./Sprite";
8
9
  /**
9
10
  * Renders a Sprite for 2D graphics.
10
11
  */
11
- export declare class SpriteRenderer extends Renderer {
12
+ export declare class SpriteRenderer extends Renderer implements ISpriteRenderer {
12
13
  private _drawMode;
13
14
  private _assembler;
14
15
  private _tileMode;
@@ -1,3 +1,3 @@
1
1
  export { Sprite } from "./Sprite";
2
- export { SpriteRenderer } from "./SpriteRenderer";
3
2
  export { SpriteMask } from "./SpriteMask";
3
+ export { SpriteRenderer } from "./SpriteRenderer";
@@ -0,0 +1,8 @@
1
+ import { OverflowMode } from "../enums/TextOverflow";
2
+ import { SubFont } from "./SubFont";
3
+ export interface ITextRenderer {
4
+ text: string;
5
+ overflowMode: OverflowMode;
6
+ lineSpacing: number;
7
+ _getSubFont(): SubFont;
8
+ }
@@ -2,20 +2,23 @@ import { BoundingBox, Color } from "@galacean/engine-math";
2
2
  import { Entity } from "../../Entity";
3
3
  import { RenderContext } from "../../RenderPipeline/RenderContext";
4
4
  import { Renderer } from "../../Renderer";
5
+ import { TransformModifyFlags } from "../../Transform";
5
6
  import { FontStyle } from "../enums/FontStyle";
6
7
  import { SpriteMaskInteraction } from "../enums/SpriteMaskInteraction";
7
8
  import { TextHorizontalAlignment, TextVerticalAlignment } from "../enums/TextAlignment";
8
9
  import { OverflowMode } from "../enums/TextOverflow";
9
10
  import { Font } from "./Font";
11
+ import { ITextRenderer } from "./ITextRenderer";
10
12
  /**
11
13
  * Renders a text for 2D graphics.
12
14
  */
13
- export declare class TextRenderer extends Renderer {
15
+ export declare class TextRenderer extends Renderer implements ITextRenderer {
14
16
  private static _textureProperty;
15
17
  private static _tempVec30;
16
18
  private static _tempVec31;
17
19
  private static _worldPositions;
18
20
  private static _charRenderInfos;
21
+ private _textChunks;
19
22
  private _color;
20
23
  private _text;
21
24
  private _width;
@@ -110,6 +113,7 @@ export declare class TextRenderer extends Renderer {
110
113
  private _updatePosition;
111
114
  private _updateColor;
112
115
  private _updateLocalData;
116
+ protected _onTransformChanged(bit: TransformModifyFlags): void;
113
117
  private _isTextNoVisible;
114
118
  private _buildChunk;
115
119
  private _freeTextChunks;
@@ -1,3 +1,5 @@
1
1
  export { Font } from "./Font";
2
2
  export { TextRenderer } from "./TextRenderer";
3
+ export { CharRenderInfo } from "./CharRenderInfo";
4
+ export { SubFont } from "./SubFont";
3
5
  export { TextUtils } from "./TextUtils";
package/types/Camera.d.ts CHANGED
@@ -71,6 +71,7 @@ export declare class Camera extends Component {
71
71
  private _opaqueTextureEnabled;
72
72
  private _enableHDR;
73
73
  private _enablePostProcess;
74
+ private _updateFlagManager;
74
75
  private _frustumChangeFlag;
75
76
  private _isViewMatrixDirty;
76
77
  private _isInvViewProjDirty;
@@ -302,4 +303,5 @@ export declare class Camera extends Component {
302
303
  private _getInverseProjectionMatrix;
303
304
  private _onPixelViewportChanged;
304
305
  private _checkMainCanvasAntialiasWaste;
306
+ private _dispatchModify;
305
307
  }
@@ -3,6 +3,7 @@ import { Component } from "./Component";
3
3
  import { Renderer } from "./Renderer";
4
4
  import { Script } from "./Script";
5
5
  import { Animator } from "./animation";
6
+ import { IUICanvas } from "./ui/IUICanvas";
6
7
  /**
7
8
  * The manager of the components.
8
9
  */
@@ -21,6 +22,9 @@ export declare class ComponentsManager {
21
22
  sortCameras(): void;
22
23
  addRenderer(renderer: Renderer): void;
23
24
  removeRenderer(renderer: Renderer): void;
25
+ addUICanvas(uiCanvas: IUICanvas, isOverlay: boolean): void;
26
+ removeUICanvas(uiCanvas: IUICanvas, isOverlay: boolean): void;
27
+ sortOverlayUICanvases(): void;
24
28
  addOnStartScript(script: Script): void;
25
29
  removeOnStartScript(script: Script): void;
26
30
  addOnUpdateScript(script: Script): void;
package/types/Entity.d.ts CHANGED
@@ -18,6 +18,7 @@ export declare class Entity extends EngineObject {
18
18
  private _templateResource;
19
19
  private _parent;
20
20
  private _activeChangedComponents;
21
+ private _modifyFlagManager;
21
22
  /**
22
23
  * The transform of this entity.
23
24
  */
@@ -149,6 +150,7 @@ export declare class Entity extends EngineObject {
149
150
  * Destroy self.
150
151
  */
151
152
  destroy(): void;
153
+ private _dispatchModify;
152
154
  private _addToChildrenList;
153
155
  private _setParent;
154
156
  private _getComponentsInChildren;
@@ -1,4 +1,5 @@
1
- export { BasicRenderPipeline } from "./BasicRenderPipeline";
1
+ export { BasicRenderPipeline, RenderQueueFlags } from "./BasicRenderPipeline";
2
+ export { BatchUtils } from "./BatchUtils";
2
3
  export { Blitter } from "./Blitter";
3
- export { PipelineStage } from "./enums/PipelineStage";
4
4
  export { RenderQueue } from "./RenderQueue";
5
+ export { PipelineStage } from "./enums/PipelineStage";
@@ -1,7 +1,10 @@
1
1
  import { BoundingBox, Matrix, Vector4 } from "@galacean/engine-math";
2
2
  import { Component } from "./Component";
3
+ import { Entity } from "./Entity";
3
4
  import { RenderContext } from "./RenderPipeline/RenderContext";
5
+ import { TransformModifyFlags } from "./Transform";
4
6
  import { IComponentCustomClone } from "./clone/ComponentCloner";
7
+ import { SpriteMaskLayer } from "./enums/SpriteMaskLayer";
5
8
  import { Material } from "./material";
6
9
  import { ShaderData } from "./shader/ShaderData";
7
10
  /**
@@ -19,10 +22,13 @@ export declare class Renderer extends Component implements IComponentCustomClone
19
22
  private static _normalMatrixProperty;
20
23
  private static _rendererLayerProperty;
21
24
  _renderFrameCount: number;
25
+ _maskLayer: SpriteMaskLayer;
22
26
  protected _overrideUpdate: boolean;
23
27
  protected _materials: Material[];
24
28
  protected _dirtyUpdateFlag: number;
25
29
  protected _rendererLayer: Vector4;
30
+ protected _bounds: BoundingBox;
31
+ protected _transformEntity: Entity;
26
32
  private _shaderData;
27
33
  private _mvMatrix;
28
34
  private _mvpMatrix;
@@ -52,7 +58,7 @@ export declare class Renderer extends Component implements IComponentCustomClone
52
58
  get materialCount(): number;
53
59
  set materialCount(value: number);
54
60
  /**
55
- * The bounding volume of the renderer.
61
+ * The world bounding volume of the renderer.
56
62
  */
57
63
  get bounds(): BoundingBox;
58
64
  /**
@@ -117,5 +123,13 @@ export declare class Renderer extends Component implements IComponentCustomClone
117
123
  protected _update(context: RenderContext): void;
118
124
  protected _updateWorldViewRelatedShaderData(context: RenderContext, worldMatrix: Matrix, batched: boolean): void;
119
125
  protected _updateProjectionRelatedShaderData(context: RenderContext, worldMatrix: Matrix, batched: boolean): void;
126
+ protected _updateBounds(worldBounds: BoundingBox): void;
127
+ protected _render(context: RenderContext): void;
128
+ private _createInstanceMaterial;
120
129
  private _setMaterial;
130
+ protected _onTransformChanged(type: TransformModifyFlags): void;
131
+ }
132
+ export declare enum RendererUpdateFlags {
133
+ /** Include world position and world bounds. */
134
+ WorldVolume = 1
121
135
  }
package/types/Scene.d.ts CHANGED
@@ -17,6 +17,7 @@ import { ShadowResolution } from "./shadow/enum/ShadowResolution";
17
17
  export declare class Scene extends EngineObject {
18
18
  private static _fogColorProperty;
19
19
  private static _fogParamsProperty;
20
+ private static _prefilterdDFGProperty;
20
21
  /** Scene name. */
21
22
  name: string;
22
23
  /** Physics. */
package/types/Script.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  import { Camera } from "./Camera";
2
2
  import { Component } from "./Component";
3
- import { Pointer } from "./input";
3
+ import { PointerEventData } from "./input/pointer/PointerEventData";
4
4
  import { ColliderShape } from "./physics";
5
5
  import { Collision } from "./physics/Collision";
6
6
  /**
7
7
  * Script class, used for logic writing.
8
8
  */
9
9
  export declare class Script extends Component {
10
- _entityScriptsIndex: number;
11
10
  /**
12
11
  * Called when be enabled first time, only once.
13
12
  */
@@ -80,35 +79,49 @@ export declare class Script extends Component {
80
79
  onCollisionStay(other: Collision): void;
81
80
  /**
82
81
  * Called when the pointer is down while over the ColliderShape.
83
- * @param pointer - The pointer that triggered
82
+ * @param eventData - The pointer event data that triggered this callback
84
83
  */
85
- onPointerDown(pointer: Pointer): void;
84
+ onPointerDown(eventData: PointerEventData): void;
86
85
  /**
87
86
  * Called when the pointer is up while over the ColliderShape.
88
- * @param pointer - The pointer that triggered
87
+ * @param eventData - The pointer event data that triggered this callback
89
88
  */
90
- onPointerUp(pointer: Pointer): void;
89
+ onPointerUp(eventData: PointerEventData): void;
91
90
  /**
92
91
  * Called when the pointer is down and up with the same collider.
93
- * @param pointer - The pointer that triggered
92
+ * @param eventData - The pointer event data that triggered this callback
94
93
  */
95
- onPointerClick(pointer: Pointer): void;
94
+ onPointerClick(eventData: PointerEventData): void;
96
95
  /**
97
- * Called when the pointer is enters the ColliderShape.
98
- * @param pointer - The pointer that triggered
96
+ * Called when the pointer enters the ColliderShape.
97
+ * @param eventData - The pointer event data that triggered this callback
99
98
  */
100
- onPointerEnter(pointer: Pointer): void;
99
+ onPointerEnter(eventData: PointerEventData): void;
101
100
  /**
102
- * Called when the pointer is no longer over the ColliderShape.
103
- * @param pointer - The pointer that triggered
101
+ * Called when the pointer exits the ColliderShape.
102
+ * @param eventData - The pointer event data that triggered this callback
104
103
  */
105
- onPointerExit(pointer: Pointer): void;
104
+ onPointerExit(eventData: PointerEventData): void;
106
105
  /**
107
- * Called when the pointer is down while over the ColliderShape and is still holding down.
108
- * @param pointer - The pointer that triggered
109
- * @remarks onPointerDrag is called every frame while the pointer is down.
106
+ * This function will be called when the pointer is pressed on the collider.
107
+ * @param eventData - The pointer event data that triggered this callback
110
108
  */
111
- onPointerDrag(pointer: Pointer): void;
109
+ onPointerBeginDrag(eventData: PointerEventData): void;
110
+ /**
111
+ * When a drag collision occurs on the pointer, this function will be called every time it moves.
112
+ * @param eventData - The pointer event data that triggered this callback
113
+ */
114
+ onPointerDrag(eventData: PointerEventData): void;
115
+ /**
116
+ * When dragging ends, this function will be called (Dragged object).
117
+ * @param eventData - The pointer event data that triggered this callback
118
+ */
119
+ onPointerEndDrag(eventData: PointerEventData): void;
120
+ /**
121
+ * When dragging ends, this function will be called (Receiving object).
122
+ * @param eventData - The pointer event data that triggered this callback
123
+ */
124
+ onPointerDrop(eventData: PointerEventData): void;
112
125
  /**
113
126
  * Called when be disabled.
114
127
  */
@@ -118,3 +131,14 @@ export declare class Script extends Component {
118
131
  */
119
132
  onDestroy(): void;
120
133
  }
134
+ export declare enum PointerMethods {
135
+ onPointerDown = "onPointerDown",
136
+ onPointerUp = "onPointerUp",
137
+ onPointerClick = "onPointerClick",
138
+ onPointerEnter = "onPointerEnter",
139
+ onPointerExit = "onPointerExit",
140
+ onPointerBeginDrag = "onPointerBeginDrag",
141
+ onPointerDrag = "onPointerDrag",
142
+ onPointerEndDrag = "onPointerEndDrag",
143
+ onPointerDrop = "onPointerDrop"
144
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The camera modify flags.
3
+ */
4
+ export declare enum CameraModifyFlags {
5
+ /** The types of camera projections changes. */
6
+ ProjectionType = 1,
7
+ /** The aspect ratio of the camera changes. */
8
+ AspectRatio = 2,
9
+ /** The field of view of the camera changes. */
10
+ FieldOfView = 4,
11
+ /** The orthographic size of the camera changes. */
12
+ OrthographicSize = 8,
13
+ /** The camera becomes active in the scene. */
14
+ EnableInScene = 16,
15
+ /** The camera becomes inactive in the scene. */
16
+ DisableInScene = 32
17
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The entity modify flags.
3
+ */
4
+ export declare enum EntityModifyFlags {
5
+ /** The parent changes. */
6
+ Parent = 1,
7
+ /** The child changes. */
8
+ Child = 2
9
+ }
package/types/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export { SceneManager } from "./SceneManager";
8
8
  export { Entity } from "./Entity";
9
9
  export { Component } from "./Component";
10
10
  export { Script } from "./Script";
11
- export { Renderer } from "./Renderer";
11
+ export { Renderer, RendererUpdateFlags } from "./Renderer";
12
12
  export { dependentComponents, DependentMode } from "./ComponentsDependencies";
13
13
  export { Camera } from "./Camera";
14
14
  export { Transform } from "./Transform";
@@ -32,6 +32,8 @@ export { DepthTextureMode } from "./enums/DepthTextureMode";
32
32
  export { FogMode } from "./enums/FogMode";
33
33
  export { CameraClearFlags } from "./enums/CameraClearFlags";
34
34
  export { CameraType } from "./enums/CameraType";
35
+ export { CameraModifyFlags } from "./enums/CameraModifyFlags";
36
+ export { EntityModifyFlags } from "./enums/EntityModifyFlags";
35
37
  export { MSAASamples } from "./enums/MSAASamples";
36
38
  export { ReplacementFailureStrategy } from "./enums/ReplacementFailureStrategy";
37
39
  export { Downsampling } from "./enums/Downsampling";
@@ -1,5 +1,8 @@
1
- export { PointerPhase } from "./enums/PointerPhase";
2
- export { Pointer } from "./pointer/Pointer";
3
1
  export { InputManager } from "./InputManager";
4
2
  export { Keys } from "./enums/Keys";
5
3
  export { PointerButton } from "./enums/PointerButton";
4
+ export { PointerPhase } from "./enums/PointerPhase";
5
+ export { Pointer } from "./pointer/Pointer";
6
+ export { PointerEventData } from "./pointer/PointerEventData";
7
+ export { registerPointerEventEmitter } from "./pointer/PointerManager";
8
+ export { PointerEventEmitter } from "./pointer/emitter/PointerEventEmitter";
@@ -20,6 +20,12 @@ export declare class Pointer {
20
20
  position: Vector2;
21
21
  /** The change of the pointer. */
22
22
  deltaPosition: Vector2;
23
- private _currentPressedEntity;
24
- private _currentEnteredEntity;
23
+ }
24
+ export declare enum PointerEventType {
25
+ None = 0,
26
+ Down = 1,
27
+ Up = 2,
28
+ Leave = 4,
29
+ Move = 8,
30
+ Cancel = 16
25
31
  }
@@ -0,0 +1,12 @@
1
+ import { Vector3 } from "@galacean/engine-math";
2
+ import { IPoolElement } from "../../utils/ObjectPool";
3
+ import { Pointer } from "./Pointer";
4
+ /**
5
+ * Pointer event data.
6
+ */
7
+ export declare class PointerEventData implements IPoolElement {
8
+ /** The pointer that triggers this event. */
9
+ pointer: Pointer;
10
+ /** The position of the event trigger (in world space). */
11
+ worldPosition: Vector3;
12
+ }
@@ -1 +1,9 @@
1
- export {};
1
+ import { ClearableObjectPool } from "../../utils/ClearableObjectPool";
2
+ import { PointerEventData } from "./PointerEventData";
3
+ import { PointerEventEmitter } from "./emitter/PointerEventEmitter";
4
+ /**
5
+ * Declare pointer event emitter decorator.
6
+ */
7
+ export declare function registerPointerEventEmitter(): <T extends PointerEventEmitter>(Target: {
8
+ new (pool: ClearableObjectPool<PointerEventData>): T;
9
+ }) => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { Ray } from "@galacean/engine-math";
2
+ import { Entity } from "../../../Entity";
3
+ import { Scene } from "../../../Scene";
4
+ import { ClearableObjectPool } from "../../../utils/ClearableObjectPool";
5
+ import { Pointer } from "../Pointer";
6
+ import { PointerEventData } from "../PointerEventData";
7
+ import { IHitResult } from "./IHitResult";
8
+ export declare abstract class PointerEventEmitter {
9
+ protected static _tempRay: Ray;
10
+ protected _hitResult: IHitResult;
11
+ protected _pool: ClearableObjectPool<PointerEventData>;
12
+ constructor(pool: ClearableObjectPool<PointerEventData>);
13
+ abstract processRaycast(scenes: readonly Scene[], pointer: Pointer): void;
14
+ abstract processDrag(pointer: Pointer): void;
15
+ abstract processDown(pointer: Pointer): void;
16
+ abstract processUp(pointer: Pointer): void;
17
+ abstract processLeave(pointer: Pointer): void;
18
+ abstract dispose(): void;
19
+ protected abstract _init(): void;
20
+ protected _createEventData(pointer: Pointer): PointerEventData;
21
+ protected _fireDown(entity: Entity, eventData: PointerEventData): void;
22
+ protected _fireUp(entity: Entity, eventData: PointerEventData): void;
23
+ protected _fireClick(entity: Entity, eventData: PointerEventData): void;
24
+ protected _fireEnter(entity: Entity, eventData: PointerEventData): void;
25
+ protected _fireExit(entity: Entity, eventData: PointerEventData): void;
26
+ protected _fireBeginDrag(entity: Entity, eventData: PointerEventData): void;
27
+ protected _fireDrag(entity: Entity, eventData: PointerEventData): void;
28
+ protected _fireEndDrag(entity: Entity, eventData: PointerEventData): void;
29
+ protected _fireDrop(entity: Entity, eventData: PointerEventData): void;
30
+ }
@@ -0,0 +1,7 @@
1
+ import { Engine } from "../../Engine";
2
+ import { Texture2D } from "../../texture/Texture2D";
3
+ export declare class PrefilteredDFG {
4
+ private static _size;
5
+ private static _base64;
6
+ static create(engine: Engine): Promise<Texture2D>;
7
+ }
@@ -1,5 +1,5 @@
1
- import { Entity } from "../Entity";
2
1
  import { Vector3 } from "@galacean/engine-math";
2
+ import { Entity } from "../Entity";
3
3
  import { ColliderShape } from "./shape";
4
4
  /**
5
5
  * Structure used to get information back from a raycast or a sweep.
@@ -57,4 +57,8 @@ export declare class PostProcess extends Component {
57
57
  * @inheritdoc
58
58
  */
59
59
  _onDisableInScene(): void;
60
+ /**
61
+ * @inheritdoc
62
+ */
63
+ _onDestroy(): void;
60
64
  }