@gg-web-engine/core 0.0.57 → 0.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/2d/components/physics/i-physics-world-2d.component.d.ts +1 -1
- package/dist/2d/components/physics/i-rigid-body-2d.component.d.ts +1 -1
- package/dist/2d/components/physics/i-trigger-2d.component.d.ts +3 -3
- package/dist/2d/components/rendering/i-camera-2d.component.d.ts +5 -0
- package/dist/2d/components/rendering/i-display-object-2d.component.d.ts +1 -1
- package/dist/2d/components/rendering/i-renderer-2d.component.d.ts +1 -1
- package/dist/2d/components/rendering/i-visual-scene-2d.component.d.ts +2 -3
- package/dist/2d/entities/controllers/entity-2d-positioning.animator.d.ts +2 -2
- package/dist/2d/entities/entity-2d.d.ts +7 -7
- package/dist/2d/entities/i-renderable-2d.entity.d.ts +4 -4
- package/dist/2d/entities/renderer-2d.entity.d.ts +2 -1
- package/dist/2d/entities/trigger-2d.entity.d.ts +8 -4
- package/dist/2d/factories.d.ts +7 -7
- package/dist/2d/gg-2d-world.d.ts +38 -6
- package/dist/2d/gg-2d-world.js +27 -21
- package/dist/2d/index.d.ts +3 -0
- package/dist/2d/index.js +3 -0
- package/dist/2d/level-loader.d.ts +101 -0
- package/dist/2d/level-loader.js +88 -0
- package/dist/2d/loader.d.ts +11 -0
- package/dist/2d/loader.js +10 -0
- package/dist/3d/components/physics/i-physics-world-3d.component.d.ts +5 -5
- package/dist/3d/components/physics/i-raycast-vehicle.component.d.ts +1 -1
- package/dist/3d/components/physics/i-rigid-body-3d.component.d.ts +1 -1
- package/dist/3d/components/physics/i-trigger-3d.component.d.ts +3 -3
- package/dist/3d/components/rendering/{i-camera.component.d.ts → i-camera-3d.component.d.ts} +1 -1
- package/dist/3d/components/rendering/i-camera-3d.component.js +1 -0
- package/dist/3d/components/rendering/i-display-object-3d.component.d.ts +1 -1
- package/dist/3d/components/rendering/i-renderer-3d.component.d.ts +1 -2
- package/dist/3d/components/rendering/i-visual-scene-3d.component.d.ts +3 -4
- package/dist/3d/entities/camera-3d.entity.d.ts +24 -0
- package/dist/3d/entities/camera-3d.entity.js +35 -0
- package/dist/3d/entities/controllers/animators/camera-3d.animator.d.ts +3 -3
- package/dist/3d/entities/controllers/animators/entity-3d-positioning.animator.d.ts +2 -2
- package/dist/3d/entities/entity-3d.d.ts +6 -6
- package/dist/3d/entities/gg-car/gg-car.entity.d.ts +5 -5
- package/dist/3d/entities/i-renderable-3d.entity.d.ts +4 -4
- package/dist/3d/entities/map-graph-3d.entity.d.ts +6 -6
- package/dist/3d/entities/raycast-vehicle-3d.entity.d.ts +3 -3
- package/dist/3d/entities/renderer-3d.entity.d.ts +1 -6
- package/dist/3d/entities/renderer-3d.entity.js +0 -15
- package/dist/3d/entities/surface-following.entity.d.ts +3 -3
- package/dist/3d/entities/surface-following.entity.js +3 -0
- package/dist/3d/entities/trigger-3d.entity.d.ts +8 -4
- package/dist/3d/factories.d.ts +14 -14
- package/dist/3d/gg-3d-world.d.ts +37 -9
- package/dist/3d/gg-3d-world.js +23 -19
- package/dist/3d/index.d.ts +3 -1
- package/dist/3d/index.js +3 -1
- package/dist/3d/level-loader.d.ts +300 -0
- package/dist/3d/level-loader.js +267 -0
- package/dist/3d/loader.d.ts +55 -14
- package/dist/3d/loader.js +37 -8
- package/dist/3d/loaders.d.ts +4 -4
- package/dist/base/blueprint/blueprint-node.d.ts +75 -0
- package/dist/base/blueprint/blueprint-node.js +51 -0
- package/dist/base/blueprint/blueprint.d.ts +123 -0
- package/dist/base/blueprint/blueprint.js +86 -0
- package/dist/base/blueprint/nodes/remove-entity.node.d.ts +26 -0
- package/dist/base/blueprint/nodes/remove-entity.node.js +29 -0
- package/dist/base/components/i-world-component.d.ts +5 -5
- package/dist/base/components/physics/i-body.component.d.ts +5 -5
- package/dist/base/components/physics/i-physics-world.component.d.ts +13 -5
- package/dist/base/components/physics/i-rigid-body.component.d.ts +2 -2
- package/dist/base/components/physics/i-trigger.component.d.ts +4 -4
- package/dist/base/components/rendering/i-display-object.component.d.ts +6 -6
- package/dist/base/components/rendering/i-renderer.component.d.ts +5 -4
- package/dist/base/components/rendering/i-visual-scene.component.d.ts +4 -2
- package/dist/base/entities/controllers/animation-mixer.d.ts +3 -3
- package/dist/base/entities/group.entity.d.ts +17 -0
- package/dist/base/entities/group.entity.js +19 -0
- package/dist/base/entities/i-entity.d.ts +19 -8
- package/dist/base/entities/i-entity.js +28 -0
- package/dist/base/entities/i-renderable.entity.d.ts +2 -2
- package/dist/base/entities/i-renderer.entity.d.ts +11 -5
- package/dist/base/entities/i-renderer.entity.js +15 -0
- package/dist/base/gg-world.d.ts +42 -5
- package/dist/base/gg-world.js +45 -10
- package/dist/base/index.d.ts +6 -0
- package/dist/base/index.js +6 -0
- package/dist/base/inputs/mouse.input.js +1 -0
- package/dist/base/level-loader.d.ts +217 -0
- package/dist/base/level-loader.js +258 -0
- package/dist/base/math/numbers.d.ts +2 -1
- package/dist/base/math/numbers.js +7 -1
- package/dist/base/math/point2.d.ts +17 -1
- package/dist/base/math/point2.js +35 -0
- package/dist/base/math/point3.d.ts +2 -0
- package/dist/base/math/point3.js +15 -1
- package/dist/base/models/points.d.ts +20 -16
- package/dist/base/models/raycasting.d.ts +52 -0
- package/dist/base/models/raycasting.js +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/tsconfig.json +3 -1
- /package/dist/{3d/components/rendering/i-camera.component.js → 2d/components/rendering/i-camera-2d.component.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IDisplayObject3dComponent } from './i-display-object-3d.component';
|
|
2
2
|
import { VisualTypeDocRepo3D } from '../../gg-3d-world';
|
|
3
|
-
export interface
|
|
3
|
+
export interface ICamera3dComponent<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends IDisplayObject3dComponent<VTypeDoc> {
|
|
4
4
|
get supportsFov(): boolean;
|
|
5
5
|
get fov(): number;
|
|
6
6
|
set fov(f: number);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IDisplayObjectComponent, Point3, Point4 } from '../../../base';
|
|
2
2
|
import { VisualTypeDocRepo3D } from '../../gg-3d-world';
|
|
3
|
-
export interface IDisplayObject3dComponent<
|
|
3
|
+
export interface IDisplayObject3dComponent<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends IDisplayObjectComponent<Point3, Point4, VTypeDoc> {
|
|
4
4
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { IRendererComponent, Point3, Point4 } from '../../../base';
|
|
2
2
|
import { VisualTypeDocRepo3D } from '../../gg-3d-world';
|
|
3
|
-
export declare abstract class IRenderer3dComponent<
|
|
4
|
-
abstract camera: TypeDoc['camera'];
|
|
3
|
+
export declare abstract class IRenderer3dComponent<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends IRendererComponent<Point3, Point4, VTypeDoc> {
|
|
5
4
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IVisualSceneComponent, Point3, Point4
|
|
1
|
+
import { IVisualSceneComponent, Point3, Point4 } from '../../../base';
|
|
2
2
|
import { VisualTypeDocRepo3D } from '../../gg-3d-world';
|
|
3
|
-
export interface IVisualScene3dComponent<
|
|
4
|
-
readonly loader:
|
|
5
|
-
createRenderer(camera: TypeDoc['camera'], canvas?: HTMLCanvasElement, rendererOptions?: Partial<RendererOptions & TypeDoc['rendererExtraOpts']>): TypeDoc['renderer'];
|
|
3
|
+
export interface IVisualScene3dComponent<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends IVisualSceneComponent<Point3, Point4, VTypeDoc> {
|
|
4
|
+
readonly loader: VTypeDoc['loader'];
|
|
6
5
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IPositionable3d } from '../interfaces/i-positionable-3d';
|
|
2
|
+
import { IEntity, Point3, Point4, TickOrder } from '../../base';
|
|
3
|
+
import { Gg3dWorldTypeDocVPatch, VisualTypeDocRepo3D } from '../gg-3d-world';
|
|
4
|
+
/**
|
|
5
|
+
* A positioned entity wrapping a camera component (`VTypeDoc['camera']`, e.g. the adapter-specific
|
|
6
|
+
* camera type an app's `TypedGg3dWorld` uses) - not attached to any renderer/canvas itself (pass
|
|
7
|
+
* `.camera` to `Gg3dWorld.addRenderer` for that), but addressable in the world/entity trees like
|
|
8
|
+
* any other entity: `world.addEntity`/`getEntityByName`, `IEntity.getChildEntityByName`,
|
|
9
|
+
* `removeEntity`.
|
|
10
|
+
* @template VTypeDoc - The visual type document repository (parametrize this the same way an
|
|
11
|
+
* app's world type is, e.g. `Camera3dEntity<ThreeVisualTypeDocRepo>`, so `.camera` comes back as
|
|
12
|
+
* the adapter-specific camera type rather than the unbound base `ICamera3dComponent`)
|
|
13
|
+
*/
|
|
14
|
+
export declare class Camera3dEntity<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends IEntity<Point3, Point4, Gg3dWorldTypeDocVPatch<VTypeDoc>> implements IPositionable3d {
|
|
15
|
+
readonly camera: VTypeDoc['camera'];
|
|
16
|
+
readonly tickOrder = TickOrder.OBJECTS_BINDING;
|
|
17
|
+
private _position;
|
|
18
|
+
get position(): Point3;
|
|
19
|
+
set position(value: Point3);
|
|
20
|
+
private _rotation;
|
|
21
|
+
get rotation(): Point4;
|
|
22
|
+
set rotation(value: Point4);
|
|
23
|
+
constructor(camera: VTypeDoc['camera']);
|
|
24
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IEntity, Pnt3, Qtrn, TickOrder } from '../../base';
|
|
2
|
+
/**
|
|
3
|
+
* A positioned entity wrapping a camera component (`VTypeDoc['camera']`, e.g. the adapter-specific
|
|
4
|
+
* camera type an app's `TypedGg3dWorld` uses) - not attached to any renderer/canvas itself (pass
|
|
5
|
+
* `.camera` to `Gg3dWorld.addRenderer` for that), but addressable in the world/entity trees like
|
|
6
|
+
* any other entity: `world.addEntity`/`getEntityByName`, `IEntity.getChildEntityByName`,
|
|
7
|
+
* `removeEntity`.
|
|
8
|
+
* @template VTypeDoc - The visual type document repository (parametrize this the same way an
|
|
9
|
+
* app's world type is, e.g. `Camera3dEntity<ThreeVisualTypeDocRepo>`, so `.camera` comes back as
|
|
10
|
+
* the adapter-specific camera type rather than the unbound base `ICamera3dComponent`)
|
|
11
|
+
*/
|
|
12
|
+
export class Camera3dEntity extends IEntity {
|
|
13
|
+
get position() {
|
|
14
|
+
return this._position;
|
|
15
|
+
}
|
|
16
|
+
set position(value) {
|
|
17
|
+
this.camera.position = value;
|
|
18
|
+
this._position = value;
|
|
19
|
+
}
|
|
20
|
+
get rotation() {
|
|
21
|
+
return this._rotation;
|
|
22
|
+
}
|
|
23
|
+
set rotation(value) {
|
|
24
|
+
this.camera.rotation = value;
|
|
25
|
+
this._rotation = value;
|
|
26
|
+
}
|
|
27
|
+
constructor(camera) {
|
|
28
|
+
super();
|
|
29
|
+
this.camera = camera;
|
|
30
|
+
this.tickOrder = TickOrder.OBJECTS_BINDING;
|
|
31
|
+
this._position = Pnt3.O;
|
|
32
|
+
this._rotation = Qtrn.O;
|
|
33
|
+
this.addComponents(this.camera);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnimationFunction, AnimationMixer, Point3, Point4 } from '../../../../base';
|
|
2
|
-
import { Gg3dWorld, VisualTypeDocRepo3D } from '../../../gg-3d-world';
|
|
2
|
+
import { Gg3dWorld, Gg3dWorldTypeDocVPatch, VisualTypeDocRepo3D } from '../../../gg-3d-world';
|
|
3
3
|
import { Renderer3dEntity } from '../../renderer-3d.entity';
|
|
4
4
|
export type Camera3dAnimationArgs = {
|
|
5
5
|
position: Point3;
|
|
@@ -7,10 +7,10 @@ export type Camera3dAnimationArgs = {
|
|
|
7
7
|
up?: Point3;
|
|
8
8
|
fov?: number;
|
|
9
9
|
};
|
|
10
|
-
export declare class Camera3dAnimator<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends AnimationMixer<Camera3dAnimationArgs, Point3, Point4, VTypeDoc
|
|
10
|
+
export declare class Camera3dAnimator<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends AnimationMixer<Camera3dAnimationArgs, Point3, Point4, Gg3dWorldTypeDocVPatch<VTypeDoc>> {
|
|
11
11
|
entity: Renderer3dEntity<VTypeDoc>;
|
|
12
12
|
protected _animationFunction: AnimationFunction<Camera3dAnimationArgs>;
|
|
13
13
|
constructor(entity: Renderer3dEntity<VTypeDoc>, _animationFunction: AnimationFunction<Camera3dAnimationArgs>);
|
|
14
|
-
onSpawned(world: Gg3dWorld<VTypeDoc
|
|
14
|
+
onSpawned(world: Gg3dWorld<Gg3dWorldTypeDocVPatch<VTypeDoc>>): void;
|
|
15
15
|
protected applyPositioning(value: Camera3dAnimationArgs): void;
|
|
16
16
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AnimationFunction, AnimationMixer, Point3, Point4 } from '../../../../base';
|
|
2
|
-
import { Gg3dWorld,
|
|
2
|
+
import { Gg3dWorld, Gg3dWorldTypeDocRepo } from '../../../gg-3d-world';
|
|
3
3
|
import { IPositionable3d } from '../../../interfaces/i-positionable-3d';
|
|
4
4
|
type Positioning3d = {
|
|
5
5
|
position: Point3;
|
|
6
6
|
rotation: Point4;
|
|
7
7
|
};
|
|
8
|
-
export declare class Entity3dPositioningAnimator<T extends IPositionable3d = IPositionable3d> extends AnimationMixer<Positioning3d, Point3, Point4,
|
|
8
|
+
export declare class Entity3dPositioningAnimator<T extends IPositionable3d = IPositionable3d> extends AnimationMixer<Positioning3d, Point3, Point4, Gg3dWorldTypeDocRepo> {
|
|
9
9
|
entity: T;
|
|
10
10
|
protected _animationFunction: AnimationFunction<Positioning3d>;
|
|
11
11
|
constructor(entity: T, _animationFunction: AnimationFunction<Positioning3d>);
|
|
@@ -3,8 +3,8 @@ import { IRigidBody3dComponent } from '../components/physics/i-rigid-body-3d.com
|
|
|
3
3
|
import { IDisplayObject3dComponent } from '../components/rendering/i-display-object-3d.component';
|
|
4
4
|
import { IPositionable3d } from '../interfaces/i-positionable-3d';
|
|
5
5
|
import { IRenderable3dEntity } from './i-renderable-3d.entity';
|
|
6
|
-
import {
|
|
7
|
-
export declare class Entity3d<
|
|
6
|
+
import { Gg3dWorldTypeDocRepo } from '../gg-3d-world';
|
|
7
|
+
export declare class Entity3d<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo> extends IRenderable3dEntity<TypeDoc> implements IPositionable3d {
|
|
8
8
|
readonly tickOrder = TickOrder.OBJECTS_BINDING;
|
|
9
9
|
private _position;
|
|
10
10
|
get position(): Point3;
|
|
@@ -12,15 +12,15 @@ export declare class Entity3d<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeD
|
|
|
12
12
|
private _rotation;
|
|
13
13
|
get rotation(): Point4;
|
|
14
14
|
set rotation(value: Point4);
|
|
15
|
-
readonly object3D:
|
|
16
|
-
readonly objectBody:
|
|
15
|
+
readonly object3D: TypeDoc['vTypeDoc']['displayObject'] | null;
|
|
16
|
+
readonly objectBody: TypeDoc['pTypeDoc']['rigidBody'] | null;
|
|
17
17
|
updateVisibility(): void;
|
|
18
18
|
/**
|
|
19
19
|
* Synchronize physics body transform with entity (and mesh if defined)
|
|
20
20
|
* */
|
|
21
21
|
protected runTransformBinding(objectBody: IRigidBody3dComponent, object3D: IDisplayObject3dComponent | null): void;
|
|
22
22
|
constructor(options: {
|
|
23
|
-
object3D?:
|
|
24
|
-
objectBody?:
|
|
23
|
+
object3D?: TypeDoc['vTypeDoc']['displayObject'] | null;
|
|
24
|
+
objectBody?: TypeDoc['pTypeDoc']['rigidBody'] | null;
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RaycastVehicle3dEntity, RVEntityProperties } from '../raycast-vehicle-3d.entity';
|
|
2
|
-
import { Gg3dWorld,
|
|
2
|
+
import { Gg3dWorld, Gg3dWorldTypeDocRepo } from '../../gg-3d-world';
|
|
3
3
|
import { IRenderable3dEntity } from '../i-renderable-3d.entity';
|
|
4
4
|
import { IPositionable3d } from '../../interfaces/i-positionable-3d';
|
|
5
5
|
import { Point3, Point4 } from '../../../base';
|
|
@@ -32,7 +32,7 @@ export type GgCarProperties = RVEntityProperties & {
|
|
|
32
32
|
};
|
|
33
33
|
maxSteerAngle: number;
|
|
34
34
|
};
|
|
35
|
-
export declare class GgCarEntity<
|
|
35
|
+
export declare class GgCarEntity<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo, RVEntity extends RaycastVehicle3dEntity<TypeDoc> = RaycastVehicle3dEntity<TypeDoc>> extends IRenderable3dEntity<TypeDoc> implements IPositionable3d {
|
|
36
36
|
readonly carProperties: GgCarProperties;
|
|
37
37
|
readonly tickOrder: number;
|
|
38
38
|
get position(): Point3;
|
|
@@ -69,9 +69,9 @@ export declare class GgCarEntity<VTypeDoc extends VisualTypeDocRepo3D = VisualTy
|
|
|
69
69
|
set gear(value: number);
|
|
70
70
|
set isHonking(value: boolean);
|
|
71
71
|
readonly raycastVehicle: RVEntity;
|
|
72
|
-
constructor(carProperties: GgCarProperties, chassis3D:
|
|
73
|
-
protected createRaycastVehicle(carProperties: GgCarProperties, chassis3D:
|
|
74
|
-
onSpawned(world: Gg3dWorld<
|
|
72
|
+
constructor(carProperties: GgCarProperties, chassis3D: TypeDoc['vTypeDoc']['displayObject'] | null, chassisBody: TypeDoc['pTypeDoc']['raycastVehicle']);
|
|
73
|
+
protected createRaycastVehicle(carProperties: GgCarProperties, chassis3D: TypeDoc['vTypeDoc']['displayObject'] | null, chassisBody: TypeDoc['pTypeDoc']['raycastVehicle']): RVEntity;
|
|
74
|
+
onSpawned(world: Gg3dWorld<TypeDoc>): void;
|
|
75
75
|
protected updateEngine(delta: number): void;
|
|
76
76
|
resetTo(options?: {
|
|
77
77
|
position?: Point3;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IRenderableEntity, Point3, Point4 } from '../../base';
|
|
2
|
-
import { Gg3dWorld,
|
|
3
|
-
export declare abstract class IRenderable3dEntity<TypeDoc extends
|
|
4
|
-
protected _world: Gg3dWorld<TypeDoc
|
|
5
|
-
get world(): Gg3dWorld<TypeDoc
|
|
2
|
+
import { Gg3dWorld, Gg3dWorldTypeDocRepo } from '../gg-3d-world';
|
|
3
|
+
export declare abstract class IRenderable3dEntity<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo> extends IRenderableEntity<Point3, Point4, TypeDoc> {
|
|
4
|
+
protected _world: Gg3dWorld<TypeDoc> | null;
|
|
5
|
+
get world(): Gg3dWorld<TypeDoc> | null;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
2
2
|
import { Graph, IEntity, PausableClock, Point3, Point4, TickOrder } from '../../base';
|
|
3
|
-
import { Gg3dWorld,
|
|
3
|
+
import { Gg3dWorld, Gg3dWorldTypeDocRepo } from '../gg-3d-world';
|
|
4
4
|
import { Entity3d } from './entity-3d';
|
|
5
5
|
import { LoadOptions, LoadResultWithProps } from '../loader';
|
|
6
6
|
import { IPositionable3d } from '../interfaces/i-positionable-3d';
|
|
@@ -38,7 +38,7 @@ export type Gg3dMapGraphEntityOptions = {
|
|
|
38
38
|
inertia: number;
|
|
39
39
|
maxNodesLoadingPerTick: number;
|
|
40
40
|
};
|
|
41
|
-
export declare class MapGraph3dEntity<
|
|
41
|
+
export declare class MapGraph3dEntity<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo> extends IRenderable3dEntity<TypeDoc> {
|
|
42
42
|
readonly mapGraph: MapGraph;
|
|
43
43
|
readonly tickOrder = TickOrder.POST_RENDERING;
|
|
44
44
|
readonly loaderCursor$: BehaviorSubject<Point3>;
|
|
@@ -48,14 +48,14 @@ export declare class MapGraph3dEntity<VTypeDoc extends VisualTypeDocRepo3D = Vis
|
|
|
48
48
|
private _nearestDummy$;
|
|
49
49
|
get nearestDummy(): Graph<MapGraphNodeType> | null;
|
|
50
50
|
protected _chunkLoaded$: Subject<[
|
|
51
|
-
LoadResultWithProps<
|
|
51
|
+
LoadResultWithProps<TypeDoc>,
|
|
52
52
|
{
|
|
53
53
|
position: Point3;
|
|
54
54
|
rotation: Point4;
|
|
55
55
|
}
|
|
56
56
|
]>;
|
|
57
57
|
get chunkLoaded$(): Observable<[
|
|
58
|
-
LoadResultWithProps<
|
|
58
|
+
LoadResultWithProps<TypeDoc>,
|
|
59
59
|
{
|
|
60
60
|
position: Point3;
|
|
61
61
|
rotation: Point4;
|
|
@@ -68,8 +68,8 @@ export declare class MapGraph3dEntity<VTypeDoc extends VisualTypeDocRepo3D = Vis
|
|
|
68
68
|
get loadRateLimit(): number;
|
|
69
69
|
set loadRateLimit(value: number);
|
|
70
70
|
constructor(mapGraph: MapGraph, options?: Partial<Gg3dMapGraphEntityOptions>);
|
|
71
|
-
onSpawned(world: Gg3dWorld<
|
|
71
|
+
onSpawned(world: Gg3dWorld<TypeDoc>): void;
|
|
72
72
|
onRemoved(): void;
|
|
73
|
-
protected loadChunk(node: MapGraphNodeType): Promise<[Entity3d<
|
|
73
|
+
protected loadChunk(node: MapGraphNodeType): Promise<[Entity3d<TypeDoc>[], LoadResultWithProps<TypeDoc>]>;
|
|
74
74
|
protected disposeChunk(node: MapGraphNodeType): void;
|
|
75
75
|
}
|
|
@@ -3,7 +3,7 @@ import { Entity3d } from './entity-3d';
|
|
|
3
3
|
import { IDisplayObject3dComponent } from '../components/rendering/i-display-object-3d.component';
|
|
4
4
|
import { IRaycastVehicleComponent, SuspensionOptions } from '../components/physics/i-raycast-vehicle.component';
|
|
5
5
|
import { IRigidBody3dComponent } from '../components/physics/i-rigid-body-3d.component';
|
|
6
|
-
import {
|
|
6
|
+
import { Gg3dWorldTypeDocRepo } from '../gg-3d-world';
|
|
7
7
|
export type WheelDisplayOptions = {
|
|
8
8
|
displayObject?: IDisplayObject3dComponent;
|
|
9
9
|
wheelObjectDirection?: AxisDirection3;
|
|
@@ -43,11 +43,11 @@ export type RVEntityProperties = {
|
|
|
43
43
|
})[];
|
|
44
44
|
sharedWheelOptions?: RVEntitySharedWheelOptions;
|
|
45
45
|
});
|
|
46
|
-
export declare class RaycastVehicle3dEntity<
|
|
46
|
+
export declare class RaycastVehicle3dEntity<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo> extends Entity3d<TypeDoc> {
|
|
47
47
|
readonly carProperties: RVEntityProperties;
|
|
48
48
|
readonly chassis3D: IDisplayObject3dComponent | null;
|
|
49
49
|
readonly vehicleComponent: IRaycastVehicleComponent;
|
|
50
|
-
protected readonly wheels: (Entity3d<
|
|
50
|
+
protected readonly wheels: (Entity3d<TypeDoc> | null)[];
|
|
51
51
|
protected readonly wheelLocalRotation: (Point4 | null)[];
|
|
52
52
|
protected readonly frontWheelsIndices: number[];
|
|
53
53
|
protected readonly rearWheelsIndices: number[];
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { IRendererEntity, Point3, Point4 } from '../../base';
|
|
2
2
|
import { IPositionable3d } from '../interfaces/i-positionable-3d';
|
|
3
3
|
import { VisualTypeDocRepo3D } from '../gg-3d-world';
|
|
4
|
-
export declare class Renderer3dEntity<
|
|
5
|
-
get position(): Point3;
|
|
6
|
-
set position(value: Point3);
|
|
7
|
-
get rotation(): Point4;
|
|
8
|
-
set rotation(value: Point4);
|
|
9
|
-
get camera(): TypeDoc['camera'];
|
|
4
|
+
export declare class Renderer3dEntity<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> extends IRendererEntity<Point3, Point4, VTypeDoc> implements IPositionable3d {
|
|
10
5
|
}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
1
|
import { IRendererEntity } from '../../base';
|
|
2
2
|
export class Renderer3dEntity extends IRendererEntity {
|
|
3
|
-
get position() {
|
|
4
|
-
return this.renderer.camera.position;
|
|
5
|
-
}
|
|
6
|
-
set position(value) {
|
|
7
|
-
this.renderer.camera.position = value;
|
|
8
|
-
}
|
|
9
|
-
get rotation() {
|
|
10
|
-
return this.renderer.camera.rotation;
|
|
11
|
-
}
|
|
12
|
-
set rotation(value) {
|
|
13
|
-
this.renderer.camera.rotation = value;
|
|
14
|
-
}
|
|
15
|
-
get camera() {
|
|
16
|
-
return this.renderer.camera;
|
|
17
|
-
}
|
|
18
3
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BodyOptions, IEntity, Point3, Point4 } from '../../base';
|
|
2
|
-
import { Gg3dWorld,
|
|
2
|
+
import { Gg3dWorld, Gg3dWorldTypeDocPPatch, PhysicsTypeDocRepo3D } from '../gg-3d-world';
|
|
3
3
|
import { Shape3DDescriptor } from '../models/shapes';
|
|
4
4
|
/**
|
|
5
5
|
* Represents a function that calculates the surface position and normal
|
|
@@ -15,7 +15,7 @@ export type SurfaceFollowFunc = (p: Point3) => {
|
|
|
15
15
|
*
|
|
16
16
|
* @template PTypeDoc - The physics type document repository.
|
|
17
17
|
*/
|
|
18
|
-
export declare class SurfaceFollowingEntity<PTypeDoc extends PhysicsTypeDocRepo3D = PhysicsTypeDocRepo3D> extends IEntity<Point3, Point4,
|
|
18
|
+
export declare class SurfaceFollowingEntity<PTypeDoc extends PhysicsTypeDocRepo3D = PhysicsTypeDocRepo3D> extends IEntity<Point3, Point4, Gg3dWorldTypeDocPPatch<PTypeDoc>> {
|
|
19
19
|
/** Function that determines surface position and normal. */
|
|
20
20
|
followFunc: SurfaceFollowFunc;
|
|
21
21
|
/** Optional body configuration. */
|
|
@@ -61,7 +61,7 @@ export declare class SurfaceFollowingEntity<PTypeDoc extends PhysicsTypeDocRepo3
|
|
|
61
61
|
*
|
|
62
62
|
* @param world - The game world instance.
|
|
63
63
|
*/
|
|
64
|
-
onSpawned(world: Gg3dWorld<
|
|
64
|
+
onSpawned(world: Gg3dWorld<Gg3dWorldTypeDocPPatch<PTypeDoc>>): void;
|
|
65
65
|
private customGlobalDebugDummyBody;
|
|
66
66
|
/**
|
|
67
67
|
* Updates debug visualization if active.
|
|
@@ -93,6 +93,9 @@ export class SurfaceFollowingEntity extends IEntity {
|
|
|
93
93
|
* @param world - The game world instance.
|
|
94
94
|
*/
|
|
95
95
|
onSpawned(world) {
|
|
96
|
+
if (!world.physicsWorld) {
|
|
97
|
+
throw new Error('Cannot add surface following entity to the world without physics');
|
|
98
|
+
}
|
|
96
99
|
super.onSpawned(world);
|
|
97
100
|
for (const [collider] of this.colliders.entries()) {
|
|
98
101
|
this.setupCollider(collider);
|
|
@@ -2,12 +2,16 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { ITrigger3dComponent } from '../components/physics/i-trigger-3d.component';
|
|
3
3
|
import { IPositionable3d } from '../interfaces/i-positionable-3d';
|
|
4
4
|
import { IEntity, Point3, Point4, TickOrder } from '../../base';
|
|
5
|
-
import {
|
|
6
|
-
export declare class Trigger3dEntity<
|
|
5
|
+
import { Gg3dWorldTypeDocPPatch, Gg3dWorldTypeDocRepo, PhysicsTypeDocRepo3D } from '../gg-3d-world';
|
|
6
|
+
export declare class Trigger3dEntity<PTypeDoc extends PhysicsTypeDocRepo3D = PhysicsTypeDocRepo3D> extends IEntity<Point3, Point4, Gg3dWorldTypeDocPPatch<PTypeDoc>> implements IPositionable3d {
|
|
7
7
|
readonly objectBody: ITrigger3dComponent;
|
|
8
8
|
readonly tickOrder = TickOrder.OBJECTS_BINDING;
|
|
9
|
-
get onEntityEntered(): Observable<IEntity<Point3, Point4,
|
|
10
|
-
|
|
9
|
+
get onEntityEntered(): Observable<IEntity<Point3, Point4, Gg3dWorldTypeDocRepo & {
|
|
10
|
+
pTypeDoc: PTypeDoc;
|
|
11
|
+
}> & IPositionable3d>;
|
|
12
|
+
get onEntityLeft(): Observable<(IEntity<Point3, Point4, Gg3dWorldTypeDocRepo & {
|
|
13
|
+
pTypeDoc: PTypeDoc;
|
|
14
|
+
}> & IPositionable3d) | null>;
|
|
11
15
|
private _position;
|
|
12
16
|
get position(): Point3;
|
|
13
17
|
set position(value: Point3);
|
package/dist/3d/factories.d.ts
CHANGED
|
@@ -8,32 +8,32 @@ export type DisplayObject3dOpts<Tex> = {
|
|
|
8
8
|
castShadow?: boolean;
|
|
9
9
|
receiveShadow?: boolean;
|
|
10
10
|
};
|
|
11
|
-
export declare abstract class IDisplayObject3dComponentFactory<
|
|
12
|
-
abstract createPrimitive(descriptor: Shape3DMeshDescriptor, material?: DisplayObject3dOpts<
|
|
13
|
-
abstract createPerspectiveCamera(settings
|
|
11
|
+
export declare abstract class IDisplayObject3dComponentFactory<VTypeDoc extends VisualTypeDocRepo3D = VisualTypeDocRepo3D> {
|
|
12
|
+
abstract createPrimitive(descriptor: Shape3DMeshDescriptor, material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
13
|
+
abstract createPerspectiveCamera(settings?: {
|
|
14
14
|
fov?: number;
|
|
15
15
|
aspectRatio?: number;
|
|
16
16
|
frustrum?: {
|
|
17
17
|
near: number;
|
|
18
18
|
far: number;
|
|
19
19
|
};
|
|
20
|
-
}):
|
|
20
|
+
}): VTypeDoc['camera'];
|
|
21
21
|
randomColor(): number;
|
|
22
|
-
createPlane(material?: DisplayObject3dOpts<
|
|
23
|
-
createBox(dimensions: Point3, material?: DisplayObject3dOpts<
|
|
24
|
-
createCapsule(radius: number, centersDistance: number, material?: DisplayObject3dOpts<
|
|
25
|
-
createCylinder(radius: number, height: number, material?: DisplayObject3dOpts<
|
|
26
|
-
createCone(radius: number, height: number, material?: DisplayObject3dOpts<
|
|
27
|
-
createSphere(radius: number, material?: DisplayObject3dOpts<
|
|
22
|
+
createPlane(material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
23
|
+
createBox(dimensions: Point3, material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
24
|
+
createCapsule(radius: number, centersDistance: number, material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
25
|
+
createCylinder(radius: number, height: number, material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
26
|
+
createCone(radius: number, height: number, material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
27
|
+
createSphere(radius: number, material?: DisplayObject3dOpts<VTypeDoc['texture']>): VTypeDoc['displayObject'];
|
|
28
28
|
}
|
|
29
|
-
export interface IPhysicsBody3dComponentFactory<
|
|
29
|
+
export interface IPhysicsBody3dComponentFactory<PTypeDoc extends PhysicsTypeDocRepo3D = PhysicsTypeDocRepo3D> {
|
|
30
30
|
createRigidBody(descriptor: BodyShape3DDescriptor, transform?: {
|
|
31
31
|
position?: Point3;
|
|
32
32
|
rotation?: Point4;
|
|
33
|
-
}):
|
|
33
|
+
}): PTypeDoc['rigidBody'];
|
|
34
34
|
createTrigger(descriptor: Shape3DDescriptor, transform?: {
|
|
35
35
|
position?: Point3;
|
|
36
36
|
rotation?: Point4;
|
|
37
|
-
}):
|
|
38
|
-
createRaycastVehicle(chassis:
|
|
37
|
+
}): PTypeDoc['trigger'];
|
|
38
|
+
createRaycastVehicle(chassis: PTypeDoc['rigidBody']): PTypeDoc['raycastVehicle'];
|
|
39
39
|
}
|
package/dist/3d/gg-3d-world.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Entity3d } from './entities/entity-3d';
|
|
|
4
4
|
import { BodyShape3DDescriptor } from './models/shapes';
|
|
5
5
|
import { IVisualScene3dComponent } from './components/rendering/i-visual-scene-3d.component';
|
|
6
6
|
import { Renderer3dEntity } from './entities/renderer-3d.entity';
|
|
7
|
-
import {
|
|
7
|
+
import { ICamera3dComponent } from './components/rendering/i-camera-3d.component';
|
|
8
8
|
import { IRenderer3dComponent } from './components/rendering/i-renderer-3d.component';
|
|
9
9
|
import { IPhysicsWorld3dComponent } from './components/physics/i-physics-world-3d.component';
|
|
10
10
|
import { DisplayObject3dOpts, IDisplayObject3dComponentFactory, IPhysicsBody3dComponentFactory } from './factories';
|
|
@@ -19,7 +19,7 @@ export type VisualTypeDocRepo3D = {
|
|
|
19
19
|
displayObject: IDisplayObject3dComponent;
|
|
20
20
|
renderer: IRenderer3dComponent;
|
|
21
21
|
rendererExtraOpts: {};
|
|
22
|
-
camera:
|
|
22
|
+
camera: ICamera3dComponent;
|
|
23
23
|
texture: unknown;
|
|
24
24
|
};
|
|
25
25
|
export type PhysicsTypeDocRepo3D = {
|
|
@@ -29,13 +29,41 @@ export type PhysicsTypeDocRepo3D = {
|
|
|
29
29
|
trigger: ITrigger3dComponent;
|
|
30
30
|
raycastVehicle: IRaycastVehicleComponent;
|
|
31
31
|
};
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
export type Gg3dWorldTypeDocRepo = {
|
|
33
|
+
vTypeDoc: VisualTypeDocRepo3D;
|
|
34
|
+
pTypeDoc: PhysicsTypeDocRepo3D;
|
|
35
|
+
};
|
|
36
|
+
export type Gg3dWorldTypeDocVPatch<VTypeDoc extends VisualTypeDocRepo3D> = Omit<Gg3dWorldTypeDocRepo, 'vTypeDoc'> & {
|
|
37
|
+
vTypeDoc: VTypeDoc;
|
|
38
|
+
};
|
|
39
|
+
export type Gg3dWorldTypeDocPPatch<PTypeDoc extends PhysicsTypeDocRepo3D> = Omit<Gg3dWorldTypeDocRepo, 'pTypeDoc'> & {
|
|
40
|
+
pTypeDoc: PTypeDoc;
|
|
41
|
+
};
|
|
42
|
+
export type Gg3dWorldSceneTypeRepo<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo> = {
|
|
43
|
+
visualScene: IVisualScene3dComponent<TypeDoc['vTypeDoc']> | null;
|
|
44
|
+
physicsWorld: IPhysicsWorld3dComponent<TypeDoc['pTypeDoc']> | null;
|
|
45
|
+
};
|
|
46
|
+
export type Gg3dWorldSceneTypeDocVPatch<VTypeDoc extends VisualTypeDocRepo3D, VS extends IVisualScene3dComponent<VTypeDoc> | null> = Omit<Gg3dWorldSceneTypeRepo, 'visualScene'> & {
|
|
47
|
+
visualScene: VS;
|
|
48
|
+
};
|
|
49
|
+
export type Gg3dWorldSceneTypeDocPPatch<PTypeDoc extends PhysicsTypeDocRepo3D, PW extends IPhysicsWorld3dComponent<PTypeDoc> | null> = Omit<Gg3dWorldSceneTypeRepo, 'physicsWorld'> & {
|
|
50
|
+
physicsWorld: PW;
|
|
51
|
+
};
|
|
52
|
+
export type TypedGg3dWorld<VW extends Gg3dWorld<any> | null, PW extends Gg3dWorld<any> | null> = VW extends Gg3dWorld<infer VTD, infer VSTD> | null ? PW extends Gg3dWorld<infer PTD, infer PSTD> | null ? Gg3dWorld<{
|
|
53
|
+
vTypeDoc: VTD['vTypeDoc'];
|
|
54
|
+
pTypeDoc: PTD['pTypeDoc'];
|
|
55
|
+
}, {
|
|
56
|
+
visualScene: VSTD['visualScene'];
|
|
57
|
+
physicsWorld: PSTD['physicsWorld'];
|
|
58
|
+
}> : never : never;
|
|
59
|
+
export declare class Gg3dWorld<TypeDoc extends Gg3dWorldTypeDocRepo = Gg3dWorldTypeDocRepo, SceneTypeDoc extends Gg3dWorldSceneTypeRepo<TypeDoc> = Gg3dWorldSceneTypeRepo<TypeDoc>> extends GgWorld<Point3, Point4, TypeDoc, SceneTypeDoc> {
|
|
60
|
+
readonly loader: Gg3dLoader<TypeDoc>;
|
|
61
|
+
constructor(args: {
|
|
62
|
+
visualScene?: SceneTypeDoc['visualScene'];
|
|
63
|
+
physicsWorld?: SceneTypeDoc['physicsWorld'];
|
|
64
|
+
});
|
|
65
|
+
addPrimitiveRigidBody(descr: BodyShape3DDescriptor, position?: Point3, rotation?: Point4, material?: DisplayObject3dOpts<TypeDoc['vTypeDoc']['texture']>): Entity3d<TypeDoc>;
|
|
66
|
+
addRenderer(camera: TypeDoc['vTypeDoc']['camera'], canvas?: HTMLCanvasElement, rendererOptions?: Partial<RendererOptions & TypeDoc['vTypeDoc']['rendererExtraOpts']>): Renderer3dEntity<TypeDoc['vTypeDoc']>;
|
|
39
67
|
protected registerConsoleCommands(ggstatic: {
|
|
40
68
|
registerConsoleCommand: (world: GgWorld<any, any> | null, command: string, handler: (...args: string[]) => Promise<string>, doc?: string) => void;
|
|
41
69
|
}): void;
|
package/dist/3d/gg-3d-world.js
CHANGED
|
@@ -12,16 +12,15 @@ import { Gg3dLoader } from './loader';
|
|
|
12
12
|
import { Entity3d } from './entities/entity-3d';
|
|
13
13
|
import { Renderer3dEntity } from './entities/renderer-3d.entity';
|
|
14
14
|
export class Gg3dWorld extends GgWorld {
|
|
15
|
-
constructor(
|
|
16
|
-
super(
|
|
17
|
-
this.visualScene = visualScene;
|
|
18
|
-
this.physicsWorld = physicsWorld;
|
|
15
|
+
constructor(args) {
|
|
16
|
+
super(args);
|
|
19
17
|
this.loader = new Gg3dLoader(this);
|
|
20
18
|
}
|
|
21
19
|
addPrimitiveRigidBody(descr, position = Pnt3.O, rotation = Qtrn.O, material = {}) {
|
|
20
|
+
var _a, _b;
|
|
22
21
|
const entity = new Entity3d({
|
|
23
|
-
object3D: this.visualScene.factory.createPrimitive(descr.shape, material),
|
|
24
|
-
objectBody: this.physicsWorld.factory.createRigidBody(descr),
|
|
22
|
+
object3D: (_a = this.visualScene) === null || _a === void 0 ? void 0 : _a.factory.createPrimitive(descr.shape, material),
|
|
23
|
+
objectBody: (_b = this.physicsWorld) === null || _b === void 0 ? void 0 : _b.factory.createRigidBody(descr),
|
|
25
24
|
});
|
|
26
25
|
entity.position = position;
|
|
27
26
|
entity.rotation = rotation;
|
|
@@ -29,25 +28,30 @@ export class Gg3dWorld extends GgWorld {
|
|
|
29
28
|
return entity;
|
|
30
29
|
}
|
|
31
30
|
addRenderer(camera, canvas, rendererOptions) {
|
|
31
|
+
if (!this.visualScene) {
|
|
32
|
+
throw new Error('Cannot add renderer to the world without visual scene');
|
|
33
|
+
}
|
|
32
34
|
const entity = new Renderer3dEntity(this.visualScene.createRenderer(camera, canvas, rendererOptions));
|
|
33
35
|
this.addEntity(entity);
|
|
34
36
|
return entity;
|
|
35
37
|
}
|
|
36
38
|
registerConsoleCommands(ggstatic) {
|
|
37
39
|
super.registerConsoleCommands(ggstatic);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (args.length > 0) {
|
|
43
|
-
if (isNaN(+args[0]) || isNaN(+args[1]) || isNaN(+args[2])) {
|
|
44
|
-
throw new Error('Wrong arguments');
|
|
40
|
+
if (this.physicsWorld) {
|
|
41
|
+
ggstatic.registerConsoleCommand(this, 'gravity', (...args) => __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
if (args.length == 1) {
|
|
43
|
+
args = ['0', '0', '' + -+args[0]]; // mean -Z axis
|
|
45
44
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
if (args.length > 0) {
|
|
46
|
+
if (isNaN(+args[0]) || isNaN(+args[1]) || isNaN(+args[2])) {
|
|
47
|
+
throw new Error('Wrong arguments');
|
|
48
|
+
}
|
|
49
|
+
this.physicsWorld.gravity = { x: +args[0], y: +args[1], z: +args[2] };
|
|
50
|
+
}
|
|
51
|
+
return JSON.stringify(this.physicsWorld.gravity);
|
|
52
|
+
}), 'args: [ ?float, ?float, ?float ]; Get or set 3D world gravity vector. 1 argument sets ' +
|
|
53
|
+
'vector {x: 0, y: 0, z: -value}, 3 arguments set the whole vector.' +
|
|
54
|
+
' Default value is "9.82" or "0 0 -9.82"');
|
|
55
|
+
}
|
|
52
56
|
}
|
|
53
57
|
}
|
package/dist/3d/index.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ export * from './components/physics/i-rigid-body-3d.component';
|
|
|
3
3
|
export * from './components/physics/i-trigger-3d.component';
|
|
4
4
|
export * from './components/physics/i-physics-world-3d.component';
|
|
5
5
|
export * from './components/rendering/i-display-object-3d.component';
|
|
6
|
-
export * from './components/rendering/i-camera.component';
|
|
6
|
+
export * from './components/rendering/i-camera-3d.component';
|
|
7
7
|
export * from './components/rendering/i-renderer-3d.component';
|
|
8
8
|
export * from './components/rendering/i-visual-scene-3d.component';
|
|
9
9
|
export * from './entities/gg-car/gg-car.entity';
|
|
10
|
+
export * from './entities/camera-3d.entity';
|
|
10
11
|
export * from './entities/controllers/animators/camera-3d.animator';
|
|
11
12
|
export * from './entities/controllers/animators/entity-3d-positioning.animator';
|
|
12
13
|
export * from './entities/entity-3d';
|
|
@@ -28,3 +29,4 @@ export * from './loaders';
|
|
|
28
29
|
export * from './factories';
|
|
29
30
|
export * from './gg-3d-world';
|
|
30
31
|
export * from './loader';
|
|
32
|
+
export * from './level-loader';
|
package/dist/3d/index.js
CHANGED
|
@@ -3,10 +3,11 @@ export * from './components/physics/i-rigid-body-3d.component';
|
|
|
3
3
|
export * from './components/physics/i-trigger-3d.component';
|
|
4
4
|
export * from './components/physics/i-physics-world-3d.component';
|
|
5
5
|
export * from './components/rendering/i-display-object-3d.component';
|
|
6
|
-
export * from './components/rendering/i-camera.component';
|
|
6
|
+
export * from './components/rendering/i-camera-3d.component';
|
|
7
7
|
export * from './components/rendering/i-renderer-3d.component';
|
|
8
8
|
export * from './components/rendering/i-visual-scene-3d.component';
|
|
9
9
|
export * from './entities/gg-car/gg-car.entity';
|
|
10
|
+
export * from './entities/camera-3d.entity';
|
|
10
11
|
export * from './entities/controllers/animators/camera-3d.animator';
|
|
11
12
|
export * from './entities/controllers/animators/entity-3d-positioning.animator';
|
|
12
13
|
export * from './entities/entity-3d';
|
|
@@ -28,3 +29,4 @@ export * from './loaders';
|
|
|
28
29
|
export * from './factories';
|
|
29
30
|
export * from './gg-3d-world';
|
|
30
31
|
export * from './loader';
|
|
32
|
+
export * from './level-loader';
|