@rpgjs/common 3.0.0-beta.4 → 3.0.0-beta.5

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/Game.d.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import { EventEmitter } from './EventEmitter';
2
- import { Direction } from './Player';
3
- import { Control } from './Input';
2
+ import { RpgCommonPlayer } from './Player';
3
+ import { GameWorker } from './Worker';
4
4
  export default class Game extends EventEmitter {
5
5
  private side;
6
6
  events: any;
7
7
  world: any;
8
8
  constructor(side: string);
9
+ get isWorker(): boolean;
9
10
  start(world: any): void;
11
+ createWorkers(options: any): GameWorker;
10
12
  addObject(_class: any, playerId?: any): any;
11
13
  addPlayer(playerClass: any, playerId: any): any;
12
14
  addEvent(eventClass: any): any;
13
- processInput(inputData: {
14
- input: Control | Direction;
15
- }, playerId: string): void;
15
+ processInput(playerId: string): RpgCommonPlayer;
16
16
  }
package/lib/Game.js CHANGED
@@ -5,15 +5,22 @@ const EventEmitter_1 = require("./EventEmitter");
5
5
  const Player_1 = require("./Player");
6
6
  const Input_1 = require("./Input");
7
7
  const Plugin_1 = require("./Plugin");
8
+ const Worker_1 = require("./Worker");
8
9
  class Game extends EventEmitter_1.EventEmitter {
9
10
  constructor(side) {
10
11
  super();
11
12
  this.side = side;
12
13
  this.events = {}; // events for all player in map
13
14
  }
15
+ get isWorker() {
16
+ return this.side == 'worker';
17
+ }
14
18
  start(world) {
15
19
  this.world = world;
16
20
  }
21
+ createWorkers(options) {
22
+ return new Worker_1.GameWorker(options);
23
+ }
17
24
  addObject(_class, playerId) {
18
25
  let event;
19
26
  if (!playerId)
@@ -34,26 +41,35 @@ class Game extends EventEmitter_1.EventEmitter {
34
41
  const event = this.addObject(eventClass);
35
42
  return event;
36
43
  }
37
- processInput(inputData, playerId) {
44
+ processInput(playerId) {
38
45
  const player = this.world.getObject(playerId);
39
- const { input } = inputData;
40
- let moving = false;
41
46
  if (!player)
42
- return;
47
+ return player;
43
48
  if (!player.canMove)
44
- return;
45
- if (input == Input_1.Control.Action) {
46
- player.triggerCollisionWith(Player_1.RpgCommonPlayer.ACTIONS.ACTION);
49
+ return player;
50
+ const routesMove = [];
51
+ while (player.pendingMove.length > 0) {
52
+ const inputData = player.pendingMove.shift();
53
+ let { input, deltaTimeInt } = inputData;
54
+ let moving = false;
55
+ if (input == Input_1.Control.Action) {
56
+ player.triggerCollisionWith(Player_1.RpgCommonPlayer.ACTIONS.ACTION);
57
+ }
58
+ else if (input == Player_1.Direction.Left ||
59
+ input == Player_1.Direction.Right ||
60
+ input == Player_1.Direction.Up ||
61
+ input == Player_1.Direction.Down) {
62
+ moving = true;
63
+ const isMove = player.moveByDirection(+input, deltaTimeInt || 1);
64
+ if (isMove) {
65
+ routesMove.push(inputData);
66
+ }
67
+ }
68
+ // TODO, is Worker
69
+ if (this.side == 'server')
70
+ Plugin_1.RpgPlugin.emit('Server.onInput', [player, Object.assign(Object.assign({}, inputData), { moving })], true);
47
71
  }
48
- else if (input == Player_1.Direction.Left ||
49
- input == Player_1.Direction.Right ||
50
- input == Player_1.Direction.Up ||
51
- input == Player_1.Direction.Down) {
52
- moving = true;
53
- player.moveByDirection(input);
54
- }
55
- if (this.side == 'server')
56
- Plugin_1.RpgPlugin.emit('Server.onInput', [player, Object.assign(Object.assign({}, inputData), { moving })], true);
72
+ return player;
57
73
  }
58
74
  }
59
75
  exports.default = Game;
package/lib/Game.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AACrC,iDAA6C;AAC7C,qCAAqD;AACrD,mCAAiC;AACjC,qCAAoC;AAEpC,MAAqB,IAAK,SAAQ,2BAAY;IAK1C,YAAoB,IAAY;QAC5B,KAAK,EAAE,CAAA;QADS,SAAI,GAAJ,IAAI,CAAQ;QAE5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,+BAA+B;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,QAAS;QACvB,IAAI,KAAK,CAAA;QACT,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,mBAAW,EAAE,CAAA;QACvC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;YACvC,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;SACrC;aACI;YACD,KAAK,GAAG,MAAM,CAAA;SACjB;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,WAAW,EAAE,QAAQ;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACxC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,YAAY,CAAC,SAAyC,EAAE,QAAgB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;QAC3B,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE3B,IAAI,KAAK,IAAI,eAAO,CAAC,MAAM,EAAE;YACzB,MAAM,CAAC,oBAAoB,CAAC,wBAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SAC9D;aACI,IACD,KAAK,IAAI,kBAAS,CAAC,IAAI;YACvB,KAAK,IAAI,kBAAS,CAAC,KAAK;YACxB,KAAK,IAAI,kBAAS,CAAC,EAAE;YACrB,KAAK,IAAI,kBAAS,CAAC,IAAI,EACrB;YACF,MAAM,GAAG,IAAI,CAAA;YACb,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SAChC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YAAE,kBAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,kCAC5D,SAAS,KACZ,MAAM,IACR,EAAE,IAAI,CAAC,CAAA;IACb,CAAC;CACJ;AA7DD,uBA6DC"}
1
+ {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AACrC,iDAA6C;AAC7C,qCAAqD;AACrD,mCAAiC;AACjC,qCAAoC;AACpC,qCAAqC;AAErC,MAAqB,IAAK,SAAQ,2BAAY;IAK1C,YAAoB,IAAY;QAC5B,KAAK,EAAE,CAAA;QADS,SAAI,GAAJ,IAAI,CAAQ;QAE5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,+BAA+B;IACpD,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,aAAa,CAAC,OAAY;QACtB,OAAO,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,QAAS;QACvB,IAAI,KAAK,CAAA;QACT,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,mBAAW,EAAE,CAAA;QACvC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;YACvC,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;SACrC;aACI;YACD,KAAK,GAAG,MAAM,CAAA;SACjB;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,WAAW,EAAE,QAAQ;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACxC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,YAAY,CAAC,QAAgB;QACzB,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAE9D,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,MAAM,CAAA;QAElC,MAAM,UAAU,GAAQ,EAAE,CAAA;QAE1B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;YAC5C,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAgB,CAAA;YAC9C,IAAI,MAAM,GAAG,KAAK,CAAA;YAElB,IAAI,KAAK,IAAI,eAAO,CAAC,MAAM,EAAE;gBACzB,MAAM,CAAC,oBAAoB,CAAC,wBAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;aAC9D;iBACI,IACD,KAAK,IAAI,kBAAS,CAAC,IAAI;gBACvB,KAAK,IAAI,kBAAS,CAAC,KAAK;gBACxB,KAAK,IAAI,kBAAS,CAAC,EAAE;gBACrB,KAAK,IAAI,kBAAS,CAAC,IAAI,EACzB;gBACE,MAAM,GAAG,IAAI,CAAA;gBACb,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,CAAA;gBAChE,IAAI,MAAM,EAAE;oBACR,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBAC7B;aACJ;YACD,kBAAkB;YAClB,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;gBAAE,kBAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,kCAC5D,SAAS,KACZ,MAAM,IACR,EAAE,IAAI,CAAC,CAAA;SAEZ;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ;AAjFD,uBAiFC"}
package/lib/Input.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export declare enum Control {
2
2
  Action = "action",
3
3
  Back = "back",
4
- Up = "up",
5
- Down = "down",
6
- Right = "right",
7
- Left = "left"
4
+ Up = 1,
5
+ Down = 3,
6
+ Right = 2,
7
+ Left = 4
8
8
  }
9
9
  export declare enum Input {
10
10
  Break = "break",
@@ -25,10 +25,10 @@ export declare enum Input {
25
25
  PageDown = "page down",
26
26
  End = "end",
27
27
  Home = "home",
28
- Left = "left",
29
- Up = "up",
30
- Right = "right",
31
- Down = "down",
28
+ Left = 4,
29
+ Up = 1,
30
+ Right = 2,
31
+ Down = 3,
32
32
  Select = "select",
33
33
  Print = "print",
34
34
  Execute = "execute",
package/lib/Input.js CHANGED
@@ -5,10 +5,10 @@ var Control;
5
5
  (function (Control) {
6
6
  Control["Action"] = "action";
7
7
  Control["Back"] = "back";
8
- Control["Up"] = "up";
9
- Control["Down"] = "down";
10
- Control["Right"] = "right";
11
- Control["Left"] = "left";
8
+ Control[Control["Up"] = 1] = "Up";
9
+ Control[Control["Down"] = 3] = "Down";
10
+ Control[Control["Right"] = 2] = "Right";
11
+ Control[Control["Left"] = 4] = "Left";
12
12
  })(Control = exports.Control || (exports.Control = {}));
13
13
  var Input;
14
14
  (function (Input) {
@@ -30,10 +30,10 @@ var Input;
30
30
  Input["PageDown"] = "page down";
31
31
  Input["End"] = "end";
32
32
  Input["Home"] = "home";
33
- Input["Left"] = "left";
34
- Input["Up"] = "up";
35
- Input["Right"] = "right";
36
- Input["Down"] = "down";
33
+ Input[Input["Left"] = 4] = "Left";
34
+ Input[Input["Up"] = 1] = "Up";
35
+ Input[Input["Right"] = 2] = "Right";
36
+ Input[Input["Down"] = 3] = "Down";
37
37
  Input["Select"] = "select";
38
38
  Input["Print"] = "print";
39
39
  Input["Execute"] = "execute";
package/lib/Input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAOX;AAPD,WAAY,OAAO;IACf,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,oBAAS,CAAA;IACT,wBAAa,CAAA;IACb,0BAAe,CAAA;IACf,wBAAa,CAAA;AACjB,CAAC,EAPW,OAAO,GAAP,eAAO,KAAP,eAAO,QAOlB;AAED,IAAY,KA4IX;AA5ID,WAAY,KAAK;IACb,wBAAe,CAAA;IACf,gCAAuB,CAAA;IACvB,oBAAW,CAAA;IACX,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,oBAAW,CAAA;IACX,8BAAqB,CAAA;IACrB,+BAAsB,CAAA;IACtB,0BAAiB,CAAA;IACjB,kCAAyB,CAAA;IACzB,yCAAgC,CAAA;IAChC,wBAAe,CAAA;IACf,2BAAkB,CAAA;IAClB,+BAAsB,CAAA;IACtB,oBAAW,CAAA;IACX,sBAAa,CAAA;IACb,sBAAa,CAAA;IACb,kBAAS,CAAA;IACT,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,0BAAiB,CAAA;IACjB,wBAAe,CAAA;IACf,4BAAmB,CAAA;IACnB,qCAA4B,CAAA;IAC5B,0BAAiB,CAAA;IACjB,0BAAiB,CAAA;IACjB,mBAAU,CAAA;IACV,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,oBAAW,CAAA;IACX,mBAAU,CAAA;IACV,mBAAU,CAAA;IACV,kBAAS,CAAA;IACT,oBAAW,CAAA;IACX,qBAAY,CAAA;IACZ,mBAAU,CAAA;IACV,oBAAW,CAAA;IACX,kDAAyC,CAAA;IACzC,uBAAc,CAAA;IACd,oCAA2B,CAAA;IAC3B,wBAAU,CAAA;IACV,iBAAQ,CAAA;IACR,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,gBAAO,CAAA;IACP,wEAA0D,CAAA;IAC1D,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,6BAAoB,CAAA;IACpB,8BAAqB,CAAA;IACrB,oBAAW,CAAA;IACX,8BAAqB,CAAA;IACrB,uCAA8B,CAAA;IAC9B,0BAAiB,CAAA;IACjB,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,kBAAS,CAAA;IACT,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,oBAAW,CAAA;IACX,6BAAoB,CAAA;IACpB,mCAA0B,CAAA;IAC1B,+BAAsB,CAAA;IACtB,8BAAqB,CAAA;IACrB,mBAAU,CAAA;IACV,qBAAY,CAAA;IACZ,2BAAa,CAAA;IACb,uCAA8B,CAAA;IAC9B,qCAA4B,CAAA;IAC5B,mBAAU,CAAA;IACV,iDAAwC,CAAA;IACxC,iDAAwC,CAAA;IACxC,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,sBAAa,CAAA;IACb,iCAAwB,CAAA;IACxB,yBAAgB,CAAA;IAChB,0CAA4B,CAAA;IAC5B,iCAAwB,CAAA;IACxB,wBAAe,CAAA;IACf,sBAAa,CAAA;IACb,+CAAiC,CAAA;IACjC,uDAAoC,CAAA;IACpC,qCAA4B,CAAA;IAC5B,iCAAwB,CAAA;IACxB,gDAAkC,CAAA;IAClC,8CAAgC,CAAA;IAChC,wBAAe,CAAA;IACf,wBAAe,CAAA;AACnB,CAAC,EA5IW,KAAK,GAAL,aAAK,KAAL,aAAK,QA4IhB"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":"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"}
package/lib/Map.d.ts CHANGED
@@ -1,7 +1,18 @@
1
1
  import { HitObject } from './Hit';
2
2
  import { RpgShape } from './Shape';
3
+ import { VirtualGrid } from './VirtualGrid';
4
+ export interface Tile {
5
+ id: number;
6
+ terrain: any[];
7
+ probability: any;
8
+ properties: any;
9
+ animations: any[];
10
+ objectGroups: any[];
11
+ image: any;
12
+ gid: number;
13
+ }
3
14
  export interface TileInfo {
4
- tiles: any[];
15
+ tiles: Tile[];
5
16
  hasCollision: boolean;
6
17
  isClimbable?: boolean;
7
18
  isOverlay: boolean;
@@ -15,9 +26,10 @@ export interface LayerInfo {
15
26
  visible: boolean;
16
27
  properties: any;
17
28
  objects: HitObject[];
18
- tiles: any[];
29
+ tiles: Tile[];
19
30
  }
20
31
  export default class RpgCommonMap {
32
+ grid: VirtualGrid;
21
33
  /**
22
34
  * @title Data of map
23
35
  * @prop {object} [data]
@@ -120,7 +132,7 @@ export default class RpgCommonMap {
120
132
  /**
121
133
  * Delete a shape
122
134
  *
123
- * @title Get Shapes
135
+ * @title Delete Shape
124
136
  * @method map.removeShape(name)
125
137
  * @param {string} name Name of shape
126
138
  * @returns {void}
package/lib/Map.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const Utils_1 = require("./Utils");
4
4
  const Shape_1 = require("./Shape");
5
5
  const Hit_1 = require("./Hit");
6
+ const VirtualGrid_1 = require("./VirtualGrid");
6
7
  const buffer = new Map();
7
8
  class RpgCommonMap {
8
9
  constructor() {
@@ -44,6 +45,7 @@ class RpgCommonMap {
44
45
  this.tileHeight = data.tileHeight;
45
46
  this.height = data.height;
46
47
  this.layers = data.layers;
48
+ this.grid = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(10);
47
49
  this._extractShapes();
48
50
  }
49
51
  /**
@@ -134,7 +136,7 @@ class RpgCommonMap {
134
136
  /**
135
137
  * Delete a shape
136
138
  *
137
- * @title Get Shapes
139
+ * @title Delete Shape
138
140
  * @method map.removeShape(name)
139
141
  * @param {string} name Name of shape
140
142
  * @returns {void}
package/lib/Map.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
package/lib/Player.d.ts CHANGED
@@ -7,10 +7,14 @@ export declare type Position = {
7
7
  z: number;
8
8
  };
9
9
  export declare enum Direction {
10
- Up = "up",
11
- Down = "down",
12
- Left = "left",
13
- Right = "right"
10
+ Up = 1,
11
+ Down = 3,
12
+ Left = 4,
13
+ Right = 2,
14
+ UpRight = 1.5,
15
+ DownRight = 2.5,
16
+ DownLeft = 3.5,
17
+ UpLeft = 2.5
14
18
  }
15
19
  export declare enum PlayerType {
16
20
  Player = "player",
@@ -30,7 +34,18 @@ export declare class RpgCommonPlayer {
30
34
  private collisionWith;
31
35
  private _collisionWithTiles;
32
36
  data: any;
33
- hitbox: any;
37
+ hitbox: SAT.Box;
38
+ pendingMove: {
39
+ input: string;
40
+ }[];
41
+ /**
42
+ * Display/Hide the GUI attached to this sprite
43
+ *
44
+ * @prop {boolean} guiDisplay
45
+ * @since 3.0.0-beta.5
46
+ * @memberof RpgSprite
47
+ * */
48
+ guiDisplay: boolean;
34
49
  inShapes: {
35
50
  [shapeId: string]: RpgShape;
36
51
  };
@@ -79,7 +94,7 @@ export declare class RpgCommonPlayer {
79
94
  * @title Get Collision of other players/events
80
95
  * @since 3.0.0-beta.4
81
96
  * @readonly
82
- * @prop { (RpgPlayer | Rpgvent)[] } otherPlayersCollision
97
+ * @prop { (RpgPlayer | RpgEvent)[] } otherPlayersCollision
83
98
  * @memberof Player
84
99
  * @memberof RpgSpriteLogic
85
100
  */
@@ -141,7 +156,8 @@ export declare class RpgCommonPlayer {
141
156
  set hHitbox(val: any);
142
157
  get wHitbox(): any;
143
158
  get hHitbox(): any;
144
- defineNextPosition(direction: any): Position;
159
+ private directionToAngle;
160
+ defineNextPosition(direction: number, deltaTimeInt: number): Position;
145
161
  setPosition({ x, y, tileX, tileY }: {
146
162
  x: any;
147
163
  y: any;
@@ -150,7 +166,7 @@ export declare class RpgCommonPlayer {
150
166
  }, move?: boolean): void;
151
167
  triggerCollisionWith(type?: number): void;
152
168
  zCollision(other: any): boolean;
153
- moveByDirection(direction: Direction): boolean;
169
+ moveByDirection(direction: Direction, deltaTimeInt: number): boolean;
154
170
  /**
155
171
  * Retrieves a tile and checks if the player has a collision
156
172
  *
@@ -257,7 +273,7 @@ export declare class RpgCommonPlayer {
257
273
  *
258
274
  * @title Get Direction
259
275
  * @method player.getDirection()
260
- * @returns {string} left, right, up or down
276
+ * @returns {Direction | number} direction
261
277
  * @memberof Player
262
278
  */
263
279
  getDirection(direction?: Direction | number): string | number;
@@ -288,6 +304,12 @@ export declare class RpgCommonPlayer {
288
304
  * This is the ratio between the height or width of the tile and the speed of the player.
289
305
  */
290
306
  get nbPixelInTile(): any;
307
+ getSizeMaxShape(x?: number, y?: number): {
308
+ minX: number;
309
+ minY: number;
310
+ maxX: number;
311
+ maxY: number;
312
+ };
291
313
  }
292
314
  export interface RpgCommonPlayer {
293
315
  readonly type: string;
package/lib/Player.js CHANGED
@@ -10,14 +10,17 @@ const Shape_1 = require("./Shape");
10
10
  const sat_1 = __importDefault(require("sat"));
11
11
  const Map_1 = __importDefault(require("./Map"));
12
12
  const Plugin_1 = require("./Plugin");
13
- const _1 = require(".");
14
13
  const ACTIONS = { IDLE: 0, RUN: 1, ACTION: 2 };
15
14
  var Direction;
16
15
  (function (Direction) {
17
- Direction["Up"] = "up";
18
- Direction["Down"] = "down";
19
- Direction["Left"] = "left";
20
- Direction["Right"] = "right";
16
+ Direction[Direction["Up"] = 1] = "Up";
17
+ Direction[Direction["Down"] = 3] = "Down";
18
+ Direction[Direction["Left"] = 4] = "Left";
19
+ Direction[Direction["Right"] = 2] = "Right";
20
+ Direction[Direction["UpRight"] = 1.5] = "UpRight";
21
+ Direction[Direction["DownRight"] = 2.5] = "DownRight";
22
+ Direction[Direction["DownLeft"] = 3.5] = "DownLeft";
23
+ Direction[Direction["UpLeft"] = 2.5] = "UpLeft";
21
24
  })(Direction = exports.Direction || (exports.Direction = {}));
22
25
  var PlayerType;
23
26
  (function (PlayerType) {
@@ -33,10 +36,11 @@ class RpgCommonPlayer {
33
36
  this.height = 0;
34
37
  this.width = 0;
35
38
  this.events = [];
36
- this.direction = 0;
39
+ this.direction = 3;
37
40
  this.collisionWith = [];
38
41
  this._collisionWithTiles = [];
39
42
  this.data = {};
43
+ this.pendingMove = [];
40
44
  this.inShapes = {};
41
45
  this.shapes = [];
42
46
  this._hitboxPos = new sat_1.default.Vector(0, 0);
@@ -66,16 +70,15 @@ class RpgCommonPlayer {
66
70
  this._hitboxPos.x = x;
67
71
  this._hitboxPos.y = y;
68
72
  this._hitboxPos.z = z;
69
- if (this.steerable) {
70
- this.steerable.position.copy(this.getVector3D(x, z, y));
73
+ this._position = val;
74
+ const map = this.mapInstance;
75
+ if (map /*&& this.gameEngine.isWorker TODO */) {
76
+ map.grid.insertInCells(this.id, this.getSizeMaxShape());
71
77
  }
72
78
  this._position = new Proxy(val, {
73
79
  get: (target, prop) => target[prop],
74
80
  set: (target, prop, value) => {
75
81
  this._hitboxPos[prop] = value;
76
- if (this.steerable) {
77
- this.steerable[prop] = value;
78
- }
79
82
  target[prop] = value;
80
83
  return true;
81
84
  }
@@ -117,7 +120,7 @@ class RpgCommonPlayer {
117
120
  * @title Get Collision of other players/events
118
121
  * @since 3.0.0-beta.4
119
122
  * @readonly
120
- * @prop { (RpgPlayer | Rpgvent)[] } otherPlayersCollision
123
+ * @prop { (RpgPlayer | RpgEvent)[] } otherPlayersCollision
121
124
  * @memberof Player
122
125
  * @memberof RpgSpriteLogic
123
126
  */
@@ -197,34 +200,21 @@ class RpgCommonPlayer {
197
200
  get hHitbox() {
198
201
  return this.hitbox.h;
199
202
  }
200
- defineNextPosition(direction) {
201
- switch (direction) {
202
- case Direction.Left:
203
- return {
204
- x: this.position.x - this.speed,
205
- y: this.position.y,
206
- z: this.position.z
207
- };
208
- case Direction.Right:
209
- return {
210
- x: this.position.x + this.speed,
211
- y: this.position.y,
212
- z: this.position.z
213
- };
214
- case Direction.Up:
215
- return {
216
- x: this.position.x,
217
- y: this.position.y - this.speed,
218
- z: this.position.z
219
- };
220
- case Direction.Down:
221
- return {
222
- x: this.position.x,
223
- y: this.position.y + this.speed,
224
- z: this.position.z
225
- };
226
- }
227
- return this.position;
203
+ directionToAngle(direction) {
204
+ const angle = (direction < 2 ? +direction + 2 : direction - 2) * 90;
205
+ return Utils_1.toRadians(angle);
206
+ }
207
+ defineNextPosition(direction, deltaTimeInt) {
208
+ const angle = this.directionToAngle(direction);
209
+ const computePosition = (prop) => {
210
+ return this.position[prop] + this.speed * deltaTimeInt
211
+ * (Math.round(Math[prop == 'x' ? 'cos' : 'sin'](angle) * 100) / 100);
212
+ };
213
+ return {
214
+ x: computePosition('x'),
215
+ y: computePosition('y'),
216
+ z: this.position.z
217
+ };
228
218
  }
229
219
  setPosition({ x, y, tileX, tileY }, move = true) {
230
220
  const { tileWidth, tileHeight } = this.mapInstance;
@@ -257,8 +247,8 @@ class RpgCommonPlayer {
257
247
  const otherZ = other.position.z;
258
248
  return Utils_1.intersection([z, z + this.height], [otherZ, otherZ + other.height]);
259
249
  }
260
- moveByDirection(direction) {
261
- const nextPosition = this.defineNextPosition(direction);
250
+ moveByDirection(direction, deltaTimeInt) {
251
+ const nextPosition = this.defineNextPosition(direction, deltaTimeInt);
262
252
  return this.move(nextPosition);
263
253
  }
264
254
  /**
@@ -345,8 +335,13 @@ class RpgCommonPlayer {
345
335
  tileCollision(nextPosition.x + this.hitbox.w, nextPosition.y + this.hitbox.h)) {
346
336
  return true;
347
337
  }
348
- let events = this.gameEngine.world.getObjectsOfGroup(this.map, this);
349
- for (let event of events) {
338
+ const events = this.gameEngine.world.getObjectsOfGroup(this.map, this);
339
+ const objects = map.grid.getObjectsByBox(this.getSizeMaxShape(nextPosition.x, nextPosition.y));
340
+ for (let objectId of objects) {
341
+ // client side: read "object" propertie
342
+ if (!events[objectId])
343
+ continue;
344
+ const event = events[objectId]['object'] || events[objectId];
350
345
  if (event.id == this.id)
351
346
  continue;
352
347
  if (!this.zCollision(event))
@@ -477,7 +472,7 @@ class RpgCommonPlayer {
477
472
  const collided = testCollision && !this.isCollided(nextPosition);
478
473
  if (collided) {
479
474
  this.position = nextPosition;
480
- Plugin_1.RpgPlugin.emit(_1.HookServer.PlayerMove, this);
475
+ Plugin_1.RpgPlugin.emit(Plugin_1.HookServer.PlayerMove, this);
481
476
  }
482
477
  return true;
483
478
  }
@@ -502,21 +497,11 @@ class RpgCommonPlayer {
502
497
  *
503
498
  * @title Get Direction
504
499
  * @method player.getDirection()
505
- * @returns {string} left, right, up or down
500
+ * @returns {Direction | number} direction
506
501
  * @memberof Player
507
502
  */
508
503
  getDirection(direction) {
509
- const currentDir = direction || this.direction;
510
- if (!Utils_1.isString(currentDir)) {
511
- return [Direction.Down, Direction.Left, Direction.Right, Direction.Up][currentDir];
512
- }
513
- const dir = {
514
- [Direction.Down]: 0,
515
- [Direction.Left]: 1,
516
- [Direction.Right]: 2,
517
- [Direction.Up]: 3
518
- };
519
- return dir[currentDir];
504
+ return direction || this.direction;
520
505
  }
521
506
  /**
522
507
  * Changes the player's direction
@@ -563,6 +548,33 @@ class RpgCommonPlayer {
563
548
  return NaN;
564
549
  }
565
550
  }
551
+ getSizeMaxShape(x, y) {
552
+ const _x = x || this.position.x;
553
+ const _y = y || this.position.y;
554
+ let minX = _x;
555
+ let minY = _y;
556
+ let maxX = _x + this.wHitbox;
557
+ let maxY = _y + this.hHitbox;
558
+ const shapes = this.getShapes();
559
+ for (let shape of shapes) {
560
+ if (shape.x < minX)
561
+ minX = shape.x;
562
+ if (shape.y < minY)
563
+ minX = shape.y;
564
+ const shapeMaxX = shape.x + shape.width;
565
+ const shapeMaxY = shape.y + shape.height;
566
+ if (shapeMaxX > maxX)
567
+ maxX = shapeMaxX;
568
+ if (shapeMaxY > maxY)
569
+ maxY = shapeMaxY;
570
+ }
571
+ return {
572
+ minX,
573
+ minY,
574
+ maxX,
575
+ maxY
576
+ };
577
+ }
566
578
  execMethod(methodName, methodData, instance) { }
567
579
  }
568
580
  exports.RpgCommonPlayer = RpgCommonPlayer;
package/lib/Player.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}