@rpgjs/client 3.0.3 → 3.2.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.
- package/LICENSE +19 -0
- package/lib/Components/Component.d.ts +4 -4
- package/lib/Components/Component.js +43 -5
- package/lib/Components/Component.js.map +1 -1
- package/lib/Effects/Animation.d.ts +15 -5
- package/lib/Effects/Animation.js +19 -14
- package/lib/Effects/Animation.js.map +1 -1
- package/lib/Effects/AnimationCharacter.d.ts +4 -1
- package/lib/Effects/AnimationCharacter.js +3 -0
- package/lib/Effects/AnimationCharacter.js.map +1 -1
- package/lib/GameEngine.d.ts +4 -7
- package/lib/GameEngine.js +2 -1
- package/lib/GameEngine.js.map +1 -1
- package/lib/KeyboardControls.d.ts +21 -10
- package/lib/KeyboardControls.js +29 -4
- package/lib/KeyboardControls.js.map +1 -1
- package/lib/RpgClientEngine.d.ts +22 -16
- package/lib/RpgClientEngine.js +43 -75
- package/lib/RpgClientEngine.js.map +1 -1
- package/lib/Scene/Map.d.ts +2 -0
- package/lib/Scene/Map.js +20 -0
- package/lib/Scene/Map.js.map +1 -1
- package/lib/Scene/Scene.d.ts +1 -1
- package/lib/Scene/Scene.js +0 -5
- package/lib/Scene/Scene.js.map +1 -1
- package/lib/Sound/Sound.d.ts +47 -28
- package/lib/Sound/Sound.js +4 -2
- package/lib/Sound/Sound.js.map +1 -1
- package/lib/Sprite/Character.js +5 -2
- package/lib/Sprite/Character.js.map +1 -1
- package/lib/Sprite/Spritesheet.d.ts +85 -48
- package/lib/Sprite/Spritesheet.js +4 -2
- package/lib/Sprite/Spritesheet.js.map +1 -1
- package/lib/Sprite/Spritesheets.d.ts +2 -1
- package/lib/Sprite/Spritesheets.js.map +1 -1
- package/lib/Tilemap/TileLayer.js +1 -1
- package/lib/Tilemap/TileLayer.js.map +1 -1
- package/lib/index.d.ts +19 -19
- package/lib/index.js +22 -22
- package/lib/index.js.map +1 -1
- package/package.json +5 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (C) 2020 by Samuel Ronce
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Direction, RpgCommonPlayer, RpgShape } from "@rpgjs/common";
|
|
2
|
+
import { PositionXY } from "@rpgjs/types";
|
|
2
3
|
import { Scene } from "../Scene/Scene";
|
|
3
4
|
export interface IComponent {
|
|
4
5
|
id: string;
|
|
@@ -18,6 +19,7 @@ export declare class RpgComponent<T = any> extends PIXI.Container {
|
|
|
18
19
|
private direction;
|
|
19
20
|
private container;
|
|
20
21
|
private registerComponents;
|
|
22
|
+
private dragMode?;
|
|
21
23
|
constructor(data: RpgCommonPlayer | RpgShape, scene: Scene);
|
|
22
24
|
/**
|
|
23
25
|
* the direction of the sprite
|
|
@@ -72,6 +74,7 @@ export declare class RpgComponent<T = any> extends PIXI.Container {
|
|
|
72
74
|
get guiDisplay(): boolean;
|
|
73
75
|
set guiDisplay(val: boolean);
|
|
74
76
|
setPosition(smooth?: boolean): void;
|
|
77
|
+
drag(): void;
|
|
75
78
|
update(obj: any, objChanged: any, time: number, deltaRatio: number): {
|
|
76
79
|
moving: boolean;
|
|
77
80
|
};
|
|
@@ -88,10 +91,7 @@ export declare class RpgComponent<T = any> extends PIXI.Container {
|
|
|
88
91
|
* @returns { x: number, y: number }
|
|
89
92
|
* @memberof RpgSprite
|
|
90
93
|
*/
|
|
91
|
-
getPositionsOfGraphic(align: string):
|
|
92
|
-
x: number;
|
|
93
|
-
y: number;
|
|
94
|
-
};
|
|
94
|
+
getPositionsOfGraphic(align: string): PositionXY;
|
|
95
95
|
private callMethodInComponents;
|
|
96
96
|
private updateComponents;
|
|
97
97
|
getScene<T>(): T;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RpgComponent = void 0;
|
|
4
4
|
const common_1 = require("@rpgjs/common");
|
|
5
|
+
const types_1 = require("@rpgjs/types");
|
|
5
6
|
const operators_1 = require("rxjs/operators");
|
|
6
7
|
const Logger_1 = require("../Logger");
|
|
7
8
|
const Player_1 = require("../Sprite/Player");
|
|
@@ -73,7 +74,7 @@ class RpgComponent extends PIXI.Container {
|
|
|
73
74
|
* @memberof RpgSprite
|
|
74
75
|
* */
|
|
75
76
|
get isPlayer() {
|
|
76
|
-
return this.data.type ==
|
|
77
|
+
return this.data.type == types_1.PlayerType.Player;
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
80
|
* To know if the sprite is an event
|
|
@@ -83,7 +84,7 @@ class RpgComponent extends PIXI.Container {
|
|
|
83
84
|
* @memberof RpgSprite
|
|
84
85
|
* */
|
|
85
86
|
get isEvent() {
|
|
86
|
-
return this.data.type ==
|
|
87
|
+
return this.data.type == types_1.PlayerType.Event;
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
89
90
|
* To know if the sprite is a shape
|
|
@@ -146,7 +147,39 @@ class RpgComponent extends PIXI.Container {
|
|
|
146
147
|
this.angle = this._rotation;
|
|
147
148
|
}
|
|
148
149
|
}
|
|
150
|
+
drag() {
|
|
151
|
+
this.interactive = true;
|
|
152
|
+
const filter = new PIXI.filters.ColorMatrixFilter();
|
|
153
|
+
const onDragEnd = () => {
|
|
154
|
+
if (!this.dragMode)
|
|
155
|
+
return;
|
|
156
|
+
this.dragMode.dragging = false;
|
|
157
|
+
this.dragMode.data = null;
|
|
158
|
+
};
|
|
159
|
+
this
|
|
160
|
+
.on('pointerdown', (event) => {
|
|
161
|
+
this.dragMode = {
|
|
162
|
+
data: event.data,
|
|
163
|
+
dragging: true
|
|
164
|
+
};
|
|
165
|
+
})
|
|
166
|
+
.on('pointerup', onDragEnd)
|
|
167
|
+
.on('pointerupoutside', onDragEnd)
|
|
168
|
+
.on('pointermove', () => {
|
|
169
|
+
if (!this.dragMode)
|
|
170
|
+
return;
|
|
171
|
+
const { dragging, data } = this.dragMode;
|
|
172
|
+
if (dragging) {
|
|
173
|
+
const newPosition = data.getLocalPosition(this.parent);
|
|
174
|
+
this.x = newPosition.x;
|
|
175
|
+
this.y = newPosition.y;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
149
179
|
update(obj, objChanged, time, deltaRatio) {
|
|
180
|
+
var _a;
|
|
181
|
+
if ((_a = this.dragMode) === null || _a === void 0 ? void 0 : _a.dragging)
|
|
182
|
+
return { moving: true };
|
|
150
183
|
const { speed, teleported, map, fixed, rotation } = obj;
|
|
151
184
|
this.data = obj;
|
|
152
185
|
this.setPosition();
|
|
@@ -204,11 +237,16 @@ class RpgComponent extends PIXI.Container {
|
|
|
204
237
|
* @memberof RpgSprite
|
|
205
238
|
*/
|
|
206
239
|
getPositionsOfGraphic(align) {
|
|
207
|
-
|
|
240
|
+
var _a, _b;
|
|
241
|
+
let sprite;
|
|
242
|
+
// if no component (no graphic for example)
|
|
243
|
+
if (this.components.length !== 0) {
|
|
244
|
+
sprite = this.container.getChildAt(0);
|
|
245
|
+
}
|
|
208
246
|
const isMiddle = align == 'middle';
|
|
209
247
|
return {
|
|
210
|
-
x: this.x - this.w * sprite.anchor.x + (isMiddle ? this.w / 2 : 0),
|
|
211
|
-
y: this.y - this.h * sprite.anchor.y + (isMiddle ? this.h / 2 : 0)
|
|
248
|
+
x: this.x - this.w * ((_a = sprite === null || sprite === void 0 ? void 0 : sprite.anchor.x) !== null && _a !== void 0 ? _a : 1) + (isMiddle ? this.w / 2 : 0),
|
|
249
|
+
y: this.y - this.h * ((_b = sprite === null || sprite === void 0 ? void 0 : sprite.anchor.y) !== null && _b !== void 0 ? _b : 1) + (isMiddle ? this.h / 2 : 0)
|
|
212
250
|
};
|
|
213
251
|
}
|
|
214
252
|
callMethodInComponents(name, params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../src/Components/Component.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../src/Components/Component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
import { AnimationFrames, FrameOptions } from '../Sprite/Spritesheet';
|
|
1
|
+
import { SpritesheetOptions, TextureOptions, AnimationFrames, FrameOptions, TransformOptions } from '../Sprite/Spritesheet';
|
|
2
2
|
import { RpgComponent } from '../Components/Component';
|
|
3
|
+
declare type Image = {
|
|
4
|
+
image: string;
|
|
5
|
+
};
|
|
6
|
+
declare type TextureOptionsMerging = TextureOptions & {
|
|
7
|
+
spriteWidth: number;
|
|
8
|
+
spriteHeight: number;
|
|
9
|
+
sound?: string;
|
|
10
|
+
} & Image & TransformOptions;
|
|
11
|
+
declare type FrameOptionsMerging = TextureOptionsMerging & FrameOptions;
|
|
12
|
+
declare type SpritesheetOptionsMerging = TextureOptionsMerging & SpritesheetOptions;
|
|
3
13
|
declare type AnimationDataFrames = {
|
|
4
14
|
container: PIXI.Container;
|
|
5
|
-
sprites:
|
|
15
|
+
sprites: FrameOptionsMerging[];
|
|
6
16
|
frames: PIXI.Texture[][];
|
|
7
17
|
name: string;
|
|
8
18
|
animations: AnimationFrames;
|
|
9
19
|
params: any[];
|
|
10
|
-
data:
|
|
20
|
+
data: TextureOptionsMerging;
|
|
11
21
|
};
|
|
12
22
|
export declare class Animation extends PIXI.Sprite {
|
|
13
23
|
id: string;
|
|
@@ -16,8 +26,7 @@ export declare class Animation extends PIXI.Sprite {
|
|
|
16
26
|
w: number;
|
|
17
27
|
h: number;
|
|
18
28
|
};
|
|
19
|
-
applyTransform:
|
|
20
|
-
private frames;
|
|
29
|
+
applyTransform: (frame: FrameOptionsMerging, data: TextureOptionsMerging, spritesheet: SpritesheetOptionsMerging) => Partial<FrameOptionsMerging>;
|
|
21
30
|
private spritesheet;
|
|
22
31
|
private currentAnimation;
|
|
23
32
|
private time;
|
|
@@ -32,5 +41,6 @@ export declare class Animation extends PIXI.Sprite {
|
|
|
32
41
|
isPlaying(name?: string): boolean;
|
|
33
42
|
stop(): void;
|
|
34
43
|
play(name: string, params?: any[]): void;
|
|
44
|
+
update(deltaRatio: number): void;
|
|
35
45
|
}
|
|
36
46
|
export {};
|
package/lib/Effects/Animation.js
CHANGED
|
@@ -10,7 +10,6 @@ class Animation extends PIXI.Sprite {
|
|
|
10
10
|
constructor(id) {
|
|
11
11
|
super();
|
|
12
12
|
this.id = id;
|
|
13
|
-
this.frames = [];
|
|
14
13
|
this.currentAnimation = null;
|
|
15
14
|
this.time = 0;
|
|
16
15
|
this.frameIndex = 0;
|
|
@@ -24,8 +23,8 @@ class Animation extends PIXI.Sprite {
|
|
|
24
23
|
createTextures(options) {
|
|
25
24
|
const { width, height, framesHeight, framesWidth, image, offset } = options;
|
|
26
25
|
const { baseTexture } = PIXI.Texture.from(image);
|
|
27
|
-
const spriteWidth = options
|
|
28
|
-
const spriteHeight = options
|
|
26
|
+
const spriteWidth = options.spriteWidth;
|
|
27
|
+
const spriteHeight = options.spriteHeight;
|
|
29
28
|
const frames = [];
|
|
30
29
|
const offsetX = (offset && offset.x) || 0;
|
|
31
30
|
const offsetY = (offset && offset.y) || 0;
|
|
@@ -47,11 +46,15 @@ class Animation extends PIXI.Sprite {
|
|
|
47
46
|
}
|
|
48
47
|
createAnimations() {
|
|
49
48
|
const { textures } = this.spritesheet;
|
|
49
|
+
if (!textures) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
50
52
|
for (let animationName in textures) {
|
|
51
|
-
const
|
|
53
|
+
const props = ['width', 'height', 'framesHeight', 'framesWidth', 'rectWidth', 'rectHeight', 'offset', 'image', 'sound'];
|
|
54
|
+
const parentObj = props
|
|
52
55
|
.reduce((prev, val) => (Object.assign(Object.assign({}, prev), { [val]: this.spritesheet[val] })), {});
|
|
53
56
|
const optionsTextures = Object.assign(Object.assign({}, parentObj), textures[animationName]);
|
|
54
|
-
const { rectWidth, width, framesWidth, rectHeight, height, framesHeight } = optionsTextures;
|
|
57
|
+
const { rectWidth, width = 0, framesWidth = 1, rectHeight, height = 0, framesHeight = 1 } = optionsTextures;
|
|
55
58
|
optionsTextures.spriteWidth = rectWidth ? rectWidth : width / framesWidth;
|
|
56
59
|
optionsTextures.spriteHeight = rectHeight ? rectHeight : height / framesHeight;
|
|
57
60
|
this.animations.set(animationName, {
|
|
@@ -79,8 +82,9 @@ class Animation extends PIXI.Sprite {
|
|
|
79
82
|
return this.currentAnimation.name == name;
|
|
80
83
|
}
|
|
81
84
|
stop() {
|
|
85
|
+
var _a;
|
|
82
86
|
this.currentAnimation = null;
|
|
83
|
-
this.parent.removeChild(this);
|
|
87
|
+
(_a = this.parent) === null || _a === void 0 ? void 0 : _a.removeChild(this);
|
|
84
88
|
}
|
|
85
89
|
play(name, params = []) {
|
|
86
90
|
var _a;
|
|
@@ -108,14 +112,13 @@ class Animation extends PIXI.Sprite {
|
|
|
108
112
|
this.currentAnimation.container.addChild(sprite);
|
|
109
113
|
}
|
|
110
114
|
const sound = this.currentAnimation.data.sound;
|
|
111
|
-
if (
|
|
115
|
+
if (sound) {
|
|
112
116
|
RpgSound_1.RpgSound.get(sound).play();
|
|
113
117
|
}
|
|
114
118
|
this.addChild(this.currentAnimation.container);
|
|
115
119
|
// Updates immediately to avoid flickering
|
|
116
120
|
this.update(1);
|
|
117
121
|
}
|
|
118
|
-
/** @internal */
|
|
119
122
|
update(deltaRatio) {
|
|
120
123
|
if (!this.isPlaying() || !this.currentAnimation)
|
|
121
124
|
return;
|
|
@@ -143,22 +146,24 @@ class Animation extends PIXI.Sprite {
|
|
|
143
146
|
sprite[prop].set(...val);
|
|
144
147
|
}
|
|
145
148
|
};
|
|
146
|
-
|
|
149
|
+
function applyTransformValue(prop, alias) {
|
|
147
150
|
const optionProp = alias || prop;
|
|
148
151
|
const val = getVal(optionProp);
|
|
149
152
|
if (val !== undefined) {
|
|
150
153
|
sprite[prop] = val;
|
|
151
154
|
}
|
|
152
|
-
}
|
|
155
|
+
}
|
|
153
156
|
if (this.applyTransform) {
|
|
154
157
|
frame = Object.assign(Object.assign({}, frame), this.applyTransform(frame, data, this.spritesheet));
|
|
155
158
|
}
|
|
156
159
|
const applyAnchorBySize = () => {
|
|
157
|
-
const
|
|
158
|
-
const val = getVal(prop);
|
|
160
|
+
const val = getVal('spriteRealSize');
|
|
159
161
|
if (val && this.hitbox) {
|
|
160
|
-
const
|
|
161
|
-
const
|
|
162
|
+
const heightOfSprite = typeof val == 'number' ? val : val.height;
|
|
163
|
+
const { spriteWidth, spriteHeight } = data;
|
|
164
|
+
const w = ((spriteWidth - this.hitbox.w) / 2) / spriteWidth;
|
|
165
|
+
const gap = (spriteHeight - heightOfSprite) / 2;
|
|
166
|
+
const h = (spriteHeight - this.hitbox.h - gap) / spriteHeight;
|
|
162
167
|
sprite.anchor.set(w, h);
|
|
163
168
|
}
|
|
164
169
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/Effects/Animation.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AACrC,yDAAqD;AAErD,sCAA+B;AAC/B,gDAA4C;AAG5C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,cAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"Animation.js","sourceRoot":"","sources":["../../src/Effects/Animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,8 @@ var Animation;
|
|
|
5
5
|
(function (Animation) {
|
|
6
6
|
Animation["Stand"] = "stand";
|
|
7
7
|
Animation["Walk"] = "walk";
|
|
8
|
+
Animation["Attack"] = "attack";
|
|
9
|
+
Animation["Defense"] = "defense";
|
|
10
|
+
Animation["Skill"] = "skill";
|
|
8
11
|
})(Animation = exports.Animation || (exports.Animation = {}));
|
|
9
12
|
//# sourceMappingURL=AnimationCharacter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationCharacter.js","sourceRoot":"","sources":["../../src/Effects/AnimationCharacter.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"AnimationCharacter.js","sourceRoot":"","sources":["../../src/Effects/AnimationCharacter.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAMX;AAND,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;AACnB,CAAC,EANW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMpB"}
|
package/lib/GameEngine.d.ts
CHANGED
|
@@ -2,10 +2,7 @@ import { RpgCommonGame, RpgCommonPlayer, RpgShape } from "@rpgjs/common";
|
|
|
2
2
|
import { Observable } from "rxjs";
|
|
3
3
|
import { RpgRenderer } from "./Renderer";
|
|
4
4
|
import { RpgClientEngine } from "./RpgClientEngine";
|
|
5
|
-
|
|
6
|
-
object: any;
|
|
7
|
-
paramsChanged: any;
|
|
8
|
-
};
|
|
5
|
+
import { ObjectFixture } from "@rpgjs/types";
|
|
9
6
|
export declare class GameEngineClient extends RpgCommonGame {
|
|
10
7
|
playerId: string;
|
|
11
8
|
standalone: boolean;
|
|
@@ -22,7 +19,7 @@ export declare class GameEngineClient extends RpgCommonGame {
|
|
|
22
19
|
getObject: (id: string) => RpgCommonPlayer | null;
|
|
23
20
|
getShape: (id: string) => RpgShape | null;
|
|
24
21
|
getAll: (id: string) => RpgCommonPlayer | RpgShape | null;
|
|
25
|
-
removeObject: (id:
|
|
22
|
+
removeObject: (id: string) => boolean;
|
|
26
23
|
getObjectsOfGroup: () => any;
|
|
27
24
|
getShapesOfGroup: () => {
|
|
28
25
|
[id: string]: ObjectFixture;
|
|
@@ -57,8 +54,8 @@ export declare class GameEngineClient extends RpgCommonGame {
|
|
|
57
54
|
getObjectAndShape(id: string): ObjectFixture | null;
|
|
58
55
|
resetObjects(): void;
|
|
59
56
|
private _remove;
|
|
60
|
-
removeObject(id:
|
|
61
|
-
removeShape(id:
|
|
57
|
+
removeObject(id: string): boolean;
|
|
58
|
+
removeShape(id: string): boolean;
|
|
62
59
|
removeObjectAndShape(id: string): boolean;
|
|
63
60
|
static toArray(obj: any, prop: string): void;
|
|
64
61
|
updateObject(obj: any): {
|
package/lib/GameEngine.js
CHANGED
|
@@ -122,6 +122,7 @@ class GameEngineClient extends common_1.RpgCommonGame {
|
|
|
122
122
|
updateObject(obj) {
|
|
123
123
|
const { playerId: id, params, localEvent, paramsChanged, isShape } = obj;
|
|
124
124
|
GameEngineClient.toArray(params, 'components');
|
|
125
|
+
GameEngineClient.toArray(params, 'polygon');
|
|
125
126
|
const isMe = () => id == this.playerId;
|
|
126
127
|
let logic;
|
|
127
128
|
let teleported = false;
|
|
@@ -162,7 +163,7 @@ class GameEngineClient extends common_1.RpgCommonGame {
|
|
|
162
163
|
if (!localEvent &&
|
|
163
164
|
(key == 'position' ||
|
|
164
165
|
(key == 'direction' && paramsChanged && paramsChanged.position))) {
|
|
165
|
-
if (isMe())
|
|
166
|
+
if (isMe() && logic.canMove)
|
|
166
167
|
continue;
|
|
167
168
|
}
|
|
168
169
|
logic[key] = params[key];
|
package/lib/GameEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GameEngine.js","sourceRoot":"","sources":["../src/GameEngine.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"GameEngine.js","sourceRoot":"","sources":["../src/GameEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ControlOptions, Controls } from '@rpgjs/types';
|
|
2
2
|
import { RpgClientEngine } from './RpgClientEngine';
|
|
3
|
-
export interface ControlOptions {
|
|
4
|
-
repeat?: boolean;
|
|
5
|
-
bind: string | string[] | Input | Input[];
|
|
6
|
-
method?: Function;
|
|
7
|
-
}
|
|
8
|
-
export interface Controls {
|
|
9
|
-
[controlName: string]: ControlOptions;
|
|
10
|
-
}
|
|
11
3
|
declare type BoundKey = {
|
|
12
4
|
actionName: string;
|
|
13
|
-
options:
|
|
5
|
+
options: ControlOptions;
|
|
14
6
|
parameters?: any;
|
|
15
7
|
};
|
|
16
8
|
export declare class KeyboardControls {
|
|
@@ -101,6 +93,9 @@ export declare class KeyboardControls {
|
|
|
101
93
|
* * repeat {boolean} The key can be held down to repeat the action. (false by default)
|
|
102
94
|
* * bind {string | string[]} To which key is linked the control
|
|
103
95
|
* * method {Function} Function to be triggered. If you do not set this property, the name of the control is sent directly to the server.
|
|
96
|
+
* * delay {object|number} (since v3.2.0) Indicates how long (in milliseconds) the player can press the key again to perform the action
|
|
97
|
+
* * delay.duration
|
|
98
|
+
* * delay.otherControls {string | string[]} Indicates the other controls that will also have the delay at the same time
|
|
104
99
|
*
|
|
105
100
|
* ```ts
|
|
106
101
|
* import { Control, Input } from '@rpgjs/client'
|
|
@@ -141,6 +136,21 @@ export declare class KeyboardControls {
|
|
|
141
136
|
method({ actionName }) {
|
|
142
137
|
console.log('cool', actionName)
|
|
143
138
|
}
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
// The player can redo the action after 400ms
|
|
142
|
+
mycustom3: {
|
|
143
|
+
bind: Input.C,
|
|
144
|
+
delay: 400 // ms
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
// The player can redo the action (mycustom4) and the directions after 400ms
|
|
148
|
+
mycustom4: {
|
|
149
|
+
bind: Input.C,
|
|
150
|
+
delay: {
|
|
151
|
+
duration: 400,
|
|
152
|
+
otherControls: [Control.Up, Control.Down, Control.Left, Control.Right]
|
|
153
|
+
}
|
|
144
154
|
}
|
|
145
155
|
})
|
|
146
156
|
*
|
|
@@ -159,5 +169,6 @@ export declare class KeyboardControls {
|
|
|
159
169
|
* @memberof KeyboardControls
|
|
160
170
|
*/
|
|
161
171
|
setInputs(inputs: Controls): void;
|
|
172
|
+
get options(): Controls;
|
|
162
173
|
}
|
|
163
174
|
export {};
|
package/lib/KeyboardControls.js
CHANGED
|
@@ -212,10 +212,13 @@ class KeyboardControls {
|
|
|
212
212
|
return;
|
|
213
213
|
const boundKeys = Object.keys(this.boundKeys);
|
|
214
214
|
const applyInput = (keyName) => {
|
|
215
|
-
|
|
216
|
-
if (
|
|
215
|
+
const keyState = this.keyState[keyName];
|
|
216
|
+
if (!keyState)
|
|
217
|
+
return;
|
|
218
|
+
const { isDown, count } = keyState;
|
|
219
|
+
if (isDown) {
|
|
217
220
|
const { repeat, method } = this.boundKeys[keyName].options;
|
|
218
|
-
if (repeat ||
|
|
221
|
+
if ((repeat || count == 0)) {
|
|
219
222
|
let parameters = this.boundKeys[keyName].parameters;
|
|
220
223
|
if (typeof parameters === "function") {
|
|
221
224
|
parameters = parameters();
|
|
@@ -306,8 +309,9 @@ class KeyboardControls {
|
|
|
306
309
|
}
|
|
307
310
|
this.keyState[keyName].isDown = isDown;
|
|
308
311
|
// key up, reset press count
|
|
309
|
-
if (!isDown)
|
|
312
|
+
if (!isDown) {
|
|
310
313
|
this.keyState[keyName].count = 0;
|
|
314
|
+
}
|
|
311
315
|
// keep reference to the last key pressed to avoid duplicates
|
|
312
316
|
this.lastKeyPressed = isDown ? e.keyCode : null;
|
|
313
317
|
}
|
|
@@ -410,6 +414,9 @@ class KeyboardControls {
|
|
|
410
414
|
* * repeat {boolean} The key can be held down to repeat the action. (false by default)
|
|
411
415
|
* * bind {string | string[]} To which key is linked the control
|
|
412
416
|
* * method {Function} Function to be triggered. If you do not set this property, the name of the control is sent directly to the server.
|
|
417
|
+
* * delay {object|number} (since v3.2.0) Indicates how long (in milliseconds) the player can press the key again to perform the action
|
|
418
|
+
* * delay.duration
|
|
419
|
+
* * delay.otherControls {string | string[]} Indicates the other controls that will also have the delay at the same time
|
|
413
420
|
*
|
|
414
421
|
* ```ts
|
|
415
422
|
* import { Control, Input } from '@rpgjs/client'
|
|
@@ -450,6 +457,21 @@ class KeyboardControls {
|
|
|
450
457
|
method({ actionName }) {
|
|
451
458
|
console.log('cool', actionName)
|
|
452
459
|
}
|
|
460
|
+
},
|
|
461
|
+
|
|
462
|
+
// The player can redo the action after 400ms
|
|
463
|
+
mycustom3: {
|
|
464
|
+
bind: Input.C,
|
|
465
|
+
delay: 400 // ms
|
|
466
|
+
},
|
|
467
|
+
|
|
468
|
+
// The player can redo the action (mycustom4) and the directions after 400ms
|
|
469
|
+
mycustom4: {
|
|
470
|
+
bind: Input.C,
|
|
471
|
+
delay: {
|
|
472
|
+
duration: 400,
|
|
473
|
+
otherControls: [Control.Up, Control.Down, Control.Left, Control.Right]
|
|
474
|
+
}
|
|
453
475
|
}
|
|
454
476
|
})
|
|
455
477
|
*
|
|
@@ -487,6 +509,9 @@ class KeyboardControls {
|
|
|
487
509
|
}
|
|
488
510
|
this._controlsOptions = inputs;
|
|
489
511
|
}
|
|
512
|
+
get options() {
|
|
513
|
+
return this._controlsOptions;
|
|
514
|
+
}
|
|
490
515
|
}
|
|
491
516
|
exports.KeyboardControls = KeyboardControls;
|
|
492
517
|
//# sourceMappingURL=KeyboardControls.js.map
|