@rpgjs/client 3.0.0-beta.4 → 3.0.0-beta.7
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/lib/Effects/Animation.d.ts +3 -4
- package/lib/Effects/Animation.js +1 -0
- package/lib/Effects/Animation.js.map +1 -1
- package/lib/Effects/Timeline.d.ts +2 -2
- package/lib/Effects/Timeline.js.map +1 -1
- package/lib/GameEngine.d.ts +34 -0
- package/lib/GameEngine.js +112 -0
- package/lib/GameEngine.js.map +1 -0
- package/lib/KeyboardControls.d.ts +6 -3
- package/lib/KeyboardControls.js +97 -45
- package/lib/KeyboardControls.js.map +1 -1
- package/lib/Renderer.d.ts +13 -20
- package/lib/Renderer.js +35 -17
- package/lib/Renderer.js.map +1 -1
- package/lib/RpgClient.d.ts +5 -3
- package/lib/RpgClientEngine.d.ts +68 -30
- package/lib/RpgClientEngine.js +168 -205
- package/lib/RpgClientEngine.js.map +1 -1
- package/lib/RpgGui.d.ts +14 -16
- package/lib/RpgGui.js +59 -6
- package/lib/RpgGui.js.map +1 -1
- package/lib/Scene/Map.d.ts +4 -18
- package/lib/Scene/Map.js +14 -6
- package/lib/Scene/Map.js.map +1 -1
- package/lib/Scene/Scene.d.ts +22 -15
- package/lib/Scene/Scene.js +6 -14
- package/lib/Scene/Scene.js.map +1 -1
- package/lib/Sprite/Character.d.ts +5 -11
- package/lib/Sprite/Character.js +22 -35
- package/lib/Sprite/Character.js.map +1 -1
- package/lib/Sprite/Spritesheet.js +1 -0
- package/lib/Sprite/Spritesheet.js.map +1 -1
- package/lib/Sprite/Spritesheets.d.ts +1 -1
- package/lib/Sprite/Spritesheets.js.map +1 -1
- package/lib/Tilemap/ImageLayer.d.ts +1 -1
- package/lib/Tilemap/ImageLayer.js +2 -2
- package/lib/Tilemap/ImageLayer.js.map +1 -1
- package/lib/Tilemap/Tile.d.ts +4 -3
- package/lib/Tilemap/Tile.js.map +1 -1
- package/lib/Tilemap/TileLayer.d.ts +9 -7
- package/lib/Tilemap/TileLayer.js +4 -0
- package/lib/Tilemap/TileLayer.js.map +1 -1
- package/lib/Tilemap/TileSet.d.ts +6 -4
- package/lib/Tilemap/TileSet.js +5 -0
- package/lib/Tilemap/TileSet.js.map +1 -1
- package/lib/Tilemap/index.d.ts +16 -13
- package/lib/Tilemap/index.js +10 -3
- package/lib/Tilemap/index.js.map +1 -1
- package/lib/clientEntryPoint.js +2 -1
- package/lib/clientEntryPoint.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/package.json +5 -8
package/lib/Renderer.js
CHANGED
|
@@ -9,36 +9,41 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RpgRenderer = void 0;
|
|
12
13
|
window.PIXI = require('pixi.js');
|
|
13
14
|
const common_1 = require("@rpgjs/common");
|
|
14
15
|
const Map_1 = require("./Scene/Map");
|
|
15
16
|
const Scene_1 = require("./Presets/Scene");
|
|
16
17
|
const RpgGui_1 = require("./RpgGui");
|
|
17
|
-
const TIME_RESET_THRESHOLD = 100;
|
|
18
18
|
class RpgRenderer {
|
|
19
19
|
constructor(clientEngine) {
|
|
20
20
|
this.clientEngine = clientEngine;
|
|
21
|
-
this.scene = null;
|
|
22
21
|
this.stage = new PIXI.Container();
|
|
23
22
|
this.options = {};
|
|
23
|
+
this.scene = null;
|
|
24
24
|
this._width = 800;
|
|
25
25
|
this._height = 400;
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
26
|
+
this.gameEngine = this.clientEngine.gameEngine;
|
|
27
|
+
this.clientEngine.tick.subscribe(({ timestamp, deltaTime, frame }) => {
|
|
28
|
+
this.draw(timestamp, deltaTime, frame);
|
|
29
|
+
});
|
|
28
30
|
}
|
|
31
|
+
/** @internal */
|
|
29
32
|
init() {
|
|
30
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
34
|
this.onDOMLoaded();
|
|
32
35
|
});
|
|
33
36
|
}
|
|
37
|
+
/** @internal */
|
|
34
38
|
_resize(w, h) {
|
|
35
39
|
if (!w)
|
|
36
40
|
w = this.options.canvas.width;
|
|
37
41
|
if (!h)
|
|
38
42
|
h = this.options.canvas.height;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
const scene = this.getScene();
|
|
44
|
+
if (this.scene && (scene === null || scene === void 0 ? void 0 : scene.viewport)) {
|
|
45
|
+
scene.viewport.screenWidth = w;
|
|
46
|
+
scene.viewport.screenHeight = h;
|
|
42
47
|
}
|
|
43
48
|
if (this.vm) {
|
|
44
49
|
this.vm.$el.style = `width:${w}px;height:${h}px`;
|
|
@@ -47,6 +52,9 @@ class RpgRenderer {
|
|
|
47
52
|
this._width = w;
|
|
48
53
|
this._height = h;
|
|
49
54
|
}
|
|
55
|
+
get canvas() {
|
|
56
|
+
return this.renderer.view;
|
|
57
|
+
}
|
|
50
58
|
get height() {
|
|
51
59
|
return this._height;
|
|
52
60
|
}
|
|
@@ -59,10 +67,10 @@ class RpgRenderer {
|
|
|
59
67
|
set width(val) {
|
|
60
68
|
this._resize(val, this.height);
|
|
61
69
|
}
|
|
70
|
+
/** @internal */
|
|
62
71
|
onDOMLoaded() {
|
|
63
72
|
let options = Object.assign({ antialias: true, autoResize: true, resolution: window.devicePixelRatio || 1 }, this.options.canvas);
|
|
64
73
|
this.renderer = PIXI.autoDetectRenderer(options);
|
|
65
|
-
//this.gameEngine.renderer = this.renderer
|
|
66
74
|
this.selector = document.body.querySelector(this.options.selector);
|
|
67
75
|
this.guiEl = this.selector.querySelector(this.options.selectorGui);
|
|
68
76
|
this.canvasEl = this.selector.querySelector(this.options.selectorCanvas);
|
|
@@ -78,9 +86,10 @@ class RpgRenderer {
|
|
|
78
86
|
else {
|
|
79
87
|
this.canvasEl.appendChild(this.renderer.view);
|
|
80
88
|
}
|
|
81
|
-
RpgGui_1.RpgGui._initalize(this.
|
|
89
|
+
RpgGui_1.RpgGui._initalize(this.clientEngine);
|
|
82
90
|
this.resize();
|
|
83
91
|
}
|
|
92
|
+
/** @internal */
|
|
84
93
|
resize() {
|
|
85
94
|
const size = () => {
|
|
86
95
|
const { offsetWidth, offsetHeight } = this.canvasEl || this.selector;
|
|
@@ -90,26 +99,31 @@ class RpgRenderer {
|
|
|
90
99
|
window.addEventListener('resize', size);
|
|
91
100
|
size();
|
|
92
101
|
}
|
|
102
|
+
/** @internal */
|
|
93
103
|
getScene() {
|
|
94
104
|
return this.scene;
|
|
95
105
|
}
|
|
106
|
+
/** @internal */
|
|
96
107
|
draw(t, dt, frame) {
|
|
108
|
+
if (!this.renderer)
|
|
109
|
+
return;
|
|
97
110
|
if (this.scene)
|
|
98
111
|
this.scene.draw(t, dt, frame);
|
|
99
112
|
this.renderer.render(this.stage);
|
|
100
113
|
}
|
|
114
|
+
/** @internal */
|
|
101
115
|
loadScene(name, obj) {
|
|
116
|
+
var _a;
|
|
102
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
const currentPlayerId = this.gameEngine.playerId;
|
|
103
119
|
common_1.RpgPlugin.emit(common_1.HookClient.BeforeSceneLoading, {
|
|
104
120
|
name,
|
|
105
121
|
obj
|
|
106
122
|
});
|
|
107
|
-
this.
|
|
123
|
+
this.scene = null;
|
|
124
|
+
this.gameEngine.world.removeObject(currentPlayerId);
|
|
108
125
|
this.stage.removeChildren();
|
|
109
126
|
const scenes = this.options.scenes || {};
|
|
110
|
-
if (this.scene) {
|
|
111
|
-
this.scene.controls.boundKeys = {};
|
|
112
|
-
}
|
|
113
127
|
switch (name) {
|
|
114
128
|
case Scene_1.Scene.Map:
|
|
115
129
|
const sceneClass = scenes[Scene_1.Scene.Map] || Map_1.SceneMap;
|
|
@@ -119,11 +133,15 @@ class RpgRenderer {
|
|
|
119
133
|
});
|
|
120
134
|
break;
|
|
121
135
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
136
|
+
if (!this.scene)
|
|
137
|
+
return;
|
|
138
|
+
const container = yield ((_a = this.getScene()) === null || _a === void 0 ? void 0 : _a.load(obj));
|
|
139
|
+
if (container) {
|
|
140
|
+
this.stage.addChild(container);
|
|
141
|
+
common_1.RpgPlugin.emit(common_1.HookClient.AfterSceneLoading, this.scene);
|
|
142
|
+
}
|
|
125
143
|
});
|
|
126
144
|
}
|
|
127
145
|
}
|
|
128
|
-
exports.
|
|
146
|
+
exports.RpgRenderer = RpgRenderer;
|
|
129
147
|
//# sourceMappingURL=Renderer.js.map
|
package/lib/Renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"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"}
|
package/lib/RpgClient.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { RpgSprite } from './Sprite/Player';
|
|
|
2
2
|
import { ModuleType } from '@rpgjs/common';
|
|
3
3
|
import { SceneMap } from './Scene/Map';
|
|
4
4
|
import { RpgClientEngine } from './RpgClientEngine';
|
|
5
|
+
declare type RpgClass<T = any> = new (...args: any[]) => T;
|
|
5
6
|
export interface RpgClientEngineHooks {
|
|
6
7
|
/**
|
|
7
8
|
* When the engine is started. If you send false, you prevent the client from connecting to the server
|
|
@@ -9,7 +10,7 @@ export interface RpgClientEngineHooks {
|
|
|
9
10
|
* @prop { (engine: RpgClientEngine) => boolean | any } [onStart]
|
|
10
11
|
* @memberof RpgEngineHooks
|
|
11
12
|
*/
|
|
12
|
-
onStart?: (engine: RpgClientEngine) =>
|
|
13
|
+
onStart?: (engine: RpgClientEngine) => boolean | void;
|
|
13
14
|
/**
|
|
14
15
|
* Each frame
|
|
15
16
|
*
|
|
@@ -208,7 +209,7 @@ export interface RpgClient {
|
|
|
208
209
|
* @prop {Array<Class>} [spritesheets]
|
|
209
210
|
* @memberof RpgClient
|
|
210
211
|
* */
|
|
211
|
-
spritesheets?:
|
|
212
|
+
spritesheets?: RpgClass[];
|
|
212
213
|
/**
|
|
213
214
|
* Array containing the list of VueJS components
|
|
214
215
|
*
|
|
@@ -261,7 +262,7 @@ export interface RpgClient {
|
|
|
261
262
|
* @prop {Array<Class>} [sounds]
|
|
262
263
|
* @memberof RpgClient
|
|
263
264
|
* */
|
|
264
|
-
sounds?:
|
|
265
|
+
sounds?: RpgClass[];
|
|
265
266
|
/**
|
|
266
267
|
* Give the `RpgSprite` class. A Sprite represents a player or an event
|
|
267
268
|
*
|
|
@@ -308,3 +309,4 @@ export interface RpgClient {
|
|
|
308
309
|
map: RpgSceneMapHooks;
|
|
309
310
|
};
|
|
310
311
|
}
|
|
312
|
+
export {};
|
package/lib/RpgClientEngine.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { KeyboardControls } from './KeyboardControls';
|
|
2
|
+
import { RpgRenderer } from './Renderer';
|
|
2
3
|
import { Observable, Subject } from 'rxjs';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { GameEngineClient, ObjectFixture } from './GameEngine';
|
|
5
|
+
import { Scene } from './Scene/Scene';
|
|
6
|
+
declare type Tick = {
|
|
7
|
+
timestamp: number;
|
|
8
|
+
deltaTime: number;
|
|
9
|
+
frame: number;
|
|
6
10
|
};
|
|
7
11
|
export declare class RpgClientEngine {
|
|
8
|
-
gameEngine:
|
|
12
|
+
gameEngine: GameEngineClient;
|
|
9
13
|
private options;
|
|
10
14
|
/**
|
|
11
15
|
* Get the rendering
|
|
@@ -14,7 +18,7 @@ export declare class RpgClientEngine {
|
|
|
14
18
|
* @readonly
|
|
15
19
|
* @memberof RpgClientEngine
|
|
16
20
|
* */
|
|
17
|
-
renderer:
|
|
21
|
+
renderer: RpgRenderer;
|
|
18
22
|
/**
|
|
19
23
|
* Get the socket
|
|
20
24
|
*
|
|
@@ -40,18 +44,50 @@ export declare class RpgClientEngine {
|
|
|
40
44
|
* */
|
|
41
45
|
controls: KeyboardControls;
|
|
42
46
|
_options: any;
|
|
43
|
-
private
|
|
47
|
+
private _tick;
|
|
44
48
|
keyChange: Subject<string>;
|
|
45
49
|
private hasBeenDisconnected;
|
|
46
|
-
private playerVault;
|
|
47
50
|
private isTeleported;
|
|
48
51
|
io: any;
|
|
49
52
|
private lastTimestamp;
|
|
50
|
-
private
|
|
53
|
+
private frame;
|
|
51
54
|
private subscriptionWorld;
|
|
52
|
-
|
|
55
|
+
private clientFrames;
|
|
56
|
+
private serverFrames;
|
|
57
|
+
/**
|
|
58
|
+
* Read objects synchronized with the server
|
|
59
|
+
*
|
|
60
|
+
* @prop {Observable< {
|
|
61
|
+
[id: string]: {
|
|
62
|
+
object: any,
|
|
63
|
+
paramsChanged: any
|
|
64
|
+
}
|
|
65
|
+
} >} [objects]
|
|
66
|
+
* @readonly
|
|
67
|
+
* @memberof RpgClientEngine
|
|
68
|
+
*/
|
|
69
|
+
objects: Observable<{
|
|
70
|
+
[id: string]: ObjectFixture;
|
|
71
|
+
}>;
|
|
72
|
+
constructor(gameEngine: GameEngineClient, options: any);
|
|
53
73
|
private _init;
|
|
54
74
|
private addResource;
|
|
75
|
+
/**
|
|
76
|
+
* Listen to each frame
|
|
77
|
+
*
|
|
78
|
+
* @prop {Observable<{ timestamp: number, deltaTime: number, frame: number }>} tick
|
|
79
|
+
* @readonly
|
|
80
|
+
* @since 3.0.0-beta.5
|
|
81
|
+
* @memberof RpgClientEngine
|
|
82
|
+
* @example
|
|
83
|
+
*
|
|
84
|
+
* ```ts
|
|
85
|
+
* client.tick.subscribe(({ timestamp, deltaTime, frame }) => {
|
|
86
|
+
*
|
|
87
|
+
* })
|
|
88
|
+
* ```
|
|
89
|
+
* */
|
|
90
|
+
get tick(): Observable<Tick>;
|
|
55
91
|
/**
|
|
56
92
|
* Adds Spritesheet classes
|
|
57
93
|
*
|
|
@@ -80,28 +116,19 @@ export declare class RpgClientEngine {
|
|
|
80
116
|
* @returns {Promise< void >}
|
|
81
117
|
* @memberof RpgClientEngine
|
|
82
118
|
*/
|
|
83
|
-
start(
|
|
119
|
+
start(options?: {
|
|
120
|
+
renderLoop: boolean;
|
|
121
|
+
}): Promise<void>;
|
|
84
122
|
/**
|
|
85
|
-
*
|
|
123
|
+
* Display the next frame. Useful for unit tests
|
|
86
124
|
*
|
|
87
|
-
* @
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
} >} [objects]
|
|
93
|
-
* @readonly
|
|
125
|
+
* @title Next Frame
|
|
126
|
+
* @since 3.0.0-beta.5
|
|
127
|
+
* @param {number} timestamp Indicate the timestamp of the frame
|
|
128
|
+
* @method nextFrame()
|
|
94
129
|
* @memberof RpgClientEngine
|
|
95
130
|
*/
|
|
96
|
-
|
|
97
|
-
[id: string]: ObjectFixture;
|
|
98
|
-
}>;
|
|
99
|
-
private getObjects;
|
|
100
|
-
private getObject;
|
|
101
|
-
private resetObjects;
|
|
102
|
-
private removeObject;
|
|
103
|
-
private updateObject;
|
|
104
|
-
sendInput(actionName: string): void;
|
|
131
|
+
nextFrame(timestamp: number): void;
|
|
105
132
|
private serverReconciliation;
|
|
106
133
|
private step;
|
|
107
134
|
/**
|
|
@@ -123,7 +150,7 @@ export declare class RpgClientEngine {
|
|
|
123
150
|
* @readonly
|
|
124
151
|
* @memberof RpgClientEngine
|
|
125
152
|
* */
|
|
126
|
-
get vueApp(): any
|
|
153
|
+
get vueApp(): import("vue").App<any>;
|
|
127
154
|
/**
|
|
128
155
|
* VueJS Parent component instance
|
|
129
156
|
*
|
|
@@ -133,15 +160,26 @@ export declare class RpgClientEngine {
|
|
|
133
160
|
* @readonly
|
|
134
161
|
* @memberof RpgClientEngine
|
|
135
162
|
* */
|
|
136
|
-
get vueInstance(): any
|
|
163
|
+
get vueInstance(): import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
|
|
137
164
|
/**
|
|
138
165
|
* retrieves the current scene (SceneMap if you are on a map)
|
|
139
166
|
*
|
|
140
167
|
* @prop {RpgScene} [scene]
|
|
168
|
+
* @deprecated
|
|
141
169
|
* @readonly
|
|
142
170
|
* @memberof RpgClientEngine
|
|
143
171
|
* */
|
|
144
|
-
get scene():
|
|
172
|
+
get scene(): Scene | null;
|
|
173
|
+
/**
|
|
174
|
+
* retrieves the current scene (SceneMap if you are on a map)
|
|
175
|
+
*
|
|
176
|
+
* @title Connect to server
|
|
177
|
+
* @method getScene()
|
|
178
|
+
* @returns {RpgScene}
|
|
179
|
+
* @memberof RpgClientEngine
|
|
180
|
+
*/
|
|
181
|
+
getScene<T = Scene>(): T | null;
|
|
182
|
+
get PIXI(): typeof PIXI;
|
|
145
183
|
reset(): void;
|
|
146
184
|
}
|
|
147
185
|
export {};
|