@galacean/engine-core 0.0.0-experimental-shaderlab.2 → 0.0.0-experimental-1.2-xr.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 (49) hide show
  1. package/dist/main.js +4322 -4146
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +4322 -4146
  4. package/dist/module.js +4322 -4146
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/2d/assembler/ISpriteAssembler.d.ts +1 -0
  8. package/types/2d/text/CharRenderInfo.d.ts +1 -0
  9. package/types/DisorderedArray.d.ts +2 -2
  10. package/types/Entity.d.ts +5 -2
  11. package/types/RenderPipeline/BatchUtils.d.ts +1 -0
  12. package/types/RenderPipeline/BatcherManager.d.ts +1 -0
  13. package/types/RenderPipeline/DynamicGeometryData.d.ts +1 -0
  14. package/types/RenderPipeline/DynamicGeometryDataManager.d.ts +1 -0
  15. package/types/RenderPipeline/MaskManager.d.ts +1 -0
  16. package/types/RenderPipeline/PrimitiveChunk.d.ts +1 -0
  17. package/types/RenderPipeline/PrimitiveChunkManager.d.ts +1 -0
  18. package/types/RenderPipeline/RenderData2D.d.ts +14 -0
  19. package/types/RenderPipeline/SubPrimitiveChunk.d.ts +1 -0
  20. package/types/RenderPipeline/SubRenderElement.d.ts +22 -0
  21. package/types/RenderPipeline/VertexArea.d.ts +1 -0
  22. package/types/RenderPipeline/enums/ForceUploadShaderDataFlag.d.ts +15 -0
  23. package/types/RenderPipeline/enums/RenderDataUsage.d.ts +13 -0
  24. package/types/animation/AnimatorCondition.d.ts +13 -0
  25. package/types/animation/AnimatorControllerParameter.d.ts +10 -0
  26. package/types/animation/AnimatorStateTransition.d.ts +51 -0
  27. package/types/asset/AssetType.d.ts +0 -4
  28. package/types/asset/ResourceManager.d.ts +3 -1
  29. package/types/clone/ComponentCloner.d.ts +1 -1
  30. package/types/input/pointer/PointerEvent.d.ts +4 -0
  31. package/types/input/pointer/PointerEventType.d.ts +7 -0
  32. package/types/mesh/Skin.d.ts +25 -9
  33. package/types/mesh/SkinnedMeshRenderer.d.ts +15 -24
  34. package/types/ui/Image.d.ts +38 -0
  35. package/types/ui/RedBlackTree.d.ts +2 -0
  36. package/types/ui/UICanvas.d.ts +55 -0
  37. package/types/ui/UIRenderer.d.ts +14 -0
  38. package/types/ui/UITransform.d.ts +20 -0
  39. package/types/ui/enums/BlockingObjects.d.ts +6 -0
  40. package/types/ui/enums/CanvasRenderMode.d.ts +8 -0
  41. package/types/ui/enums/ResolutionAdaptationStrategy.d.ts +10 -0
  42. package/types/ui/index.d.ts +6 -0
  43. package/types/utils/ClearableObjectPool.d.ts +10 -0
  44. package/types/utils/ObjectPool.d.ts +10 -0
  45. package/types/utils/Pool.d.ts +12 -0
  46. package/types/utils/ReturnableObjectPool.d.ts +10 -0
  47. package/types/RenderPipeline/MeshRenderData.d.ts +0 -17
  48. package/types/physics/PhysicsManager.d.ts +0 -76
  49. /package/types/RenderPipeline/{Index.d.ts → index.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-core",
3
- "version": "0.0.0-experimental-shaderlab.2",
3
+ "version": "0.0.0-experimental-1.2-xr.0",
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": "0.0.0-experimental-shaderlab.2"
18
+ "@galacean/engine-math": "0.0.0-experimental-1.2-xr.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@galacean/engine-design": "0.0.0-experimental-shaderlab.2"
21
+ "@galacean/engine-design": "0.0.0-experimental-1.2-xr.0"
22
22
  },
