@rpgjs/client 3.0.0-beta.3 → 3.0.0-beta.6
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/KeyboardControls.d.ts +6 -2
- package/lib/KeyboardControls.js +87 -40
- package/lib/KeyboardControls.js.map +1 -1
- package/lib/Renderer.d.ts +4 -2
- package/lib/Renderer.js +14 -2
- package/lib/Renderer.js.map +1 -1
- package/lib/RpgClient.d.ts +15 -4
- package/lib/RpgClientEngine.d.ts +48 -9
- package/lib/RpgClientEngine.js +134 -90
- package/lib/RpgClientEngine.js.map +1 -1
- package/lib/RpgGui.d.ts +11 -9
- package/lib/RpgGui.js +46 -5
- package/lib/RpgGui.js.map +1 -1
- package/lib/Scene/Map.d.ts +59 -1
- package/lib/Scene/Map.js +65 -0
- package/lib/Scene/Map.js.map +1 -1
- package/lib/Scene/Scene.d.ts +28 -17
- package/lib/Scene/Scene.js +30 -17
- package/lib/Scene/Scene.js.map +1 -1
- package/lib/Sprite/Character.d.ts +19 -3
- package/lib/Sprite/Character.js +32 -35
- package/lib/Sprite/Character.js.map +1 -1
- package/lib/Tilemap/Tile.d.ts +1 -0
- package/lib/Tilemap/Tile.js +1 -1
- package/lib/Tilemap/Tile.js.map +1 -1
- package/lib/Tilemap/TileLayer.d.ts +4 -0
- package/lib/Tilemap/TileLayer.js +52 -7
- package/lib/Tilemap/TileLayer.js.map +1 -1
- package/lib/Tilemap/TileSet.js +4 -0
- package/lib/Tilemap/TileSet.js.map +1 -1
- package/lib/Tilemap/index.d.ts +2 -0
- package/lib/Tilemap/index.js +11 -3
- package/lib/Tilemap/index.js.map +1 -1
- package/lib/clientEntryPoint.js +4 -2
- package/lib/clientEntryPoint.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +5 -3
- package/lib/index.js.map +1 -1
- package/package.json +5 -8
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Input } from '@rpgjs/common';
|
|
1
2
|
import { RpgClientEngine } from './RpgClientEngine';
|
|
2
3
|
export interface ControlOptions {
|
|
3
4
|
repeat?: boolean;
|
|
4
|
-
bind: string | string[];
|
|
5
|
+
bind: string | string[] | Input | Input[];
|
|
5
6
|
method?: Function;
|
|
6
7
|
}
|
|
7
8
|
export interface Controls {
|
|
@@ -20,6 +21,8 @@ export declare class KeyboardControls {
|
|
|
20
21
|
private lastKeyPressed;
|
|
21
22
|
private _controlsOptions;
|
|
22
23
|
constructor(clientEngine: RpgClientEngine);
|
|
24
|
+
preStep(): void;
|
|
25
|
+
private directionToAngle;
|
|
23
26
|
private setupListeners;
|
|
24
27
|
private bindKey;
|
|
25
28
|
private applyKeyDown;
|
|
@@ -67,9 +70,10 @@ export declare class KeyboardControls {
|
|
|
67
70
|
* @method applyControl(controlName,isDown)
|
|
68
71
|
* @param {string} controlName
|
|
69
72
|
* @param {boolean} [isDown]
|
|
73
|
+
* @returns {Promise<void>}
|
|
70
74
|
* @memberof KeyboardControls
|
|
71
75
|
*/
|
|
72
|
-
applyControl(controlName: string, isDown?: boolean | undefined): void
|
|
76
|
+
applyControl(controlName: string | number, isDown?: boolean | undefined): Promise<void>;
|
|
73
77
|
/**
|
|
74
78
|
* Stop listening to the inputs. Pressing a key won't do anything
|
|
75
79
|
*
|
package/lib/KeyboardControls.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.KeyboardControls = void 0;
|
|
4
13
|
const common_1 = require("@rpgjs/common");
|
|
@@ -22,10 +31,10 @@ const keyCodeTable = {
|
|
|
22
31
|
34: 'page down',
|
|
23
32
|
35: 'end',
|
|
24
33
|
36: 'home',
|
|
25
|
-
37:
|
|
26
|
-
38:
|
|
27
|
-
39:
|
|
28
|
-
40:
|
|
34
|
+
37: common_1.Direction.Left,
|
|
35
|
+
38: common_1.Direction.Up,
|
|
36
|
+
39: common_1.Direction.Right,
|
|
37
|
+
40: common_1.Direction.Down,
|
|
29
38
|
41: 'select',
|
|
30
39
|
42: 'print',
|
|
31
40
|
43: 'execute',
|
|
@@ -167,6 +176,12 @@ const keyCodeTable = {
|
|
|
167
176
|
244: 'kanji',
|
|
168
177
|
255: 'toggle touchpad'
|
|
169
178
|
};
|
|
179
|
+
const directionCode = {
|
|
180
|
+
[common_1.Direction.Up]: 1,
|
|
181
|
+
[common_1.Direction.Right]: 2,
|
|
182
|
+
[common_1.Direction.Down]: 3,
|
|
183
|
+
[common_1.Direction.Left]: 4
|
|
184
|
+
};
|
|
170
185
|
const { isArray } = common_1.Utils;
|
|
171
186
|
const inverse = (obj) => {
|
|
172
187
|
const newObj = {};
|
|
@@ -189,28 +204,54 @@ class KeyboardControls {
|
|
|
189
204
|
this.setupListeners();
|
|
190
205
|
if (globalConfig.inputs)
|
|
191
206
|
this.setInputs(globalConfig.inputs);
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
if (method) {
|
|
204
|
-
method(this.boundKeys[keyName]);
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
this.clientEngine.sendInput(this.boundKeys[keyName].actionName);
|
|
208
|
-
}
|
|
209
|
-
this.keyState[keyName].count++;
|
|
207
|
+
}
|
|
208
|
+
preStep() {
|
|
209
|
+
//this.directionToAngle()
|
|
210
|
+
const boundKeys = Object.keys(this.boundKeys);
|
|
211
|
+
const applyInput = (keyName) => {
|
|
212
|
+
if (this.keyState[keyName] && this.keyState[keyName].isDown) {
|
|
213
|
+
const { repeat, method } = this.boundKeys[keyName].options;
|
|
214
|
+
if (repeat || this.keyState[keyName].count == 0) {
|
|
215
|
+
let parameters = this.boundKeys[keyName].parameters;
|
|
216
|
+
if (typeof parameters === "function") {
|
|
217
|
+
parameters = parameters();
|
|
210
218
|
}
|
|
219
|
+
if (method) {
|
|
220
|
+
method(this.boundKeys[keyName]);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
this.clientEngine.sendInput(this.boundKeys[keyName].actionName);
|
|
224
|
+
}
|
|
225
|
+
this.keyState[keyName].count++;
|
|
211
226
|
}
|
|
212
227
|
}
|
|
213
|
-
}
|
|
228
|
+
};
|
|
229
|
+
for (let keyName of boundKeys) {
|
|
230
|
+
applyInput(keyName);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// TODO, merge direction
|
|
234
|
+
directionToAngle() {
|
|
235
|
+
let directionVal = 0;
|
|
236
|
+
let nbFound = 0;
|
|
237
|
+
for (let keyName of Object.keys(this.boundKeys)) {
|
|
238
|
+
if (this.keyState[keyName] && this.keyState[keyName].isDown) {
|
|
239
|
+
if (directionCode[keyName]) {
|
|
240
|
+
this.keyState[keyName] = null;
|
|
241
|
+
directionVal += directionCode[keyName];
|
|
242
|
+
nbFound++;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (!nbFound)
|
|
247
|
+
return;
|
|
248
|
+
const index = directionVal / nbFound;
|
|
249
|
+
if (!this.keyState[index]) {
|
|
250
|
+
this.keyState[index] = {
|
|
251
|
+
count: 0
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
this.keyState[index].isDown = true;
|
|
214
255
|
}
|
|
215
256
|
setupListeners() {
|
|
216
257
|
document.addEventListener('keydown', (e) => { this.onKeyChange(e, true); });
|
|
@@ -239,14 +280,17 @@ class KeyboardControls {
|
|
|
239
280
|
this.onKeyChange(e, false);
|
|
240
281
|
}
|
|
241
282
|
applyKeyPress(name) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
283
|
+
return new Promise((resolve) => {
|
|
284
|
+
this.applyKeyDown(name);
|
|
285
|
+
setTimeout(() => {
|
|
286
|
+
this.applyKeyUp(name);
|
|
287
|
+
resolve();
|
|
288
|
+
}, 200);
|
|
289
|
+
});
|
|
246
290
|
}
|
|
247
291
|
onKeyChange(e, isDown) {
|
|
248
292
|
e = e || window.event;
|
|
249
|
-
|
|
293
|
+
const keyName = keyCodeTable[e.keyCode];
|
|
250
294
|
const isStopped = this.stop;
|
|
251
295
|
if (isDown)
|
|
252
296
|
this.clientEngine.keyChange.next(keyName);
|
|
@@ -311,22 +355,25 @@ class KeyboardControls {
|
|
|
311
355
|
* @method applyControl(controlName,isDown)
|
|
312
356
|
* @param {string} controlName
|
|
313
357
|
* @param {boolean} [isDown]
|
|
358
|
+
* @returns {Promise<void>}
|
|
314
359
|
* @memberof KeyboardControls
|
|
315
360
|
*/
|
|
316
361
|
applyControl(controlName, isDown) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
362
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
363
|
+
const control = this._controlsOptions[controlName];
|
|
364
|
+
if (control) {
|
|
365
|
+
const input = isArray(control.bind) ? control.bind[0] : control.bind;
|
|
366
|
+
if (isDown === undefined) {
|
|
367
|
+
yield this.applyKeyPress(input);
|
|
368
|
+
}
|
|
369
|
+
else if (isDown) {
|
|
370
|
+
this.applyKeyDown(input);
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
this.applyKeyUp(input);
|
|
374
|
+
}
|
|
328
375
|
}
|
|
329
|
-
}
|
|
376
|
+
});
|
|
330
377
|
}
|
|
331
378
|
/**
|
|
332
379
|
* Stop listening to the inputs. Pressing a key won't do anything
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardControls.js","sourceRoot":"","sources":["../src/KeyboardControls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KeyboardControls.js","sourceRoot":"","sources":["../src/KeyboardControls.ts"],"names":[],"mappings":"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"}
|
package/lib/Renderer.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Scene } from './Presets/Scene';
|
|
2
|
+
import { RpgClientEngine } from './RpgClientEngine';
|
|
1
3
|
export default class RpgRenderer {
|
|
2
4
|
private clientEngine;
|
|
3
5
|
vm: any;
|
|
@@ -14,7 +16,7 @@ export default class RpgRenderer {
|
|
|
14
16
|
client: any;
|
|
15
17
|
gameEngine: any;
|
|
16
18
|
doReset: boolean;
|
|
17
|
-
constructor(clientEngine:
|
|
19
|
+
constructor(clientEngine: RpgClientEngine);
|
|
18
20
|
init(): Promise<void>;
|
|
19
21
|
_resize(w: any, h: any): void;
|
|
20
22
|
get height(): number;
|
|
@@ -23,7 +25,7 @@ export default class RpgRenderer {
|
|
|
23
25
|
set width(val: number);
|
|
24
26
|
onDOMLoaded(): void;
|
|
25
27
|
resize(): void;
|
|
26
|
-
getScene():
|
|
28
|
+
getScene(): Scene;
|
|
27
29
|
draw(t: number, dt: number, frame: number): void;
|
|
28
30
|
loadScene(name: any, obj: any): Promise<void>;
|
|
29
31
|
}
|
package/lib/Renderer.js
CHANGED
|
@@ -14,7 +14,6 @@ const common_1 = require("@rpgjs/common");
|
|
|
14
14
|
const Map_1 = require("./Scene/Map");
|
|
15
15
|
const Scene_1 = require("./Presets/Scene");
|
|
16
16
|
const RpgGui_1 = require("./RpgGui");
|
|
17
|
-
const TIME_RESET_THRESHOLD = 100;
|
|
18
17
|
class RpgRenderer {
|
|
19
18
|
constructor(clientEngine) {
|
|
20
19
|
this.clientEngine = clientEngine;
|
|
@@ -25,6 +24,9 @@ class RpgRenderer {
|
|
|
25
24
|
this._height = 400;
|
|
26
25
|
this.doReset = false;
|
|
27
26
|
this.gameEngine = clientEngine.gameEngine;
|
|
27
|
+
this.clientEngine.tick.subscribe(({ timestamp, deltaTime, frame }) => {
|
|
28
|
+
this.draw(timestamp, deltaTime, frame);
|
|
29
|
+
});
|
|
28
30
|
}
|
|
29
31
|
init() {
|
|
30
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -94,17 +96,27 @@ class RpgRenderer {
|
|
|
94
96
|
return this.scene;
|
|
95
97
|
}
|
|
96
98
|
draw(t, dt, frame) {
|
|
99
|
+
if (!this.renderer)
|
|
100
|
+
return;
|
|
97
101
|
if (this.scene)
|
|
98
102
|
this.scene.draw(t, dt, frame);
|
|
99
103
|
this.renderer.render(this.stage);
|
|
100
104
|
}
|
|
101
105
|
loadScene(name, obj) {
|
|
102
106
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const currentPlayerId = this.gameEngine.playerId;
|
|
103
108
|
common_1.RpgPlugin.emit(common_1.HookClient.BeforeSceneLoading, {
|
|
104
109
|
name,
|
|
105
110
|
obj
|
|
106
111
|
});
|
|
107
|
-
this.
|
|
112
|
+
this.scene = null;
|
|
113
|
+
this.gameEngine.world.removeObject(currentPlayerId);
|
|
114
|
+
// If a scene exists, remove the current player and viewport
|
|
115
|
+
if (this.scene) {
|
|
116
|
+
this.scene.removeObject(currentPlayerId);
|
|
117
|
+
if (this.scene.viewport)
|
|
118
|
+
this.scene.viewport.plugins.remove('follow');
|
|
119
|
+
}
|
|
108
120
|
this.stage.removeChildren();
|
|
109
121
|
const scenes = this.options.scenes || {};
|
|
110
122
|
if (this.scene) {
|
package/lib/Renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEhC,0CAAqD;AACrD,qCAAsC;AACtC,2CAAuC;AACvC,qCAAiC;
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../src/Renderer.ts"],"names":[],"mappings":"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"}
|
package/lib/RpgClient.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RpgSprite } from './Sprite/Player';
|
|
2
2
|
import { ModuleType } from '@rpgjs/common';
|
|
3
|
-
import {
|
|
3
|
+
import { SceneMap } from './Scene/Map';
|
|
4
4
|
import { RpgClientEngine } from './RpgClientEngine';
|
|
5
5
|
export interface RpgClientEngineHooks {
|
|
6
6
|
/**
|
|
@@ -48,6 +48,14 @@ export interface RpgClientEngineHooks {
|
|
|
48
48
|
* @memberof RpgEngineHooks
|
|
49
49
|
*/
|
|
50
50
|
onConnectError?: (engine: RpgClientEngine, err: any, socket: any) => any;
|
|
51
|
+
/**
|
|
52
|
+
* Called when window is resized
|
|
53
|
+
*
|
|
54
|
+
* @prop { () => any } [onWindowResize]
|
|
55
|
+
* @since 3.0.0-beta.4
|
|
56
|
+
* @memberof RpgEngineHooks
|
|
57
|
+
*/
|
|
58
|
+
onWindowResize?: () => any;
|
|
51
59
|
}
|
|
52
60
|
export interface RpgSpriteHooks {
|
|
53
61
|
/**
|
|
@@ -61,6 +69,7 @@ export interface RpgSpriteHooks {
|
|
|
61
69
|
* Called when the sprite is deleted
|
|
62
70
|
*
|
|
63
71
|
* @prop { (sprite: RpgSprite) => any } [onDestroy]
|
|
72
|
+
* @memberof RpgSpriteHooks
|
|
64
73
|
*/
|
|
65
74
|
onDestroy?: (sprite: RpgSprite) => any;
|
|
66
75
|
/**
|
|
@@ -81,10 +90,12 @@ export interface RpgSpriteHooks {
|
|
|
81
90
|
* When the x, y positions change
|
|
82
91
|
*
|
|
83
92
|
* @prop { (sprite: RpgSprite) => any } [onMove]
|
|
93
|
+
* @since 3.0.0-beta.4
|
|
94
|
+
* @memberof RpgSpriteHooks
|
|
84
95
|
*/
|
|
85
96
|
onMove?: (sprite: RpgSprite) => any;
|
|
86
97
|
}
|
|
87
|
-
export interface RpgSceneHooks {
|
|
98
|
+
export interface RpgSceneHooks<Scene> {
|
|
88
99
|
/**
|
|
89
100
|
* a sprite has been added on the scene
|
|
90
101
|
*
|
|
@@ -131,14 +142,14 @@ export interface RpgSceneHooks {
|
|
|
131
142
|
*/
|
|
132
143
|
onDraw?: (scene: Scene, t: number) => any;
|
|
133
144
|
}
|
|
134
|
-
export interface RpgSceneMapHooks extends RpgSceneHooks {
|
|
145
|
+
export interface RpgSceneMapHooks extends RpgSceneHooks<SceneMap> {
|
|
135
146
|
/**
|
|
136
147
|
* The map and resources are being loaded
|
|
137
148
|
*
|
|
138
149
|
* @prop { (scene: RpgSceneMap, loader: PIXI.Loader) => any } [onMapLoading]
|
|
139
150
|
* @memberof RpgSceneHooks
|
|
140
151
|
*/
|
|
141
|
-
onMapLoading?: (scene:
|
|
152
|
+
onMapLoading?: (scene: SceneMap, loader: PIXI.Loader) => any;
|
|
142
153
|
}
|
|
143
154
|
export interface RpgClient {
|
|
144
155
|
/**
|
package/lib/RpgClientEngine.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { KeyboardControls } from './KeyboardControls';
|
|
2
2
|
import { Observable, Subject } from 'rxjs';
|
|
3
|
+
import { RpgCommonGame } from '@rpgjs/common';
|
|
3
4
|
declare type ObjectFixture = {
|
|
4
5
|
object: any;
|
|
5
6
|
paramsChanged: any;
|
|
6
7
|
};
|
|
8
|
+
declare type Tick = {
|
|
9
|
+
timestamp: number;
|
|
10
|
+
deltaTime: number;
|
|
11
|
+
frame: number;
|
|
12
|
+
};
|
|
7
13
|
export declare class RpgClientEngine {
|
|
8
|
-
gameEngine:
|
|
14
|
+
gameEngine: RpgCommonGame;
|
|
9
15
|
private options;
|
|
10
16
|
/**
|
|
11
17
|
* Get the rendering
|
|
@@ -41,23 +47,42 @@ export declare class RpgClientEngine {
|
|
|
41
47
|
controls: KeyboardControls;
|
|
42
48
|
_options: any;
|
|
43
49
|
private _objects;
|
|
50
|
+
private _tick;
|
|
44
51
|
keyChange: Subject<string>;
|
|
45
52
|
private hasBeenDisconnected;
|
|
46
|
-
private playerVault;
|
|
47
53
|
private isTeleported;
|
|
48
54
|
io: any;
|
|
49
55
|
private lastTimestamp;
|
|
50
|
-
private
|
|
51
|
-
|
|
56
|
+
private frame;
|
|
57
|
+
private subscriptionWorld;
|
|
58
|
+
private clientFrames;
|
|
59
|
+
private serverFrames;
|
|
60
|
+
constructor(gameEngine: RpgCommonGame, options: any);
|
|
52
61
|
private _init;
|
|
53
62
|
private addResource;
|
|
63
|
+
/**
|
|
64
|
+
* Listen to each frame
|
|
65
|
+
*
|
|
66
|
+
* @prop {Observable<{ timestamp: number, deltaTime: number, frame: number }>} tick
|
|
67
|
+
* @readonly
|
|
68
|
+
* @since 3.0.0-beta.5
|
|
69
|
+
* @memberof RpgClientEngine
|
|
70
|
+
* @example
|
|
71
|
+
*
|
|
72
|
+
* ```ts
|
|
73
|
+
* client.tick.subscribe(({ timestamp, deltaTime, frame }) => {
|
|
74
|
+
*
|
|
75
|
+
* })
|
|
76
|
+
* ```
|
|
77
|
+
* */
|
|
78
|
+
get tick(): Observable<Tick>;
|
|
54
79
|
/**
|
|
55
80
|
* Adds Spritesheet classes
|
|
56
81
|
*
|
|
57
82
|
* @title Add Spritesheet
|
|
58
|
-
* @method addSpriteSheet(spritesheetClass
|
|
83
|
+
* @method addSpriteSheet(spritesheetClass|spritesheetClass[])
|
|
59
84
|
* @returns {void}
|
|
60
|
-
* @since beta.3
|
|
85
|
+
* @since 3.0.0-beta.3
|
|
61
86
|
* @memberof RpgClientEngine
|
|
62
87
|
*/
|
|
63
88
|
addSpriteSheet(spritesheetClass: any): void;
|
|
@@ -65,9 +90,9 @@ export declare class RpgClientEngine {
|
|
|
65
90
|
* Adds Sound classes
|
|
66
91
|
*
|
|
67
92
|
* @title Add Sound
|
|
68
|
-
* @method addSpriteSheet(soundClass
|
|
93
|
+
* @method addSpriteSheet(soundClass|soundClass[])
|
|
69
94
|
* @returns {void}
|
|
70
|
-
* @since beta.3
|
|
95
|
+
* @since 3.0.0-beta.3
|
|
71
96
|
* @memberof RpgClientEngine
|
|
72
97
|
*/
|
|
73
98
|
addSound(soundClass: any): void;
|
|
@@ -79,7 +104,19 @@ export declare class RpgClientEngine {
|
|
|
79
104
|
* @returns {Promise< void >}
|
|
80
105
|
* @memberof RpgClientEngine
|
|
81
106
|
*/
|
|
82
|
-
start(
|
|
107
|
+
start(options?: {
|
|
108
|
+
renderLoop: boolean;
|
|
109
|
+
}): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Display the next frame. Useful for unit tests
|
|
112
|
+
*
|
|
113
|
+
* @title Next Frame
|
|
114
|
+
* @since 3.0.0-beta.5
|
|
115
|
+
* @param {number} timestamp Indicate the timestamp of the frame
|
|
116
|
+
* @method nextFrame()
|
|
117
|
+
* @memberof RpgClientEngine
|
|
118
|
+
*/
|
|
119
|
+
nextFrame(timestamp: number): void;
|
|
83
120
|
/**
|
|
84
121
|
* Read objects synchronized with the server
|
|
85
122
|
*
|
|
@@ -112,6 +149,7 @@ export declare class RpgClientEngine {
|
|
|
112
149
|
* @memberof RpgClientEngine
|
|
113
150
|
*/
|
|
114
151
|
connection(): void;
|
|
152
|
+
get world(): any;
|
|
115
153
|
/**
|
|
116
154
|
* VueJS Application instance
|
|
117
155
|
*
|
|
@@ -140,5 +178,6 @@ export declare class RpgClientEngine {
|
|
|
140
178
|
* @memberof RpgClientEngine
|
|
141
179
|
* */
|
|
142
180
|
get scene(): any;
|
|
181
|
+
reset(): void;
|
|
143
182
|
}
|
|
144
183
|
export {};
|