@rpgjs/common 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/Event.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { RpgCommonPlayer } from './Player';
2
- export default class Event extends RpgCommonPlayer {
2
+ export declare class RpgCommonEvent extends RpgCommonPlayer {
3
3
  }
package/lib/Event.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RpgCommonEvent = void 0;
3
4
  const Player_1 = require("./Player");
4
- class Event extends Player_1.RpgCommonPlayer {
5
+ class RpgCommonEvent extends Player_1.RpgCommonPlayer {
5
6
  }
6
- exports.default = Event;
7
+ exports.RpgCommonEvent = RpgCommonEvent;
7
8
  //# sourceMappingURL=Event.js.map
package/lib/Event.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../src/Event.ts"],"names":[],"mappings":";;AACA,qCAA0C;AAE1C,MAAqB,KAAM,SAAQ,wBAAe;CAEjD;AAFD,wBAEC"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../src/Event.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,MAAa,cAAe,SAAQ,wBAAe;CAAG;AAAtD,wCAAsD"}
package/lib/Game.d.ts CHANGED
@@ -1,16 +1,21 @@
1
1
  import { EventEmitter } from './EventEmitter';
2
- import { Direction } from './Player';
3
- import { Control } from './Input';
4
- export default class Game extends EventEmitter {
5
- private side;
2
+ import { RpgCommonPlayer } from './Player';
3
+ import { GameWorker } from './Worker';
4
+ export declare enum GameSide {
5
+ Server = "server",
6
+ Client = "client",
7
+ Worker = "worker"
8
+ }
9
+ export declare class RpgCommonGame extends EventEmitter {
10
+ side: GameSide;
6
11
  events: any;
7
12
  world: any;
8
- constructor(side: string);
13
+ constructor(side: GameSide);
14
+ get isWorker(): boolean;
9
15
  start(world: any): void;
10
- addObject(_class: any, playerId?: any): any;
11
- addPlayer(playerClass: any, playerId: any): any;
12
- addEvent(eventClass: any): any;
13
- processInput(inputData: {
14
- input: Control | Direction;
15
- }, playerId: string): void;
16
+ createWorkers(options: any): GameWorker;
17
+ addObject(_class: any, playerId?: string): any;
18
+ addPlayer(playerClass: any, playerId?: string): any;
19
+ addEvent(eventClass: any, eventId?: string): any;
20
+ processInput<RpgPlayer extends RpgCommonPlayer>(playerId: string): Promise<RpgPlayer>;
16
21
  }
package/lib/Game.js CHANGED
@@ -1,24 +1,47 @@
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 });
12
+ exports.RpgCommonGame = exports.GameSide = void 0;
3
13
  const Utils_1 = require("./Utils");
4
14
  const EventEmitter_1 = require("./EventEmitter");
5
15
  const Player_1 = require("./Player");
6
16
  const Input_1 = require("./Input");
7
17
  const Plugin_1 = require("./Plugin");
