@galacean/engine-core 1.0.0 → 1.1.0-alpha.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 (118) hide show
  1. package/dist/main.js +14441 -12563
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +14441 -12563
  4. package/dist/module.js +14426 -12558
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/2d/assembler/TiledSpriteAssembler.d.ts +1 -0
  8. package/types/2d/atlas/SpriteAtlas.d.ts +2 -6
  9. package/types/2d/data/VertexData2D.d.ts +1 -0
  10. package/types/2d/enums/SpriteDrawMode.d.ts +4 -2
  11. package/types/2d/enums/SpriteTileMode.d.ts +11 -0
  12. package/types/2d/index.d.ts +1 -0
  13. package/types/2d/sprite/Sprite.d.ts +14 -8
  14. package/types/2d/sprite/SpriteMask.d.ts +16 -22
  15. package/types/2d/sprite/SpriteRenderer.d.ts +31 -17
  16. package/types/2d/text/Font.d.ts +2 -7
  17. package/types/2d/text/TextRenderer.d.ts +1 -13
  18. package/types/2d/text/index.d.ts +1 -0
  19. package/types/Camera.d.ts +35 -12
  20. package/types/Component.d.ts +1 -8
  21. package/types/ComponentsDependencies.d.ts +17 -9
  22. package/types/Engine.d.ts +39 -46
  23. package/types/Entity.d.ts +1 -1
  24. package/types/RenderPipeline/Basic2DBatcher.d.ts +6 -7
  25. package/types/RenderPipeline/BasicRenderPipeline.d.ts +8 -6
  26. package/types/RenderPipeline/MeshRenderData.d.ts +15 -0
  27. package/types/RenderPipeline/RenderData.d.ts +7 -0
  28. package/types/RenderPipeline/RenderElement.d.ts +5 -7
  29. package/types/RenderPipeline/RenderPass.d.ts +1 -1
  30. package/types/RenderPipeline/RenderQueue.d.ts +3 -5
  31. package/types/RenderPipeline/SpriteMaskBatcher.d.ts +4 -3
  32. package/types/RenderPipeline/SpriteMaskRenderData.d.ts +10 -0
  33. package/types/RenderPipeline/SpriteRenderData.d.ts +12 -0
  34. package/types/RenderPipeline/TextRenderData.d.ts +6 -0
  35. package/types/RenderPipeline/enums/PipelineStage.d.ts +9 -0
  36. package/types/RenderPipeline/index.d.ts +4 -0
  37. package/types/Renderer.d.ts +5 -13
  38. package/types/SafeLoopArray.d.ts +37 -0
  39. package/types/Scene.d.ts +6 -5
  40. package/types/SceneManager.d.ts +28 -5
  41. package/types/Script.d.ts +18 -15
  42. package/types/Transform.d.ts +9 -12
  43. package/types/Utils.d.ts +28 -0
  44. package/types/animation/AnimationClip.d.ts +2 -1
  45. package/types/animation/Animator.d.ts +2 -3
  46. package/types/animation/animationCurve/AnimationFloatArrayCurve.d.ts +0 -1
  47. package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
  48. package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
  49. package/types/asset/AssetType.d.ts +16 -16
  50. package/types/asset/ContentRestorer.d.ts +17 -0
  51. package/types/asset/GraphicsResource.d.ts +5 -0
  52. package/types/asset/IReferable.d.ts +2 -0
  53. package/types/asset/ReferResource.d.ts +22 -0
  54. package/types/asset/ResourceManager.d.ts +17 -9
  55. package/types/base/Constant.d.ts +2 -1
  56. package/types/base/EngineObject.d.ts +1 -0
  57. package/types/base/EventDispatcher.d.ts +1 -14
  58. package/types/base/Time.d.ts +27 -24
  59. package/types/base/index.d.ts +0 -2
  60. package/types/enums/ActiveChangeFlag.d.ts +6 -0
  61. package/types/env-probe/CubeProbe.d.ts +0 -7
  62. package/types/env-probe/Probe.d.ts +0 -6
  63. package/types/graphic/Buffer.d.ts +5 -12
  64. package/types/graphic/Mesh.d.ts +5 -16
  65. package/types/index.d.ts +8 -7
  66. package/types/input/InputManager.d.ts +3 -3
  67. package/types/input/interface/IInput.d.ts +1 -1
  68. package/types/lighting/DirectLight.d.ts +0 -1
  69. package/types/lighting/Light.d.ts +0 -1
  70. package/types/lighting/SpotLight.d.ts +0 -1
  71. package/types/material/BaseMaterial.d.ts +8 -10
  72. package/types/material/BlinnPhongMaterial.d.ts +0 -3
  73. package/types/material/Material.d.ts +3 -10
  74. package/types/material/PBRMaterial.d.ts +12 -3
  75. package/types/material/PBRSpecularMaterial.d.ts +1 -1
  76. package/types/material/UnlitMaterial.d.ts +1 -1
  77. package/types/mesh/BlendShape.d.ts +1 -1
  78. package/types/mesh/BlendShapeFrame.d.ts +28 -6
  79. package/types/mesh/MeshRenderer.d.ts +7 -12
  80. package/types/mesh/ModelMesh.d.ts +5 -5
  81. package/types/mesh/PrimitiveMesh.d.ts +4 -2
  82. package/types/mesh/PrimitiveMeshRestorer.d.ts +1 -0
  83. package/types/mesh/SkinnedMeshRenderer.d.ts +0 -14
  84. package/types/particle/ParticleRenderer.d.ts +2 -2
  85. package/types/physics/CharacterController.d.ts +0 -2
  86. package/types/physics/Collider.d.ts +1 -1
  87. package/types/physics/Collision.d.ts +4 -0
  88. package/types/physics/PhysicsManager.d.ts +1 -20
  89. package/types/physics/PhysicsScene.d.ts +75 -0
  90. package/types/physics/index.d.ts +7 -7
  91. package/types/physics/joint/HingeJoint.d.ts +2 -2
  92. package/types/physics/joint/Joint.d.ts +2 -2
  93. package/types/physics/joint/SpringJoint.d.ts +1 -1
  94. package/types/renderingHardwareInterface/IPlatformBuffer.d.ts +8 -0
  95. package/types/renderingHardwareInterface/index.d.ts +1 -0
  96. package/types/shader/Shader.d.ts +32 -23
  97. package/types/shader/ShaderData.d.ts +24 -24
  98. package/types/shader/ShaderMacro.d.ts +16 -0
  99. package/types/shader/ShaderPart.d.ts +41 -0
  100. package/types/shader/ShaderPass.d.ts +9 -2
  101. package/types/shader/ShaderProperty.d.ts +7 -0
  102. package/types/shader/ShaderTagKey.d.ts +16 -0
  103. package/types/shader/SubShader.d.ts +19 -0
  104. package/types/shader/index.d.ts +5 -1
  105. package/types/shader/state/index.d.ts +6 -0
  106. package/types/shadow/CascadedShadowCasterPass.d.ts +1 -1
  107. package/types/sky/SkyBoxMaterial.d.ts +27 -9
  108. package/types/sky/SkyProceduralMaterial.d.ts +72 -0
  109. package/types/sky/index.d.ts +1 -0
  110. package/types/texture/RenderTarget.d.ts +2 -6
  111. package/types/texture/Texture.d.ts +2 -6
  112. package/types/trail/TrailRenderer.d.ts +0 -5
  113. package/types/utils/BoolUpdateFlag.d.ts +12 -0
  114. package/types/utils/DisorderedArray.d.ts +18 -0
  115. package/types/utils/SafeLoopArray.d.ts +41 -0
  116. package/types/utils/UpdateFlag.d.ts +20 -0
  117. package/types/utils/UpdateFlagManager.d.ts +1 -0
  118. package/types/utils/Utils.d.ts +31 -0