23
23
  "scripts": {
24
24
  "b:types": "tsc"
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -18,10 +18,10 @@ export declare class DisorderedArray<T> {
18
18
  */
19
19
  deleteByIndex(index: number): T;
20
20
  forEach(callbackFn: (element: T) => void, swapFn: (element: T, index: number) => void): void;
21
- forEachAndClean(callbackFn: (e: T) => void): void;
21
+ forEachAndClean(callbackFn: (e: T) => void, swapFn: (element: T, index: number) => void): void;
22
22
  sort(compareFn: (a: T, b: T) => number): void;
23
23
  garbageCollection(): void;
24
24
  private _startLoop;
25
25
  private _endLoop;
26
- private _endLoopAndClear;
26
+ private _endLoopAndClean;
27
27
  }
package/types/Entity.d.ts CHANGED
@@ -58,9 +58,10 @@ export declare class Entity extends EngineObject {
58
58
  /**
59
59
  * Add component based on the component type.
60
60
  * @param type - The type of the component
61
+ * @param args - The arguments of the component
61
62
  * @returns The component which has been added
62
63
  */
63
- addComponent<T extends Component>(type: new (entity: Entity) => T): T;
64
+ addComponent<T extends new (entity: Entity, ...args: any[]) => Component>(type: T, ...args: ComponentArguments<T>): InstanceType<T>;
64
65
  /**
65
66
  * Get component which match the type.
66
67
  * @param type - The type of the component
@@ -127,7 +128,7 @@ export declare class Entity extends EngineObject {
127
128
  */
128
129
  clearChildren(): void;
129
130
  /**
130
- * Clone.
131
+ * Clone this entity include children and components.
131
132
  * @returns Cloned entity
132
133
  */
133
134
  clone(): Entity;
@@ -152,3 +153,5 @@ export declare class Entity extends EngineObject {
152
153
  */
153
154
  getInvModelMatrix(): Matrix;
154
155
  }
156
+ type ComponentArguments<T extends new (entity: Entity, ...args: any[]) => Component> = T extends new (entity: Entity, ...args: infer P) => Component ? P : never;
157
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Primitive, SubMesh } from "../graphic";
2
+ import { Material } from "../material/Material";
3
+ import { Renderer } from "../Renderer";
4
+ import { Texture2D } from "../texture";
5
+ import { IPoolElement } from "../utils/Pool";
6
+ import { Chunk } from "./DynamicGeometryData";
7
+ import { RenderData } from "./RenderData";
8
+ export declare class RenderData2D extends RenderData implements IPoolElement {
9
+ texture: Texture2D;
10
+ chunk: Chunk;
11
+ constructor();
12
+ set(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh, texture?: Texture2D, chunk?: Chunk): void;
13
+ dispose(): void;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Renderer } from "../Renderer";
2
+ import { Primitive, SubMesh } from "../graphic";
3
+ import { Material } from "../material";
4
+ import { ShaderData, ShaderPass } from "../shader";
5
+ import { Texture2D } from "../texture";
6
+ import { IPoolElement } from "../utils/ObjectPool";
7
+ import { RenderQueueFlags } from "./BasicRenderPipeline";
8
+ import { SubPrimitiveChunk } from "./SubPrimitiveChunk";
9
+ export declare class SubRenderElement implements IPoolElement {
10
+ component: Renderer;
11
+ primitive: Primitive;
12
+ material: Material;
13
+ subPrimitive: SubMesh;
14
+ shaderPasses: ReadonlyArray<ShaderPass>;
15
+ shaderData?: ShaderData;
16
+ batched: boolean;
17
+ renderQueueFlags: RenderQueueFlags;
18
+ texture?: Texture2D;
19
+ subChunk?: SubPrimitiveChunk;
20
+ set(component: Renderer, material: Material, primitive: Primitive, subPrimitive: SubMesh, texture?: Texture2D, subChunk?: SubPrimitiveChunk): void;
21
+ dispose(): void;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Force upload shader data flag.
3
+ */
4
+ export declare enum ForceUploadShaderDataFlag {
5
+ /** Upload nothing. */
6
+ None = 0,
7
+ /** Upload scene shader data. */
8
+ Scene = 1,
9
+ /** Upload camera shader data. */
10
+ Camera = 2,
11
+ /** Upload renderer shader data. */
12
+ Renderer = 4,
13
+ /** Upload material shader data. */
14
+ Material = 8
15
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * RenderData usage.
3
+ */
4
+ export declare enum RenderDataUsage {
5
+ /** Usage for mesh. */
6
+ Mesh = 0,
7
+ /** Usage for sprite. */
8
+ Sprite = 1,
9
+ /** Usage for sprite mask. */
10
+ SpriteMask = 2,
11
+ /** Usage for text. */
12
+ Text = 3
13
+ }
@@ -0,0 +1,13 @@
1
+ import { AnimatorControllerParameterValueType } from "./AnimatorControllerParameter";
2
+ import { AnimatorConditionMode } from "./enums/AnimatorConditionMode";
3
+ /**
4
+ * Condition that is used to determine if a transition must be taken.
5
+ */
6
+ export declare class AnimatorCondition {
7
+ /** The mode of the condition. */
8
+ mode: AnimatorConditionMode;
9
+ /** The name of the parameter used in the condition. */
10
+ parameterName: string;
11
+ /** The AnimatorParameter's threshold value for the condition to be true. */
12
+ threshold?: AnimatorControllerParameterValueType;
13
+ }
@@ -0,0 +1,10 @@
1
+ export type AnimatorControllerParameterValueType = number | string | boolean;
2
+ /**
3
+ * Used to communicate between scripting and the controller, parameters can be set in scripting and used by the controller.
4
+ */
5
+ export declare class AnimatorControllerParameter {
6
+ /** The name of the parameter. */
7
+ name: string;
8
+ /** The value of the parameter. */
9
+ value: AnimatorControllerParameterValueType;
10
+ }
@@ -0,0 +1,51 @@
1
+ import { AnimatorControllerParameterValueType } from "./AnimatorControllerParameter";
2
+ import { AnimatorConditionMode } from "./enums/AnimatorConditionMode";
3
+ import { AnimatorCondition } from "./AnimatorCondition";
4
+ import { AnimatorState } from "./AnimatorState";
5
+ /**
6
+ * Transitions define when and how the state machine switch from on state to another. AnimatorTransition always originate from a StateMachine or a StateMachine entry.
7
+ */
8
+ export declare class AnimatorStateTransition {
9
+ /** The duration of the transition. This is represented in normalized time. */
10
+ duration: number;
11
+ /** The time at which the destination state will start. This is represented in normalized time. */
12
+ offset: number;
13
+ /** ExitTime represents the exact time at which the transition can take effect. This is represented in normalized time. */
14
+ exitTime: number;
15
+ /** The destination state of the transition. */
16
+ destinationState: AnimatorState;
17
+ /** Mutes the transition. The transition will never occur. */
18
+ mute: boolean;
19
+ private _conditions;
20
+ private _solo;
21
+ /**
22
+ * Is the transition destination the exit of the current state machine.
23
+ */
24
+ get isExit(): Readonly<boolean>;
25
+ /**
26
+ * Mutes all other transitions in the source state.
27
+ */
28
+ get solo(): boolean;
29
+ set solo(value: boolean);
30
+ /**
31
+ * The conditions in the transition.
32
+ */
33
+ get conditions(): Readonly<AnimatorCondition[]>;
34
+ /**
35
+ * Add a condition to a transition.
36
+ * @param mode - The AnimatorCondition mode of the condition
37
+ * @param parameterName - The name of the parameter
38
+ * @param threshold - The threshold value of the condition
39
+ */
40
+ addCondition(mode: AnimatorConditionMode, parameterName: string, threshold?: AnimatorControllerParameterValueType): AnimatorCondition;
41
+ /**
42
+ * Add a condition to a transition.
43
+ * @param animatorCondition - The condition to add
44
+ */
45
+ addCondition(animatorCondition: AnimatorCondition): AnimatorCondition;
46
+ /**
47
+ * Remove a condition from the transition.
48
+ * @param condition - The condition to remove
49
+ */
50
+ removeCondition(condition: AnimatorCondition): void;
51
+ }
@@ -23,10 +23,6 @@ export declare enum AssetType {
23
23
  TextureCube = "TextureCube",
24
24
  /** Material. */
25
25
  Material = "Material",
26
- /** Shader */
27
- Shader = "Shader",
28
- /** Shader Chunk */
29
- ShaderChunk = "ShaderChunk",
30
26
  /** Mesh. */
31
27
  Mesh = "Mesh",
32
28
  /** AnimationClip. */
@@ -102,11 +102,13 @@ export declare class ResourceManager {
102
102
  addContentRestorer<T extends EngineObject>(restorer: ContentRestorer<T>): void;
103
103
  private _assignDefaultOptions;
104
104
  private _loadSingleItem;
105
- private _pushSubAssetPromiseCallback;
105
+ private _loadMainAsset;
106
+ private _createSubAssetPromiseCallback;
106
107
  private _gc;
107
108
  private _getResolveResource;
108
109
  private _parseURL;
109
110
  private _parseQueryPath;
111
+ private _releaseSubAssetPromiseCallback;
110
112
  }
111
113
  /**
112
114
  * Declare ResourceLoader's decorator.
@@ -13,5 +13,5 @@ export declare class ComponentCloner {
13
13
  * @param source - Clone source
14
14
  * @param target - Clone target
15
15
  */
16
- static cloneComponent(source: Component, target: Component, srcRoot: Entity, targetRoot: Entity): void;
16
+ static cloneComponent(source: Component, target: Component, srcRoot: Entity, targetRoot: Entity, deepInstanceMap: Map<Object, Object>): void;
17
17
  }
@@ -0,0 +1,4 @@
1
+ import { Pointer } from "./Pointer";
2
+ export declare class PointerEvent {
3
+ pointer: Pointer;
4
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum PointerEventType {
2
+ Down = 0,
3
+ Up = 1,
4
+ Click = 2,
5
+ Enter = 3,
6
+ Exit = 4
7
+ }
@@ -1,19 +1,35 @@
1
1
  import { Matrix } from "@galacean/engine-math";
2
- import { EngineObject } from "../base/EngineObject";
3
2
  import { Entity } from "../Entity";
3
+ import { EngineObject } from "../base/EngineObject";
4
+ import { IComponentCustomClone } from "../clone/ComponentCloner";
4
5
  /**
5
- * Mesh skin data, equal glTF skins define
6
+ * Skin used for skinned mesh renderer.
6
7
  */
7
- export declare class Skin extends EngineObject {
8
+ export declare class Skin extends EngineObject implements IComponentCustomClone {
8
9
  name: string;
10
+ /** Inverse bind matrices. */
9
11
  inverseBindMatrices: Matrix[];
10
- joints: string[];
11
- skeleton: string;
12
- _rootBone: Entity;
13
- _bones: Entity[];
12
+ private _rootBone;
13
+ private _bones;
14
+ private _updateMark;
14
15
  /**
15
- * Constructor of skin
16
- * @param name - name
16
+ * Root bone.
17
17
  */
18
+ get rootBone(): Entity;
19
+ set rootBone(value: Entity);
20
+ /**
21
+ * Bones of the skin.
22
+ */
23
+ get bones(): ReadonlyArray<Entity>;
24
+ set bones(value: ReadonlyArray<Entity>);
18
25
  constructor(name: string);
26
+ /** @deprecated Please use `bones` instead. */
27
+ joints: string[];
28
+ /** @deprecated Please use `rootBone` instead. */
29
+ get skeleton(): string;
30
+ set skeleton(value: string);
31
+ }
32
+ export declare enum SkinUpdateFlag {
33
+ BoneCountChanged = 0,
34
+ RootBoneChanged = 1
19
35
  }
@@ -14,10 +14,13 @@ export declare class SkinnedMeshRenderer extends MeshRenderer {
14
14
  private _jointDataCreateCache;
15
15
  private _blendShapeWeights;
16
16
  private _maxVertexUniformVectors;
17
- private _rootBone;
18
- private _jointMatrices;
19
17
  private _jointTexture;
20
- private _bones;
18
+ private _skin;
19
+ /**
20
+ * Skin of the SkinnedMeshRenderer.
21
+ */
22
+ get skin(): Skin;
23
+ set skin(value: Skin);
21
24
  /**
22
25
  * The weights of the BlendShapes.
23
26
  * @remarks Array index is BlendShape index.
@@ -29,31 +32,19 @@ export declare class SkinnedMeshRenderer extends MeshRenderer {
29
32
  */
30
33
  get localBounds(): BoundingBox;
31
34
  set localBounds(value: BoundingBox);
35
+ _updateShaderData(context: RenderContext, onlyMVP: boolean): void;
36
+ private _checkBlendShapeWeightLength;
37
+ private _onLocalBoundsChanged;
38
+ private _onSkinUpdated;
39
+ private _applySkin;
32
40
  /**
33
- * Root bone.
41
+ * @deprecated use {@link SkinnedMeshRenderer.skin.rootBone} instead.
34
42
  */
35
43
  get rootBone(): Entity;
36
44
  set rootBone(value: Entity);
37
45
  /**
38
- * Bones of the SkinnedMeshRenderer.
46
+ * @deprecated use {@link SkinnedMeshRenderer.skin.bones} instead.
39
47
  */
40
- get bones(): ReadonlyArray<Entity>;
41
- set bones(value: ReadonlyArray<Entity>);
42
- _updateShaderData(context: RenderContext, onlyMVP: boolean): void;
43
- private _checkBlendShapeWeightLength;
44
- private _onLocalBoundsChanged;
45
- private _getEntityHierarchyPath;
46
- private _skin;
47
- /**
48
- * @deprecated
49
- * Skin Object.
50
- *
51
- * If you want get `skeleton`, use {@link SkinnedMeshRenderer.rootBone} instead.
52
- * If you want get `bones`, use {@link SkinnedMeshRenderer.bones} instead.
53
- * `inverseBindMatrices` will migrate to mesh in the future.
54
- *
55
- * @remarks `rootBone` and `bones` will not update when `skin` changed.
56
- */
57
- get skin(): Skin;
58
- set skin(value: Skin);
48
+ get bones(): Readonly<Entity[]>;
49
+ set bones(value: Readonly<Entity[]>);
59
50
  }
@@ -0,0 +1,38 @@
1
+ import { Color } from "@galacean/engine-math";
2
+ import { Sprite, SpriteDrawMode, SpriteTileMode } from "../2d";
3
+ import { UIRenderer } from "./UIRenderer";
4
+ export declare class Image extends UIRenderer {
5
+ private _color;
6
+ private _sprite;
7
+ private _drawMode;
8
+ private _assembler;
9
+ private _tileMode;
10
+ private _tiledAdaptiveThreshold;
11
+ /**
12
+ * The draw mode of the sprite renderer.
13
+ */
14
+ get drawMode(): SpriteDrawMode;
15
+ set drawMode(value: SpriteDrawMode);
16
+ /**
17
+ * The tiling mode of the sprite renderer. (Only works in tiled mode.)
18
+ */
19
+ get tileMode(): SpriteTileMode;
20
+ set tileMode(value: SpriteTileMode);
21
+ /**
22
+ * Stretch Threshold in Tile Adaptive Mode, specified in normalized. (Only works in tiled adaptive mode.)
23
+ */
24
+ get tiledAdaptiveThreshold(): number;
25
+ set tiledAdaptiveThreshold(value: number);
26
+ /**
27
+ * The Sprite to render.
28
+ */
29
+ get sprite(): Sprite;
30
+ set sprite(value: Sprite | null);
31
+ /**
32
+ * Rendering color for the Sprite graphic.
33
+ */
34
+ get color(): Color;
35
+ set color(value: Color);
36
+ protected _onDestroy(): void;
37
+ private _onSpriteChange;
38
+ }
@@ -0,0 +1,2 @@
1
+ export declare class RedBlackTree {
2
+ }
@@ -0,0 +1,55 @@
1
+ import { Vector2 } from "@galacean/engine-math";
2
+ import { Camera } from "../Camera";
3
+ import { Component } from "../Component";
4
+ import { Entity } from "../Entity";
5
+ import { RenderContext } from "../RenderPipeline/RenderContext";
6
+ import { CanvasRenderMode } from "./enums/CanvasRenderMode";
7
+ import { ResolutionAdaptationStrategy } from "./enums/ResolutionAdaptationStrategy";
8
+ export declare class UICanvas extends Component {
9
+ private _renderMode;
10
+ private _renderCamera;
11
+ private _resolutionAdaptationStrategy;
12
+ private _sortOrder;
13
+ private _distance;
14
+ private _renderers;
15
+ private _transform;
16
+ private _uiTransform;
17
+ private _referenceResolution;
18
+ private _isRootCanvas;
19
+ private _enableBlocked;
20
+ private _parents;
21
+ private _hierarchyDirty;
22
+ get enableBlocked(): boolean;
23
+ set enableBlocked(value: boolean);
24
+ get referenceResolution(): Vector2;
25
+ set referenceResolution(val: Vector2);
26
+ get renderMode(): CanvasRenderMode;
27
+ set renderMode(mode: CanvasRenderMode);
28
+ get renderCamera(): Camera;
29
+ set renderCamera(val: Camera);
30
+ get resolutionAdaptationStrategy(): ResolutionAdaptationStrategy;
31
+ set resolutionAdaptationStrategy(val: ResolutionAdaptationStrategy);
32
+ get sortOrder(): number;
33
+ set sortOrder(val: number);
34
+ get distance(): number;
35
+ set distance(val: number);
36
+ constructor(entity: Entity);
37
+ _prepareRender(context: RenderContext): void;
38
+ private _adapterPoseInScreenSpace;
39
+ private _adapterSizeInScreenSpace;
40
+ private _walk;
41
+ private _addCameraListener;
42
+ private _removeCameraListener;
43
+ private _onCameraPropertyListener;
44
+ private _onCameraTransformListener;
45
+ private _addCanvasListener;
46
+ private _removeCanvasListener;
47
+ private _onCanvasSizeListener;
48
+ private _addParentListener;
49
+ private _removeParentListener;
50
+ private _onEntityListener;
51
+ private _onParentListener;
52
+ private _onReferenceResolutionChanged;
53
+ private _checkIsRootCanvas;
54
+ private _setIsRootCanvas;
55
+ }
@@ -0,0 +1,14 @@
1
+ import { BoundingBox, Vector4 } from "@galacean/engine-math";
2
+ import { Renderer } from "../Renderer";
3
+ import { UITransform, UITransformModifyFlags } from "./UITransform";
4
+ export declare class UIRenderer extends Renderer {
5
+ protected _uiTransform: UITransform;
6
+ protected _localBounds: BoundingBox;
7
+ protected _rayCastTarget: boolean;
8
+ protected _rayCastPadding: Vector4;
9
+ get rayCastTarget(): boolean;
10
+ set rayCastTarget(value: boolean);
11
+ get rayCastPadding(): Vector4;
12
+ set rayCastPadding(value: Vector4);
13
+ protected _onUITransformChanged(flag: UITransformModifyFlags): void;
14
+ }
@@ -0,0 +1,20 @@
1
+ import { Vector2 } from "@galacean/engine-math";
2
+ import { Component } from "../Component";
3
+ import { Entity } from "../Entity";
4
+ export declare class UITransform extends Component {
5
+ private _rect;
6
+ private _pivot;
7
+ get rect(): Vector2;
8
+ set rect(val: Vector2);
9
+ get pivot(): Vector2;
10
+ set pivot(val: Vector2);
11
+ constructor(entity: Entity);
12
+ private _onRectChange;
13
+ private _onPivotChange;
14
+ }
15
+ export declare enum UITransformModifyFlags {
16
+ /** Rect. */
17
+ Rect = 1,
18
+ /** Pivot. */
19
+ Pivot = 2
20
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum BlockingObjects {
2
+ None = 0,
3
+ TwoDimensional = 1,
4
+ ThreeDimensional = 2,
5
+ All = 3
6
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Render mode for ui canvas.
3
+ */
4
+ export declare enum CanvasRenderMode {
5
+ ScreenSpaceOverlay = 0,
6
+ ScreenSpaceCamera = 1,
7
+ WorldSpace = 2
8
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Resolution adaptation strategy.
3
+ */
4
+ export declare enum ResolutionAdaptationStrategy {
5
+ WidthAdaptation = 0,
6
+ HeightAdaptation = 1,
7
+ BothAdaptation = 2,
8
+ ExpandAdaptation = 3,
9
+ ShrinkAdaptation = 4
10
+ }
@@ -0,0 +1,6 @@
1
+ export { CanvasRenderMode } from "./enums/CanvasRenderMode";
2
+ export { ResolutionAdaptationStrategy } from "./enums/ResolutionAdaptationStrategy";
3
+ export { UICanvas } from "./UICanvas";
4
+ export { UIRenderer } from "./UIRenderer";
5
+ export { Image } from "./Image";
6
+ export { UITransform } from "./UITransform";
@@ -0,0 +1,10 @@
1
+ import { IPoolElement, ObjectPool } from "./ObjectPool";
2
+ /**
3
+ * Clearable Object Pool.
4
+ */
5
+ export declare class ClearableObjectPool<T extends IPoolElement> extends ObjectPool<T> {
6
+ private _usedElementCount;
7
+ constructor(type: new () => T);
8
+ get(): T;
9
+ clear(): void;
10
+ }
@@ -0,0 +1,10 @@
1
+ export declare abstract class ObjectPool<T extends IPoolElement> {
2
+ protected _type: new () => T;
3
+ protected _elements: T[];
4
+ constructor(type: new () => T);
5
+ garbageCollection(): void;
6
+ abstract get(): T;
7
+ }
8
+ export interface IPoolElement {
9
+ dispose?(): void;
10
+ }
@@ -0,0 +1,12 @@
1
+ export interface IPoolElement {
2
+ dispose?(): void;
3
+ }
4
+ export declare class Pool<T extends IPoolElement> {
5
+ private _type;
6
+ private _elementPool;
7
+ private _elementPoolIndex;
8
+ constructor(type: new () => T, count?: number);
9
+ alloc(): T;
10
+ free(element: T): void;
11
+ dispose(): void;
12
+ }
@@ -0,0 +1,10 @@
1
+ import { IPoolElement, ObjectPool } from "./ObjectPool";
2
+ /**
3
+ * Returnable Object Pool.
4
+ */
5
+ export declare class ReturnableObjectPool<T extends IPoolElement> extends ObjectPool<T> {
6
+ private _lastElementIndex;
7
+ constructor(type: new () => T, initializeCount?: number);
8
+ get(): T;
9
+ return(element: T): void;
10
+ }
@@ -1,17 +0,0 @@
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 { IPoolElement } from "./IPoolElement";
6
- import { RenderData } from "./RenderData";
7
- /**
8
- * Render element.
9
- */
10
- export declare class MeshRenderData extends RenderData implements IPoolElement {
11
- /** Mesh. */
12
- mesh: Mesh;
13
- /** Sub mesh. */
14
- subMesh: SubMesh;
15
- set(component: Renderer, material: Material, mesh: Mesh, subMesh: SubMesh): void;
16
- dispose(): void;
17
- }