8
- class Game extends EventEmitter_1.EventEmitter {
18
+ const Worker_1 = require("./Worker");
19
+ var GameSide;
20
+ (function (GameSide) {
21
+ GameSide["Server"] = "server";
22
+ GameSide["Client"] = "client";
23
+ GameSide["Worker"] = "worker";
24
+ })(GameSide = exports.GameSide || (exports.GameSide = {}));
25
+ class RpgCommonGame extends EventEmitter_1.EventEmitter {
9
26
  constructor(side) {
10
27
  super();
11
28
  this.side = side;
12
29
  this.events = {}; // events for all player in map
13
30
  }
31
+ get isWorker() {
32
+ return this.side == 'worker';
33
+ }
14
34
  start(world) {
15
35
  this.world = world;
16
36
  }
37
+ createWorkers(options) {
38
+ return new Worker_1.GameWorker(options);
39
+ }
17
40
  addObject(_class, playerId) {
18
41
  let event;
19
42
  if (!playerId)
20
43
  playerId = Utils_1.generateUID();
21
- if (_class.constructor.name == 'Function') {
44
+ if (Utils_1.isClass(_class)) {
22
45
  event = new _class(this, playerId);
23
46
  }
24
47
  else {
@@ -30,31 +53,41 @@ class Game extends EventEmitter_1.EventEmitter {
30
53
  const player = this.addObject(playerClass, playerId);
31
54
  return player;
32
55
  }
33
- addEvent(eventClass) {
34
- const event = this.addObject(eventClass);
56
+ addEvent(eventClass, eventId) {
57
+ const event = this.addObject(eventClass, eventId);
35
58
  return event;
36
59
  }
37
- processInput(inputData, playerId) {
38
- const player = this.world.getObject(playerId);
39
- const { input } = inputData;
40
- let moving = false;
41
- if (!player)
42
- return;
43
- if (!player.canMove)
44
- return;
45
- if (input == Input_1.Control.Action) {
46
- player.triggerCollisionWith(Player_1.RpgCommonPlayer.ACTIONS.ACTION);
47
- }
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);
60
+ processInput(playerId) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const player = this.world.getObject(playerId);
63
+ if (!player)
64
+ return player;
65
+ if (!player.canMove)
66
+ return player;
67
+ const routesMove = [];
68
+ while (player.pendingMove.length > 0) {
69
+ const inputData = player.pendingMove.shift();
70
+ let { input, deltaTimeInt } = inputData;
71
+ let moving = false;
72
+ if (input == Input_1.Control.Action) {
73
+ player.triggerCollisionWith(Player_1.RpgCommonPlayer.ACTIONS.ACTION);
74
+ }
75
+ else if (input == Player_1.Direction.Left ||
76
+ input == Player_1.Direction.Right ||
77
+ input == Player_1.Direction.Up ||
78
+ input == Player_1.Direction.Down) {
79
+ moving = true;
80
+ const isMove = yield player.moveByDirection(+input, deltaTimeInt || 1);
81
+ if (isMove) {
82
+ routesMove.push(inputData);
83
+ }
84
+ }
85
+ // TODO, is Worker
86
+ Plugin_1.RpgPlugin.emit('Server.onInput', [player, Object.assign(Object.assign({}, inputData), { moving })], true);
87
+ }
88
+ return player;
89
+ });
57
90
  }
58
91
  }
59
- exports.default = Game;
92
+ exports.RpgCommonGame = RpgCommonGame;
60
93
  //# sourceMappingURL=Game.js.map
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":"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"}
package/lib/Hit.d.ts CHANGED
@@ -3,9 +3,14 @@ export interface HitObject {
3
3
  ellipse?: boolean;
4
4
  gid?: number;
5
5
  height: number;
6
- polygon?: any[];
6
+ polygon?: {
7
+ x: number;
8
+ y: number;
9
+ }[];
7
10
  polyline?: any[];
8
- properties?: object;
11
+ properties?: {
12
+ [key: string]: any;
13
+ };
9
14
  rotation?: number;
10
15
  visible?: boolean;
11
16
  width: number;
@@ -20,9 +25,11 @@ declare class HitClass {
20
25
  x: number;
21
26
  y: number;
22
27
  }): {
23
- properties: object | undefined;
24
- hitbox: any;
25
- type: any;
28
+ properties: {
29
+ [key: string]: any;
30
+ } | undefined;
31
+ hitbox: SAT;
32
+ type: string;
26
33
  name: string | undefined;
27
34
  };
28
35
  testPolyCollision(type: string, hit1: SAT, hit2: SAT): boolean;
package/lib/Hit.js CHANGED
@@ -5,6 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Hit = void 0;
7
7
  const sat_1 = __importDefault(require("sat"));
8
+ const Utils_1 = require("./Utils");
9
+ var HitType;
10
+ (function (HitType) {
11
+ HitType["Box"] = "box";
12
+ HitType["Circle"] = "circle";
13
+ HitType["Polygon"] = "polygon";
14
+ })(HitType || (HitType = {}));
8
15
  class HitClass {
9
16
  createObjectHitbox(x, y, z, w, h) {
10
17
  return new sat_1.default.Box(new sat_1.default.Vector(x, y - z), w, h);
@@ -16,15 +23,16 @@ class HitClass {
16
23
  const x = obj.x + offset.x;
17
24
  const y = obj.y + offset.y;
18
25
  if (obj.ellipse) {
19
- type = 'circle';
20
- hitbox = new sat_1.default.Circle(new sat_1.default.Vector(x, y), obj.width);
26
+ type = HitType.Circle;
27
+ const radius = obj.width / 2;
28
+ hitbox = new sat_1.default.Circle(new sat_1.default.Vector(x + radius, y + radius), radius);
21
29
  }
22
30
  else if (obj.polygon) {
23
- type = 'polygon';
31
+ type = HitType.Polygon;
24
32
  hitbox = new sat_1.default.Polygon(new sat_1.default.Vector(x, y), obj.polygon.map(pos => new sat_1.default.Vector(+pos.x, +pos.y)));
25
33
  }
26
34
  else if (!obj.polygon && obj.width > 0 && obj.height > 0) {
27
- type = 'box';
35
+ type = HitType.Box;
28
36
  hitbox = new sat_1.default.Box(new sat_1.default.Vector(x, y), obj.width, obj.height);
29
37
  }
30
38
  else {
@@ -40,15 +48,19 @@ class HitClass {
40
48
  }
41
49
  testPolyCollision(type, hit1, hit2) {
42
50
  let collided = false;
51
+ if (Utils_1.isInstanceOf(hit1, sat_1.default.Box))
52
+ hit1 = hit1.toPolygon();
53
+ if (Utils_1.isInstanceOf(hit2, sat_1.default.Box))
54
+ hit2 = hit2.toPolygon();
43
55
  switch (type) {
44
- case 'box':
45
- collided = sat_1.default.testPolygonPolygon(hit1.toPolygon(), hit2.toPolygon());
56
+ case HitType.Box:
57
+ collided = sat_1.default.testPolygonPolygon(hit1, hit2);
46
58
  break;
47
- case 'circle':
48
- collided = sat_1.default.testPolygonCircle(hit1.toPolygon(), hit2);
59
+ case HitType.Circle:
60
+ collided = sat_1.default.testPolygonCircle(hit1, hit2);
49
61
  break;
50
- case 'polygon':
51
- collided = sat_1.default.testPolygonPolygon(hit1, hit2.toPolygon());
62
+ case HitType.Polygon:
63
+ collided = sat_1.default.testPolygonPolygon(hit1, hit2);
52
64
  break;
53
65
  }
54
66
  return collided;
package/lib/Hit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqB;AAkBrB,MAAM,QAAQ;IAEV,kBAAkB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QACpE,OAAO,IAAI,aAAG,CAAC,GAAG,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,SAAS,CAAC,GAAc,EAAE,MAAiC;QACvD,IAAI,MAAM,EAAE,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QAC1B,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,IAAI,GAAG,QAAQ,CAAA;YACf,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;SAC3D;aACI,IAAI,GAAG,CAAC,OAAO,EAAE;YAClB,IAAI,GAAG,SAAS,CAAA;YAChB,MAAM,GAAG,IAAI,aAAG,CAAC,OAAO,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACzG;aACI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,IAAI,GAAG,KAAK,CAAA;YACZ,MAAM,GAAG,IAAI,aAAG,CAAC,GAAG,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;SACpE;aACI;YACD,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7B,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;SAClB;QACD,OAAO;YACH,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM;YACN,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;SACjB,CAAA;IACL,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,IAAS,EAAE,IAAS;QAChD,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,QAAQ,IAAI,EAAE;YACV,KAAK,KAAK;gBACN,QAAQ,GAAG,aAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;gBACzE,MAAK;YACL,KAAK,QAAQ;gBACT,QAAQ,GAAG,aAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAA;gBAC5D,MAAK;YACL,KAAK,SAAS;gBACV,QAAQ,GAAG,aAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;gBAC7D,MAAK;SACR;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AAGY,QAAA,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":"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"}
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":"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"}
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]
@@ -53,7 +65,14 @@ export default class RpgCommonMap {
53
65
  * */
54
66
  layers: LayerInfo[];
55
67
  private shapes;
68
+ /**
69
+ * Memorize the maps so you don't have to make a new request or open a file each time you load a map
70
+ */
56
71
  static get buffer(): Map<any, any>;
72
+ /**
73
+ * In RPG mode, to avoid confusion with buffer, we have a new variable to memorize the maps
74
+ */
75
+ static get bufferClient(): Map<any, any>;
57
76
  load(data: any): void;
58
77
  /**
59
78
  * @title Width of the map in pixels
@@ -120,7 +139,7 @@ export default class RpgCommonMap {
120
139
  /**
121
140
  * Delete a shape
122
141
  *
123
- * @title Get Shapes
142
+ * @title Delete Shape
124
143
  * @method map.removeShape(name)
125
144
  * @param {string} name Name of shape
126
145
  * @returns {void}
package/lib/Map.js CHANGED
@@ -3,7 +3,9 @@ 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();
8
+ const bufferClient = new Map();
7
9
  class RpgCommonMap {
8
10
  constructor() {
9
11
  this.width = 0;
@@ -34,9 +36,18 @@ class RpgCommonMap {
34
36
  this.layers = [];
35
37
  this.shapes = [];
36
38
  }
39
+ /**
40
+ * Memorize the maps so you don't have to make a new request or open a file each time you load a map
41
+ */
37
42
  static get buffer() {
38
43
  return buffer;
39
44
  }
45
+ /**
46
+ * In RPG mode, to avoid confusion with buffer, we have a new variable to memorize the maps
47
+ */
48
+ static get bufferClient() {
49
+ return bufferClient;
50
+ }
40
51
  load(data) {
41
52
  this.data = data;
42
53
  this.width = data.width;
@@ -44,6 +55,7 @@ class RpgCommonMap {
44
55
  this.tileHeight = data.tileHeight;
45
56
  this.height = data.height;
46
57
  this.layers = data.layers;
58
+ this.grid = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(10);
47
59
  this._extractShapes();
48
60
  }
49
61
  /**
@@ -134,7 +146,7 @@ class RpgCommonMap {
134
146
  /**
135
147
  * Delete a shape
136
148
  *
137
- * @title Get Shapes
149
+ * @title Delete Shape
138
150
  * @method map.removeShape(name)
139
151
  * @param {string} name Name of shape
140
152
  * @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
@@ -1,17 +1,28 @@
1
1
  import { RpgShape } from './Shape';
2
2
  import SAT from 'sat';
3
- import Map, { TileInfo } from './Map';
3
+ import { TileInfo } from './Map';
4
+ import { RpgCommonGame } from '.';
4
5
  export declare type Position = {
5
6
  x: number;
6
7
  y: number;
7
8
  z: number;
8
9
  };
9
10
  export declare enum Direction {
10
- Up = "up",
11
- Down = "down",
12
- Left = "left",
13
- Right = "right"
11
+ Up = 1,
12
+ Down = 3,
13
+ Left = 4,
14
+ Right = 2,
15
+ UpRight = 1.5,
16
+ DownRight = 2.5,
17
+ DownLeft = 3.5,
18
+ UpLeft = 2.5
14
19
  }
20
+ export declare const LiteralDirection: {
21
+ 1: string;
22
+ 2: string;
23
+ 3: string;
24
+ 4: string;
25
+ };
15
26
  export declare enum PlayerType {
16
27
  Player = "player",
17
28
  Event = "event"
@@ -29,8 +40,19 @@ export declare class RpgCommonPlayer {
29
40
  direction: number;
30
41
  private collisionWith;
31
42
  private _collisionWithTiles;
32
- data: any;
33
- hitbox: any;
43
+ hitbox: SAT.Box;
44
+ pendingMove: {
45
+ input: string;
46
+ frame: number;
47
+ }[];
48
+ /**
49
+ * Display/Hide the GUI attached to this sprite
50
+ *
51
+ * @prop {boolean} guiDisplay
52
+ * @since 3.0.0-beta.5
53
+ * @memberof RpgSprite
54
+ * */
55
+ guiDisplay: boolean;
34
56
  inShapes: {
35
57
  [shapeId: string]: RpgShape;
36
58
  };
@@ -42,9 +64,10 @@ export declare class RpgCommonPlayer {
42
64
  RUN: number;
43
65
  ACTION: number;
44
66
  };
45
- constructor(gameEngine: any, playerId: string);
67
+ constructor(gameEngine: RpgCommonGame, playerId: string);
46
68
  get id(): string;
47
69
  set id(str: string);
70
+ updateInVirtualGrid(): void;
48
71
  /**
49
72
  * Get/Set position x, y and z of player
50
73
  *
@@ -59,7 +82,6 @@ export declare class RpgCommonPlayer {
59
82
  set posX(val: any);
60
83
  set posY(val: any);
61
84
  set posZ(val: any);
62
- get mapInstance(): Map;
63
85
  /**
64
86
  *
65
87
  * Recovers all the colliding tiles of the current player
@@ -79,7 +101,7 @@ export declare class RpgCommonPlayer {
79
101
  * @title Get Collision of other players/events
80
102
  * @since 3.0.0-beta.4
81
103
  * @readonly
82
- * @prop { (RpgPlayer | Rpgvent)[] } otherPlayersCollision
104
+ * @prop { (RpgPlayer | RpgEvent)[] } otherPlayersCollision
83
105
  * @memberof Player
84
106
  * @memberof RpgSpriteLogic
85
107
  */
@@ -141,16 +163,7 @@ export declare class RpgCommonPlayer {
141
163
  set hHitbox(val: any);
142
164
  get wHitbox(): any;
143
165
  get hHitbox(): any;
144
- defineNextPosition(direction: any): Position;
145
- setPosition({ x, y, tileX, tileY }: {
146
- x: any;
147
- y: any;
148
- tileX: any;
149
- tileY: any;
150
- }, move?: boolean): void;
151
- triggerCollisionWith(type?: number): void;
152
- zCollision(other: any): boolean;
153
- moveByDirection(direction: Direction): boolean;
166
+ private directionToAngle;
154
167
  /**
155
168
  * Retrieves a tile and checks if the player has a collision
156
169
  *
@@ -194,7 +207,7 @@ export declare class RpgCommonPlayer {
194
207
  * @memberof RpgSpriteLogic
195
208
  */
196
209
  getTile(x: number, y: number, z?: number, hitbox?: SAT.Box): TileInfo;
197
- isCollided(nextPosition: Position): boolean;
210
+ isCollided(nextPosition: Position): Promise<boolean>;
198
211
  /**
199
212
  * Attach a shape to the player (and allow interaction with it)
200
213
  *
@@ -236,8 +249,6 @@ export declare class RpgCommonPlayer {
236
249
  * @memberof RpgSpriteLogic
237
250
  */
238
251
  getShapes(): RpgShape[];
239
- collisionWithShape(shape: RpgShape, player: RpgCommonPlayer, nextPosition?: Position): boolean;
240
- move(nextPosition: Position, testCollision?: boolean): boolean;
241
252
  /**
242
253
  * Retrieves all shapes where the player is located
243
254
  *
@@ -257,7 +268,7 @@ export declare class RpgCommonPlayer {
257
268
  *
258
269
  * @title Get Direction
259
270
  * @method player.getDirection()
260
- * @returns {string} left, right, up or down
271
+ * @returns {Direction | number} direction
261
272
  * @memberof Player
262
273
  */
263
274
  getDirection(direction?: Direction | number): string | number;
@@ -293,7 +304,6 @@ export interface RpgCommonPlayer {
293
304
  readonly type: string;
294
305
  through: boolean;
295
306
  throughOtherPlayer: boolean;
296
- steerable: any;
297
307
  getVector3D(x: any, y: any, z: any): any;
298
308
  execMethod(methodName: string, methodData?: any, instance?: any): any;
299
309
  }