@gg-web-engine/core 0.0.3 → 0.0.4
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/entities/controllers/entity-2d-positioning.animator.js +1 -1
- package/dist/2d/entities/gg-2d-entity.d.ts +3 -5
- package/dist/2d/entities/gg-2d-entity.js +2 -3
- package/dist/3d/entities/controllers/animators/camera-3d.animator.d.ts +17 -0
- package/dist/3d/entities/controllers/animators/camera-3d.animator.js +32 -0
- package/dist/3d/entities/controllers/animators/entity-3d-positioning.animator.d.ts +16 -0
- package/dist/3d/entities/controllers/animators/entity-3d-positioning.animator.js +26 -0
- package/dist/3d/entities/controllers/input/car-keyboard-handling.controller.d.ts +25 -0
- package/dist/3d/entities/controllers/input/car-keyboard-handling.controller.js +105 -0
- package/dist/3d/entities/controllers/input/free-camera.controller.d.ts +54 -0
- package/dist/3d/entities/controllers/input/free-camera.controller.js +102 -0
- package/dist/3d/entities/gg-3d-entity.d.ts +3 -5
- package/dist/3d/entities/gg-3d-entity.js +2 -3
- package/dist/3d/entities/gg-3d-map-graph.entity.d.ts +3 -5
- package/dist/3d/entities/gg-3d-map-graph.entity.js +1 -2
- package/dist/3d/inputs/car-keyboard.input.d.ts +25 -0
- package/dist/3d/inputs/car-keyboard.input.js +100 -0
- package/dist/3d/inputs/free-camera.input.d.ts +22 -0
- package/dist/3d/inputs/free-camera.input.js +80 -0
- package/dist/base/clock/global-clock.d.ts +4 -3
- package/dist/base/clock/global-clock.js +2 -2
- package/dist/base/clock/i-clock.d.ts +7 -0
- package/dist/base/clock/i-clock.js +2 -0
- package/dist/base/clock/pausable-clock.d.ts +25 -0
- package/dist/base/clock/pausable-clock.js +79 -0
- package/dist/base/entities/base-gg-renderer.d.ts +3 -15
- package/dist/base/entities/base-gg-renderer.js +2 -30
- package/dist/base/entities/controllers/animation-mixer.d.ts +1 -8
- package/dist/base/entities/controllers/animation-mixer.js +2 -11
- package/dist/base/entities/gg-entity.d.ts +29 -0
- package/dist/base/entities/gg-entity.js +35 -1
- package/dist/base/entities/inline-controller.js +1 -6
- package/dist/base/entities/interfaces/i-tick-listener.d.ts +25 -1
- package/dist/base/entities/interfaces/i-tick-listener.js +17 -1
- package/dist/base/gg-world.d.ts +9 -6
- package/dist/base/gg-world.js +47 -29
- package/dist/base/inputs/direction.keyboard-input.d.ts +41 -0
- package/dist/base/inputs/direction.keyboard-input.js +85 -0
- package/dist/base/inputs/input.d.ts +50 -0
- package/dist/base/inputs/input.js +80 -0
- package/dist/base/inputs/keyboard.input.d.ts +45 -0
- package/dist/base/inputs/keyboard.input.js +130 -0
- package/dist/base/inputs/mouse.input.d.ts +57 -0
- package/dist/base/inputs/mouse.input.js +81 -0
- package/dist/index.d.ts +10 -10
- package/dist/index.js +10 -10
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MouseInput = void 0;
|
|
13
|
+
const input_1 = require("./input");
|
|
14
|
+
const rxjs_1 = require("rxjs");
|
|
15
|
+
const operators_1 = require("rxjs/operators");
|
|
16
|
+
/**
|
|
17
|
+
* A class representing mouse input.
|
|
18
|
+
*/
|
|
19
|
+
class MouseInput extends input_1.Input {
|
|
20
|
+
/**
|
|
21
|
+
Creates an instance of MouseInput.
|
|
22
|
+
@param {MouseInputOptions} options - The options for the MouseInput.
|
|
23
|
+
*/
|
|
24
|
+
constructor(options = {}) {
|
|
25
|
+
super();
|
|
26
|
+
this.options = options;
|
|
27
|
+
this._delta$ = new rxjs_1.Subject();
|
|
28
|
+
this.stopped$ = new rxjs_1.Subject();
|
|
29
|
+
this.canvasClickListener = this.canvasClickListener.bind(this);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* An observable of the change in the x position of the mouse.
|
|
33
|
+
*/
|
|
34
|
+
get deltaX$() {
|
|
35
|
+
return this._delta$.pipe((0, operators_1.map)(d => d.x));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* An observable of the change in the y position of the mouse.
|
|
39
|
+
*/
|
|
40
|
+
get deltaY$() {
|
|
41
|
+
return this._delta$.pipe((0, operators_1.map)(d => d.y));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
An observable of the change in the position of the mouse.
|
|
45
|
+
*/
|
|
46
|
+
get delta$() {
|
|
47
|
+
return this._delta$.asObservable();
|
|
48
|
+
}
|
|
49
|
+
startInternal() {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
(0, rxjs_1.fromEvent)(window, 'mousemove')
|
|
52
|
+
.pipe((0, rxjs_1.takeUntil)(this.stopped$), (0, rxjs_1.filter)(() => !this.options.pointerLock ||
|
|
53
|
+
!this.options.pointerLock.ignoreMovementWhenNotLocked ||
|
|
54
|
+
!!document.pointerLockElement), (0, operators_1.map)((e) => ({ x: e.movementX, y: e.movementY })))
|
|
55
|
+
.subscribe(v => this._delta$.next(v));
|
|
56
|
+
if (!!this.options.pointerLock) {
|
|
57
|
+
this.options.pointerLock.canvas.addEventListener('click', this.canvasClickListener);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
Stop listening for mouse movement events.
|
|
63
|
+
@param {boolean} [unlockPointer=true] - Whether to exit pointer lock.
|
|
64
|
+
*/
|
|
65
|
+
stopInternal(unlockPointer = true) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
this.stopped$.next();
|
|
68
|
+
if (unlockPointer && !!this.options.pointerLock) {
|
|
69
|
+
this.options.pointerLock.canvas.removeEventListener('click', this.canvasClickListener);
|
|
70
|
+
document.exitPointerLock();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
Request pointer lock on the canvas element.
|
|
76
|
+
*/
|
|
77
|
+
canvasClickListener() {
|
|
78
|
+
this.options.pointerLock.canvas.requestPointerLock();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.MouseInput = MouseInput;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
export * from './base/clock/clock';
|
|
1
|
+
export * from './base/clock/i-clock';
|
|
2
|
+
export * from './base/clock/pausable-clock';
|
|
2
3
|
export * from './base/clock/global-clock';
|
|
3
4
|
export * from './base/gg-viewport';
|
|
4
5
|
export * from './base/gg-viewport-manager';
|
|
5
6
|
export * from './base/entities/controllers/animation-mixer';
|
|
6
|
-
export * from './base/entities/interfaces/i-tick-listener';
|
|
7
7
|
export * from './base/entities/gg-entity';
|
|
8
8
|
export * from './base/entities/base-gg-renderer';
|
|
9
9
|
export * from './base/entities/inline-controller';
|
|
10
|
+
export * from './base/inputs/direction.keyboard-input';
|
|
11
|
+
export * from './base/inputs/input';
|
|
12
|
+
export * from './base/inputs/keyboard.input';
|
|
13
|
+
export * from './base/inputs/mouse.input';
|
|
10
14
|
export * from './base/interfaces/gg-body';
|
|
11
15
|
export * from './base/interfaces/gg-debug-physics-drawer';
|
|
12
16
|
export * from './base/interfaces/gg-object';
|
|
@@ -23,10 +27,6 @@ export * from './base/math/point3';
|
|
|
23
27
|
export * from './base/math/quaternion';
|
|
24
28
|
export * from './base/math/numbers';
|
|
25
29
|
export * from './base/math/matrix4';
|
|
26
|
-
export * from './base/controllers/common';
|
|
27
|
-
export * from './base/controllers/i-controller';
|
|
28
|
-
export * from './base/controllers/keyboard.controller';
|
|
29
|
-
export * from './base/controllers/mouse.controller';
|
|
30
30
|
export * from './2d/entities/controllers/entity-2d-positioning.animator';
|
|
31
31
|
export * from './2d/entities/gg-2d-entity';
|
|
32
32
|
export * from './2d/entities/gg-positionable-2d-entity';
|
|
@@ -36,16 +36,16 @@ export * from './2d/models/shapes';
|
|
|
36
36
|
export * from './2d/interfaces';
|
|
37
37
|
export * from './2d/factories';
|
|
38
38
|
export * from './2d/gg-2d-world';
|
|
39
|
-
export * from './3d/controllers/
|
|
40
|
-
export * from './3d/controllers/
|
|
41
|
-
export * from './3d/entities/controllers/camera-3d.animator';
|
|
42
|
-
export * from './3d/entities/controllers/entity-3d-positioning.animator';
|
|
39
|
+
export * from './3d/entities/controllers/animators/camera-3d.animator';
|
|
40
|
+
export * from './3d/entities/controllers/animators/entity-3d-positioning.animator';
|
|
43
41
|
export * from './3d/entities/gg-3d-entity';
|
|
44
42
|
export * from './3d/entities/gg-positionable-3d-entity';
|
|
45
43
|
export * from './3d/entities/gg-3d-camera.entity';
|
|
46
44
|
export * from './3d/entities/gg-3d-map-graph.entity';
|
|
47
45
|
export * from './3d/entities/gg-3d-raycast-vehicle.entity';
|
|
48
46
|
export * from './3d/entities/gg-3d-trigger.entity';
|
|
47
|
+
export * from './3d/entities/controllers/input/car-keyboard-handling.controller';
|
|
48
|
+
export * from './3d/entities/controllers/input/free-camera.controller';
|
|
49
49
|
export * from './3d/models/body-options';
|
|
50
50
|
export * from './3d/models/gg-meta';
|
|
51
51
|
export * from './3d/models/shapes';
|
package/dist/index.js
CHANGED
|
@@ -14,15 +14,19 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./base/clock/clock"), exports);
|
|
17
|
+
__exportStar(require("./base/clock/i-clock"), exports);
|
|
18
|
+
__exportStar(require("./base/clock/pausable-clock"), exports);
|
|
18
19
|
__exportStar(require("./base/clock/global-clock"), exports);
|
|
19
20
|
__exportStar(require("./base/gg-viewport"), exports);
|
|
20
21
|
__exportStar(require("./base/gg-viewport-manager"), exports);
|
|
21
22
|
__exportStar(require("./base/entities/controllers/animation-mixer"), exports);
|
|
22
|
-
__exportStar(require("./base/entities/interfaces/i-tick-listener"), exports);
|
|
23
23
|
__exportStar(require("./base/entities/gg-entity"), exports);
|
|
24
24
|
__exportStar(require("./base/entities/base-gg-renderer"), exports);
|
|
25
25
|
__exportStar(require("./base/entities/inline-controller"), exports);
|
|
26
|
+
__exportStar(require("./base/inputs/direction.keyboard-input"), exports);
|
|
27
|
+
__exportStar(require("./base/inputs/input"), exports);
|
|
28
|
+
__exportStar(require("./base/inputs/keyboard.input"), exports);
|
|
29
|
+
__exportStar(require("./base/inputs/mouse.input"), exports);
|
|
26
30
|
__exportStar(require("./base/interfaces/gg-body"), exports);
|
|
27
31
|
__exportStar(require("./base/interfaces/gg-debug-physics-drawer"), exports);
|
|
28
32
|
__exportStar(require("./base/interfaces/gg-object"), exports);
|
|
@@ -39,10 +43,6 @@ __exportStar(require("./base/math/point3"), exports);
|
|
|
39
43
|
__exportStar(require("./base/math/quaternion"), exports);
|
|
40
44
|
__exportStar(require("./base/math/numbers"), exports);
|
|
41
45
|
__exportStar(require("./base/math/matrix4"), exports);
|
|
42
|
-
__exportStar(require("./base/controllers/common"), exports);
|
|
43
|
-
__exportStar(require("./base/controllers/i-controller"), exports);
|
|
44
|
-
__exportStar(require("./base/controllers/keyboard.controller"), exports);
|
|
45
|
-
__exportStar(require("./base/controllers/mouse.controller"), exports);
|
|
46
46
|
__exportStar(require("./2d/entities/controllers/entity-2d-positioning.animator"), exports);
|
|
47
47
|
__exportStar(require("./2d/entities/gg-2d-entity"), exports);
|
|
48
48
|
__exportStar(require("./2d/entities/gg-positionable-2d-entity"), exports);
|
|
@@ -52,16 +52,16 @@ __exportStar(require("./2d/models/shapes"), exports);
|
|
|
52
52
|
__exportStar(require("./2d/interfaces"), exports);
|
|
53
53
|
__exportStar(require("./2d/factories"), exports);
|
|
54
54
|
__exportStar(require("./2d/gg-2d-world"), exports);
|
|
55
|
-
__exportStar(require("./3d/controllers/
|
|
56
|
-
__exportStar(require("./3d/controllers/
|
|
57
|
-
__exportStar(require("./3d/entities/controllers/camera-3d.animator"), exports);
|
|
58
|
-
__exportStar(require("./3d/entities/controllers/entity-3d-positioning.animator"), exports);
|
|
55
|
+
__exportStar(require("./3d/entities/controllers/animators/camera-3d.animator"), exports);
|
|
56
|
+
__exportStar(require("./3d/entities/controllers/animators/entity-3d-positioning.animator"), exports);
|
|
59
57
|
__exportStar(require("./3d/entities/gg-3d-entity"), exports);
|
|
60
58
|
__exportStar(require("./3d/entities/gg-positionable-3d-entity"), exports);
|
|
61
59
|
__exportStar(require("./3d/entities/gg-3d-camera.entity"), exports);
|
|
62
60
|
__exportStar(require("./3d/entities/gg-3d-map-graph.entity"), exports);
|
|
63
61
|
__exportStar(require("./3d/entities/gg-3d-raycast-vehicle.entity"), exports);
|
|
64
62
|
__exportStar(require("./3d/entities/gg-3d-trigger.entity"), exports);
|
|
63
|
+
__exportStar(require("./3d/entities/controllers/input/car-keyboard-handling.controller"), exports);
|
|
64
|
+
__exportStar(require("./3d/entities/controllers/input/free-camera.controller"), exports);
|
|
65
65
|
__exportStar(require("./3d/models/body-options"), exports);
|
|
66
66
|
__exportStar(require("./3d/models/gg-meta"), exports);
|
|
67
67
|
__exportStar(require("./3d/models/shapes"), exports);
|