@@ -1,19 +1,18 @@
1
1
  import { Camera } from "../Camera";
2
2
  import { Engine } from "../Engine";
3
- import { Material } from "../material";
4
- import { SpriteElement } from "./SpriteElement";
5
- import { SpriteMaskElement } from "./SpriteMaskElement";
6
- import { TextRenderElement } from "./TextRenderElement";
3
+ import { ShaderTagKey } from "../shader/ShaderTagKey";
4
+ import { RenderElement } from "./RenderElement";
7
5
  export declare abstract class Basic2DBatcher {
6
+ protected static _disableBatchTag: ShaderTagKey;
8
7
  /** The maximum number of vertex. */
9
8
  static MAX_VERTEX_COUNT: number;
10
9
  static _canUploadSameBuffer: boolean;
11
10
  constructor(engine: Engine);
12
- drawElement(element: SpriteMaskElement | SpriteElement | TextRenderElement, camera: Camera, replaceMaterial: Material): void;
13
- private _drawSubElement;
14
- flush(camera: Camera, replaceMaterial: Material): void;
11
+ drawElement(element: RenderElement, camera: Camera): void;
12
+ flush(camera: Camera): void;
15
13
  clear(): void;
16
14
  destroy(): void;
15
+ private _drawSubElement;
17
16
  private _createMesh;
18
17
  private _updateData;
19
18
  private _getSubMeshFromPool;
@@ -3,14 +3,14 @@ import { Layer } from "../Layer";
3
3
  import { Material } from "../material";
4
4
  import { RenderTarget, TextureCubeFace } from "../texture";
5
5
  import { RenderContext } from "./RenderContext";
6
- import { RenderElement } from "./RenderElement";
6
+ import { RenderData } from "./RenderData";
7
7
  import { RenderPass } from "./RenderPass";
8
8
  /**
9
9
  * Basic render pipeline.
10
10
  */
11
11
  export declare class BasicRenderPipeline {
12
- private static _tempVector0;
13
- private static _tempVector1;
12
+ private static _shadowCasterPipelineStageTagValue;
13
+ private static _forwardPipelineStageTagValue;
14
14
  private _camera;
15
15
  private _defaultPass;
16
16
  private _renderPassArray;
@@ -57,10 +57,12 @@ export declare class BasicRenderPipeline {
57
57
  render(context: RenderContext, cubeFace?: TextureCubeFace, mipLevel?: number): void;
58
58
  private _drawRenderPass;
59
59
  /**
60
- * Push a render element to the render queue.
61
- * @param element - Render element
60
+ * Push render data to render queue.
61
+ * @param context - Render context
62
+ * @param data - Render data
62
63
  */
63
- pushPrimitive(element: RenderElement): void;
64
+ pushRenderData(context: RenderContext, data: RenderData): void;
65
+ private pushRenderDataWihShader;
64
66
  private _drawBackgroundTexture;
65
67
  private _callRender;
66
68
  }
@@ -0,0 +1,15 @@
1
+ import { Mesh } from "../graphic/Mesh";
2
+ import { SubMesh } from "../graphic/SubMesh";
3
+ import { Material } from "../material/Material";
4
+ import { Renderer } from "../Renderer";
5
+ import { RenderData } from "./RenderData";
6
+ /**
7
+ * Render element.
8
+ */
9
+ export declare class MeshRenderData extends RenderData {
10
+ /** Mesh. */
11
+ mesh: Mesh;
12
+ /** Sub mesh. */
13
+ subMesh: SubMesh;
14
+ set(component: Renderer, material: Material, mesh: Mesh, subMesh: SubMesh): void;
15
+ }
@@ -0,0 +1,7 @@
1
+ import { Material } from "../material";
2
+ import { Renderer } from "../Renderer";
3
+ export declare class RenderData {
4
+ component: Renderer;
5
+ material: Material;
6
+ multiRenderData: boolean;
7
+ }
@@ -1,11 +1,9 @@
1
- import { Material } from "../material/Material";
2
- import { Renderer } from "../Renderer";
3
- import { ShaderPass } from "../shader";
1
+ import { ShaderPass } from "../shader/ShaderPass";
4
2
  import { RenderState } from "../shader/state/RenderState";
3
+ import { RenderData } from "./RenderData";
5
4
  export declare class RenderElement {
6
- component: Renderer;
7
- material: Material;
8
- multiRenderData: boolean;
9
- renderState: RenderState;
5
+ data: RenderData;
10
6
  shaderPass: ShaderPass;
7
+ renderState: RenderState;
8
+ set(data: RenderData, shaderPass: ShaderPass, renderState: RenderState): void;
11
9
  }
@@ -23,7 +23,7 @@ declare class RenderPass {
23
23
  * @param name - Pass name
24
24
  * @param priority - Priority, less than 0 before the default pass, greater than 0 after the default pass
25
25
  * @param renderTarget - The specified Render Target
26
- * @param replaceMaterial - Replaced material
26
+ * @param replaceMaterial - Replaced material
27
27
  * @param mask - Perform bit and operations with Entity.Layer to filter the objects that this Pass needs to render
28
28
  */
29
29
  constructor(name?: string, priority?: number, renderTarget?: any, replaceMaterial?: any, mask?: any);
@@ -1,21 +1,19 @@
1
1
  import { Camera } from "../Camera";
2
2
  import { Engine } from "../Engine";
3
3
  import { Layer } from "../Layer";
4
- import { Material } from "../material/Material";
5
- import { Shader } from "../shader";
6
4
  import { RenderElement } from "./RenderElement";
7
5
  /**
8
6
  * Render queue.
9
7
  */
10
8
  export declare class RenderQueue {
11
- readonly items: RenderElement[];
9
+ readonly elements: RenderElement[];
12
10
  private _spriteBatcher;
13
11
  constructor(engine: Engine);
14
12
  /**
15
13
  * Push a render element.
16
14
  */
17
- pushPrimitive(element: RenderElement): void;
18
- render(camera: Camera, replaceMaterial: Material, mask: Layer, customShader: Shader): void;
15
+ pushRenderElement(element: RenderElement): void;
16
+ render(camera: Camera, mask: Layer): void;
19
17
  /**
20
18
  * Clear collection.
21
19
  */
@@ -1,10 +1,11 @@
1
1
  import { Camera } from "../Camera";
2
2
  import { VertexElement } from "../graphic/VertexElement";
3
3
  import { Basic2DBatcher } from "./Basic2DBatcher";
4
- import { SpriteMaskElement } from "./SpriteMaskElement";
4
+ import { RenderElement } from "./RenderElement";
5
+ import { SpriteMaskRenderData } from "./SpriteMaskRenderData";
5
6
  export declare class SpriteMaskBatcher extends Basic2DBatcher {
6
7
  createVertexElements(vertexElements: VertexElement[]): number;
7
- canBatch(preElement: SpriteMaskElement, curElement: SpriteMaskElement): boolean;
8
- updateVertices(element: SpriteMaskElement, vertices: Float32Array, vertexIndex: number): number;
8
+ canBatch(preElement: RenderElement, curElement: RenderElement): boolean;
9
+ updateVertices(element: SpriteMaskRenderData, vertices: Float32Array, vertexIndex: number): number;
9
10
  drawBatches(camera: Camera): void;
10
11
  }
@@ -0,0 +1,10 @@
1
+ import { VertexData2D } from "../2d/data/VertexData2D";
2
+ import { Material } from "../material/Material";
3
+ import { Renderer } from "../Renderer";
4
+ import { RenderData } from "./RenderData";
5
+ export declare class SpriteMaskRenderData extends RenderData {
6
+ isAdd: boolean;
7
+ verticesData: VertexData2D;
8
+ constructor();
9
+ set(component: Renderer, material: Material, verticesData: VertexData2D): void;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { VertexData2D } from "../2d/data/VertexData2D";
2
+ import { Material } from "../material/Material";
3
+ import { Renderer } from "../Renderer";
4
+ import { Texture2D } from "../texture";
5
+ import { RenderData } from "./RenderData";
6
+ export declare class SpriteRenderData extends RenderData {
7
+ verticesData: VertexData2D;
8
+ texture: Texture2D;
9
+ dataIndex: number;
10
+ constructor();
11
+ set(component: Renderer, material: Material, verticesData: VertexData2D, texture: Texture2D, dataIndex?: number): void;
12
+ }
@@ -0,0 +1,6 @@
1
+ import { RenderData } from "./RenderData";
2
+ import { SpriteRenderData } from "./SpriteRenderData";
3
+ export declare class TextRenderData extends RenderData {
4
+ charsData: SpriteRenderData[];
5
+ constructor();
6
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pipeline stage.
3
+ */
4
+ export declare enum PipelineStage {
5
+ /** Shadow caster stage. */
6
+ ShadowCaster = "ShadowCaster",
7
+ /** Forward shading stage. */
8
+ Forward = "Forward"
9
+ }
@@ -0,0 +1,4 @@
1
+ export { BasicRenderPipeline } from "./BasicRenderPipeline";
2
+ export { PipelineStage } from "./enums/PipelineStage";
3
+ export { RenderPass } from "./RenderPass";
4
+ export { RenderQueue } from "./RenderQueue";
@@ -1,14 +1,13 @@
1
- import { BoundingBox, Matrix, Vector4 } from "@galacean/engine-math";
1
+ import { BoundingBox, Vector4 } from "@galacean/engine-math";
2
2
  import { Component } from "./Component";
3
- import { RenderContext } from "./RenderPipeline/RenderContext";
4
- import { TransformModifyFlags } from "./Transform";
5
- import { Material } from "./material/Material";
3
+ import { ICustomClone } from "./clone/ComponentCloner";
4
+ import { Material } from "./material";
6
5
  import { ShaderData } from "./shader/ShaderData";
7
6
  /**
8
7
  * Basis for all renderers.
9
- * @decorator `@dependentComponents(Transform)`
8
+ * @decorator `@dependentComponents(Transform, DependentMode.CheckOnly)`
10
9
  */
11
- export declare class Renderer extends Component {
10
+ export declare class Renderer extends Component implements ICustomClone {
12
11
  private static _tempVector0;
13
12
  private static _receiveShadowMacro;
14
13
  private static _localMatrixProperty;
@@ -108,12 +107,5 @@ export declare class Renderer extends Component {
108
107
  */
109
108
  setMaterials(materials: Material[]): void;
110
109
  update(deltaTime: number): void;
111
- protected _updateShaderData(context: RenderContext): void;
112
- protected _updateTransformShaderData(context: RenderContext, worldMatrix: Matrix): void;
113
- protected _registerEntityTransformListener(): void;
114
- protected _updateBounds(worldBounds: BoundingBox): void;
115
- protected _render(context: RenderContext): void;
116
- private _createInstanceMaterial;
117
110
  private _setMaterial;
118
- protected _onTransformChanged(type: TransformModifyFlags): void;
119
111
  }
@@ -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/Scene.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { Color, Vector3 } from "@galacean/engine-math";
2
2
  import { Background } from "./Background";
3
- import { EngineObject } from "./base";
4
3
  import { Engine } from "./Engine";
5
4
  import { Entity } from "./Entity";
5
+ import { EngineObject } from "./base";
6
6
  import { FogMode } from "./enums/FogMode";
7
7
  import { AmbientLight } from "./lighting/AmbientLight";
8
+ import { PhysicsScene } from "./physics/PhysicsScene";
8
9
  import { ShaderData } from "./shader/ShaderData";
9
10
  import { ShadowCascadesMode } from "./shadow/enum/ShadowCascadesMode";
10
11
  import { ShadowResolution } from "./shadow/enum/ShadowResolution";
@@ -14,8 +15,12 @@ import { ShadowResolution } from "./shadow/enum/ShadowResolution";
14
15
  export declare class Scene extends EngineObject {
15
16
  private static _fogColorProperty;
16
17
  private static _fogParamsProperty;
18
+ private static _sunlightColorProperty;
19
+ private static _sunlightDirectionProperty;
17
20
  /** Scene name. */
18
21
  name: string;
22
+ /** Physics. */
23
+ readonly physics: PhysicsScene;
19
24
  /** The background of the scene. */
20
25
  readonly background: Background;
21
26
  /** Scene-related shader data. */
@@ -132,10 +137,6 @@ export declare class Scene extends EngineObject {
132
137
  * @returns Entity
133
138
  */
134
139
  findEntityByPath(path: string): Entity | null;
135
- /**
136
- * Destroy this scene.
137
- */
138
- destroy(): void;
139
140
  private _addToRootEntityList;
140
141
  private _computeLinearFogParams;
141
142
  private _computeExponentialFogParams;
@@ -1,20 +1,35 @@
1
- import { AssetPromise } from "./asset/AssetPromise";
2
1
  import { Engine } from "./Engine";
3
2
  import { Scene } from "./Scene";
3
+ import { AssetPromise } from "./asset/AssetPromise";
4
4
  /**
5
5
  * Scene manager.
6
6
  */
7
7
  export declare class SceneManager {
8
8
  readonly engine: Engine;
9
9
  /**
10
- * Get the activated scene.
10
+ * Get the scene list.
11
11
  */
12
- get activeScene(): Scene;
13
- set activeScene(scene: Scene);
12
+ get scenes(): ReadonlyArray<Scene>;
13
+ /**
14
+ * Add scene.
15
+ * @param scene - The scene which want to be added
16
+ */
17
+ addScene(scene: Scene): void;
18
+ /**
19
+ * Add scene at specified index.
20
+ * @param index - specified index
21
+ * @param child - The scene which want to be added
22
+ */
23
+ addScene(index: number, scene: Scene): void;
24
+ /**
25
+ * Remove scene.
26
+ * @param scene - The scene which want to be removed
27
+ */
28
+ removeScene(scene: Scene): void;
14
29
  /**
15
30
  * Load and activate scene.
16
31
  * @param url - the path of the scene
17
- * @param destroyOldScene - whether to destroy old scene information
32
+ * @param destroyOldScene - whether to destroy old scene
18
33
  * @returns scene promise
19
34
  */
20
35
  loadScene(url: string, destroyOldScene?: boolean): AssetPromise<Scene>;
@@ -25,4 +40,12 @@ export declare class SceneManager {
25
40
  * @param destScene - target scene
26
41
  */
27
42
  mergeScenes(sourceScene: Scene, destScene: Scene): void;
43
+ /**
44
+ * @deprecated
45
+ * Please use `scenes` instead.
46
+ *
47
+ * Get the first scene.
48
+ */
49
+ get activeScene(): Scene;
50
+ set activeScene(scene: Scene);
28
51
  }
package/types/Script.d.ts CHANGED
@@ -2,6 +2,7 @@ import { Camera } from "./Camera";
2
2
  import { Component } from "./Component";
3
3
  import { Pointer } from "./input";
4
4
  import { ColliderShape } from "./physics";
5
+ import { Collision } from "./physics/Collision";
5
6
  /**
6
7
  * Script class, used for logic writing.
7
8
  */
@@ -22,12 +23,12 @@ export declare class Script extends Component {
22
23
  onStart(): void;
23
24
  /**
24
25
  * The main loop, called frame by frame.
25
- * @param deltaTime - The deltaTime when the script update.
26
+ * @param deltaTime - The delta time since last frame in seconds
26
27
  */
27
28
  onUpdate(deltaTime: number): void;
28
29
  /**
29
30
  * Called after the onUpdate finished, called frame by frame.
30
- * @param deltaTime - The deltaTime when the script update.
31
+ * @param deltaTime - The delta time since last frame in seconds
31
32
  */
32
33
  onLateUpdate(deltaTime: number): void;
33
34
  /**
@@ -45,37 +46,39 @@ export declare class Script extends Component {
45
46
  */
46
47
  onPhysicsUpdate(): void;
47
48
  /**
48
- * Called when the collision enter.
49
+ * Called when the trigger enter.
49
50
  * @param other - ColliderShape
50
51
  */
51
52
  onTriggerEnter(other: ColliderShape): void;
52
53
  /**
53
- * Called when the collision stay.
54
- * @remarks onTriggerStay is called every frame while the collision stay.
54
+ * Called when the trigger exit.
55
55
  * @param other - ColliderShape
56
56
  */
57
57
  onTriggerExit(other: ColliderShape): void;
58
58
  /**
59
- * Called when the collision exit.
59
+ * Called when the trigger stay.
60
+ * @remarks onTriggerStay is called every frame while the trigger stay.
60
61
  * @param other - ColliderShape
61
62
  */
62
63
  onTriggerStay(other: ColliderShape): void;
63
64
  /**
64
65
  * Called when the collision enter.
65
- * @param other - ColliderShape
66
+ * @param other - The Collision data associated with this collision event
67
+ * @remarks The Collision data will be invalid after this call, you should copy the data if needed.
66
68
  */
67
- onCollisionEnter(other: ColliderShape): void;
69
+ onCollisionEnter(other: Collision): void;
68
70
  /**
69
- * Called when the collision stay.
70
- * @remarks onTriggerStay is called every frame while the collision stay.
71
- * @param other - ColliderShape
71
+ * Called when the collision exit.
72
+ * @param other - The Collision data associated with this collision event
73
+ * @remarks The Collision data will be invalid after this call, you should copy the data if needed.
72
74
  */
73
- onCollisionExit(other: ColliderShape): void;
75
+ onCollisionExit(other: Collision): void;
74
76
  /**
75
- * Called when the collision exit.
76
- * @param other - ColliderShape
77
+ * Called when the collision stay.
78
+ * @param other - The Collision data associated with this collision event
79
+ * @remarks The Collision data will be invalid after this call, you should copy the data if needed.
77
80
  */
78
- onCollisionStay(other: ColliderShape): void;
81
+ onCollisionStay(other: Collision): void;
79
82
  /**
80
83
  * Called when the pointer is down while over the ColliderShape.
81
84
  * @param pointer - The pointer that triggered
@@ -24,6 +24,9 @@ export declare class Transform extends Component {
24
24
  private _lossyWorldScale;
25
25
  private _localMatrix;
26
26
  private _worldMatrix;
27
+ private _worldForward;
28
+ private _worldRight;
29
+ private _worldUp;
27
30
  private _isParentDirty;
28
31
  private _parentTransformCache;
29
32
  private _dirtyFlag;
@@ -135,23 +138,17 @@ export declare class Transform extends Component {
135
138
  */
136
139
  setWorldRotationQuaternion(x: number, y: number, z: number, w: number): void;
137
140
  /**
138
- * Get the forward direction in world space.
139
- * @param forward - Forward vector
140
- * @returns Forward vector
141
+ * The forward direction in world space.
141
142
  */
142
- getWorldForward(forward: Vector3): Vector3;
143
+ get worldForward(): Vector3;
143
144
  /**
144
- * Get the right direction in world space.
145
- * @param right - Right vector
146
- * @returns Right vector
145
+ * The right direction in world space.
147
146
  */
148
- getWorldRight(right: Vector3): Vector3;
147
+ get worldRight(): Vector3;
149
148
  /**
150
- * Get the up direction in world space.
151
- * @param up - Up vector
152
- * @returns Up vector
149
+ * The up direction in world space.
153
150
  */
154
- getWorldUp(up: Vector3): Vector3;
151
+ get worldUp(): Vector3;
155
152
  /**
156
153
  * Translate in the direction and distance of the translation.
157
154
  * @param translation - Direction and distance of translation
package/types/Utils.d.ts CHANGED
@@ -1,3 +1,31 @@
1
1
  export declare class Utils {
2
+ /**
3
+ * Fast remove an element from array.
4
+ * @param array - Array
5
+ * @param item - Element
6
+ */
7
+ static removeFromArray(array: any[], item: any): boolean;
8
+ /**
9
+ * Decodes a given Uint8Array into a string.
10
+ */
11
+ static decodeText(array: Uint8Array): string;
12
+ /**
13
+ * Judge whether the url is absolute url.
14
+ * @param url - The url to be judged.
15
+ * @returns Whether the url is absolute url.
16
+ */
17
+ static isAbsoluteUrl(url: string): boolean;
18
+ /**
19
+ * Get the values of an object.
20
+ */
21
+ static objectValues(obj: any): any[];
22
+ /**
23
+ * Convert a relative URL to an absolute URL based on a given base URL.
24
+ * @param baseUrl - The base url.
25
+ * @param relativeUrl - The relative url.
26
+ * @returns The resolved url.
27
+ */
28
+ static resolveAbsoluteUrl(baseUrl: string, relativeUrl: string): string;
2
29
  private static _stringToPath;
30
+ private static _formatRelativePath;
3
31
  }
@@ -1,3 +1,4 @@
1
+ import { EngineObject } from "../base/EngineObject";
1
2
  import { Component } from "../Component";
2
3
  import { Entity } from "../Entity";
3
4
  import { AnimationClipCurveBinding } from "./AnimationClipCurveBinding";
@@ -7,7 +8,7 @@ import { KeyframeValueType } from "./Keyframe";
7
8
  /**
8
9
  * Stores keyframe based animations.
9
10
  */
10
- export declare class AnimationClip {
11
+ export declare class AnimationClip extends EngineObject {
11
12
  readonly name: string;
12
13
  private _length;
13
14
  private _events;
@@ -14,8 +14,7 @@ export declare class Animator extends Component {
14
14
  protected _animatorController: AnimatorController;
15
15
  protected _controllerUpdateFlag: BoolUpdateFlag;
16
16
  private _animatorLayersData;
17
- private _crossOwnerCollection;
18
- private _animationCurveOwners;
17
+ private _curveOwnerPool;
19
18
  private _animationEventHandlerPool;
20
19
  private _tempAnimatorStateInfo;
21
20
  private _controlledRenderers;
@@ -61,7 +60,7 @@ export declare class Animator extends Component {
61
60
  private _saveAnimatorStateData;
62
61
  private _saveAnimatorEventHandlers;
63
62
  private _clearCrossData;
64
- private _addCrossCurveData;
63
+ private _addCrossOwner;
65
64
  private _prepareCrossFading;
66
65
  private _prepareStandbyCrossFading;
67
66
  private _prepareFixedPoseCrossFading;
@@ -6,7 +6,6 @@ import { AnimationCurve } from "./AnimationCurve";
6
6
  export declare class AnimationFloatArrayCurve extends AnimationCurve<Float32Array> {
7
7
  /**
8
8
  * @inheritdoc
9
- * @override
10
9
  */
11
10
  addKey(key: Keyframe<Float32Array>): void;
12
11
  }
@@ -6,47 +6,47 @@ export declare enum AssetType {
6
6
  * Plain text.
7
7
  * @remarks Will not be cached based on url in ResourceManager.
8
8
  */
9
- Text = "text",
9
+ Text = "Text",
10
10
  /**
11
11
  * JSON.
12
12
  * @remarks Will not be cached based on url in ResourceManager.
13
13
  */
14
- JSON = "json",
14
+ JSON = "JSON",
15
15
  /**
16
16
  * ArrayBuffer.
17
17
  * @remarks Will not be cached based on url in ResourceManager.
18
18
  */
19
- Buffer = "buffer",
19
+ Buffer = "Buffer",
20
20
  /** 2D Texture. */
21
- Texture2D = "texture2d",
21
+ Texture2D = "Texture2D",
22
22
  /** Cube Texture. */
23
- TextureCube = "texture-cube",
23
+ TextureCube = "TextureCube",
24
24
  /** Material. */
25
- Material = "material",
25
+ Material = "Material",
26
26
  /** Mesh. */
27
- Mesh = "mesh",
27
+ Mesh = "Mesh",
28
28
  /** AnimationClip. */
29
29
  AnimationClip = "AnimationClip",
30
30
  /** AnimatorController. */
31
31
  AnimatorController = "AnimatorController",
32
32
  /** Prefab.*/
33
- Prefab = "prefab",
33
+ GLTF = "GLTF",
34
34
  /** Compress Texture. */
35
- KTX = "ktx",
35
+ KTX = "KTX",
36
36
  /** Cube Compress Texture. */
37
- KTXCube = "ktx-cube",
37
+ KTXCube = "KTXCube",
38
38
  /** Sprite. */
39
- Sprite = "sprite",
39
+ Sprite = "Sprite",
40
40
  /** Sprite Atlas. */
41
- SpriteAtlas = "sprite-atlas",
41
+ SpriteAtlas = "SpriteAtlas",
42
42
  /** Ambient light. */
43
- Env = "environment",
43
+ Env = "Environment",
44
44
  /** Scene. */
45
- Scene = "scene",
45
+ Scene = "Scene",
46
46
  /** HDR to cube. */
47
47
  HDR = "HDR",
48
48
  /** Font. */
49
- Font = "font",
49
+ Font = "Font",
50
50
  /** Source Font, include ttf、 otf and woff. */
51
- SourceFont = "source-font"
51
+ SourceFont = "SourceFont"
52
52
  }
@@ -0,0 +1,17 @@
1
+ import { EngineObject } from "../base";
2
+ import { AssetPromise } from "./AssetPromise";
3
+ /**
4
+ * ContentRestorer is a base class for all content restore info classes.
5
+ */
6
+ export declare abstract class ContentRestorer<T extends EngineObject> {
7
+ resource: T;
8
+ /**
9
+ * @param resource - The resource object of the content restorer
10
+ */
11
+ constructor(resource: T);
12
+ /**
13
+ * Restore the content of the resource.
14
+ * @returns The promise of the restored content if the content is restored asynchronously, otherwise returns undefined
15
+ */
16
+ abstract restoreContent(): AssetPromise<T> | void;
17
+ }
@@ -0,0 +1,5 @@
1
+ import { Engine } from "../Engine";
2
+ import { ReferResource } from "./ReferResource";
3
+ export declare abstract class GraphicsResource extends ReferResource {
4
+ protected constructor(engine: Engine);
5
+ }