@rpgjs/server 4.2.2 → 5.0.0-alpha.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.
Files changed (219) hide show
  1. package/{lib → dist}/Gui/DialogGui.d.ts +1 -2
  2. package/{lib → dist}/Gui/Gui.d.ts +1 -2
  3. package/dist/Player/BattleManager.d.ts +22 -0
  4. package/dist/Player/ClassManager.d.ts +18 -0
  5. package/dist/Player/Event.d.ts +0 -0
  6. package/dist/Player/ItemManager.d.ts +17 -0
  7. package/dist/Player/MoveManager.d.ts +177 -0
  8. package/dist/Player/ParameterManager.d.ts +42 -0
  9. package/dist/Player/Player.d.ts +73 -0
  10. package/dist/Player/SkillManager.d.ts +23 -0
  11. package/dist/Player/StateManager.d.ts +39 -0
  12. package/{lib → dist}/RpgServer.d.ts +34 -17
  13. package/dist/RpgServerEngine.d.ts +5 -0
  14. package/dist/core/context.d.ts +2 -0
  15. package/dist/core/inject.d.ts +5 -0
  16. package/dist/core/setup.d.ts +6 -0
  17. package/dist/index.d.ts +9 -0
  18. package/dist/index.js +29673 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/module.d.ts +2 -0
  21. package/dist/rooms/lobby.d.ts +6 -0
  22. package/dist/rooms/map.d.ts +110 -0
  23. package/package.json +16 -38
  24. package/src/Gui/DialogGui.ts +3 -4
  25. package/src/Gui/Gui.ts +4 -6
  26. package/src/Player/BattleManager.ts +108 -99
  27. package/src/Player/ClassManager.ts +47 -46
  28. package/src/Player/ComponentManager.ts +26 -535
  29. package/src/Player/EffectManager.ts +44 -59
  30. package/src/Player/ElementManager.ts +70 -72
  31. package/src/Player/Event.ts +0 -0
  32. package/src/Player/GoldManager.ts +24 -6
  33. package/src/Player/GuiManager.ts +106 -97
  34. package/src/Player/ItemFixture.ts +22 -17
  35. package/src/Player/ItemManager.ts +234 -225
  36. package/src/Player/MoveManager.ts +1047 -457
  37. package/src/Player/ParameterManager.ts +59 -37
  38. package/src/Player/Player.ts +272 -1058
  39. package/src/Player/SkillManager.ts +146 -137
  40. package/src/Player/StateManager.ts +124 -98
  41. package/src/Player/VariableManager.ts +23 -3
  42. package/src/RpgServer.ts +38 -14
  43. package/src/RpgServerEngine.ts +7 -0
  44. package/src/core/context.ts +3 -0
  45. package/src/core/inject.ts +17 -0
  46. package/src/core/setup.ts +20 -0
  47. package/src/index.ts +9 -31
  48. package/src/module.ts +32 -0
  49. package/src/presets/index.ts +1 -3
  50. package/src/rooms/lobby.ts +24 -0
  51. package/src/rooms/map.ts +311 -0
  52. package/tsconfig.json +26 -23
  53. package/vite.config.ts +21 -0
  54. package/CHANGELOG.md +0 -163
  55. package/LICENSE +0 -19
  56. package/browser/manifest.json +0 -7
  57. package/browser/rpg.server.js +0 -22372
  58. package/browser/rpg.server.umd.cjs +0 -22403
  59. package/lib/Game/EventManager.d.ts +0 -54
  60. package/lib/Game/EventManager.js +0 -107
  61. package/lib/Game/EventManager.js.map +0 -1
  62. package/lib/Game/Map.d.ts +0 -191
  63. package/lib/Game/Map.js +0 -414
  64. package/lib/Game/Map.js.map +0 -1
  65. package/lib/Game/WorldMaps.d.ts +0 -17
  66. package/lib/Game/WorldMaps.js +0 -28
  67. package/lib/Game/WorldMaps.js.map +0 -1
  68. package/lib/Gui/DialogGui.js +0 -57
  69. package/lib/Gui/DialogGui.js.map +0 -1
  70. package/lib/Gui/Gui.js +0 -37
  71. package/lib/Gui/Gui.js.map +0 -1
  72. package/lib/Gui/MenuGui.js +0 -23
  73. package/lib/Gui/MenuGui.js.map +0 -1
  74. package/lib/Gui/NotificationGui.js +0 -8
  75. package/lib/Gui/NotificationGui.js.map +0 -1
  76. package/lib/Gui/ShopGui.js +0 -40
  77. package/lib/Gui/ShopGui.js.map +0 -1
  78. package/lib/Gui/index.js +0 -7
  79. package/lib/Gui/index.js.map +0 -1
  80. package/lib/Interfaces/Gui.d.ts +0 -4
  81. package/lib/Interfaces/Gui.js +0 -2
  82. package/lib/Interfaces/Gui.js.map +0 -1
  83. package/lib/Interfaces/StateStore.d.ts +0 -5
  84. package/lib/Interfaces/StateStore.js +0 -2
  85. package/lib/Interfaces/StateStore.js.map +0 -1
  86. package/lib/MatchMaker.d.ts +0 -24
  87. package/lib/MatchMaker.js +0 -42
  88. package/lib/MatchMaker.js.map +0 -1
  89. package/lib/Monitor/index.d.ts +0 -17
  90. package/lib/Monitor/index.js +0 -72
  91. package/lib/Monitor/index.js.map +0 -1
  92. package/lib/Player/BattleManager.d.ts +0 -36
  93. package/lib/Player/BattleManager.js +0 -101
  94. package/lib/Player/BattleManager.js.map +0 -1
  95. package/lib/Player/ClassManager.d.ts +0 -47
  96. package/lib/Player/ClassManager.js +0 -65
  97. package/lib/Player/ClassManager.js.map +0 -1
  98. package/lib/Player/ComponentManager.d.ts +0 -397
  99. package/lib/Player/ComponentManager.js +0 -505
  100. package/lib/Player/ComponentManager.js.map +0 -1
  101. package/lib/Player/EffectManager.d.ts +0 -46
  102. package/lib/Player/EffectManager.js +0 -75
  103. package/lib/Player/EffectManager.js.map +0 -1
  104. package/lib/Player/ElementManager.d.ts +0 -108
  105. package/lib/Player/ElementManager.js +0 -120
  106. package/lib/Player/ElementManager.js.map +0 -1
  107. package/lib/Player/GoldManager.d.ts +0 -17
  108. package/lib/Player/GoldManager.js +0 -27
  109. package/lib/Player/GoldManager.js.map +0 -1
  110. package/lib/Player/GuiManager.d.ts +0 -247
  111. package/lib/Player/GuiManager.js +0 -291
  112. package/lib/Player/GuiManager.js.map +0 -1
  113. package/lib/Player/ItemFixture.d.ts +0 -7
  114. package/lib/Player/ItemFixture.js +0 -19
  115. package/lib/Player/ItemFixture.js.map +0 -1
  116. package/lib/Player/ItemManager.d.ts +0 -331
  117. package/lib/Player/ItemManager.js +0 -475
  118. package/lib/Player/ItemManager.js.map +0 -1
  119. package/lib/Player/MoveManager.d.ts +0 -333
  120. package/lib/Player/MoveManager.js +0 -450
  121. package/lib/Player/MoveManager.js.map +0 -1
  122. package/lib/Player/ParameterManager.d.ts +0 -316
  123. package/lib/Player/ParameterManager.js +0 -408
  124. package/lib/Player/ParameterManager.js.map +0 -1
  125. package/lib/Player/Player.d.ts +0 -828
  126. package/lib/Player/Player.js +0 -927
  127. package/lib/Player/Player.js.map +0 -1
  128. package/lib/Player/SkillManager.d.ts +0 -163
  129. package/lib/Player/SkillManager.js +0 -223
  130. package/lib/Player/SkillManager.js.map +0 -1
  131. package/lib/Player/StateManager.d.ts +0 -185
  132. package/lib/Player/StateManager.js +0 -228
  133. package/lib/Player/StateManager.js.map +0 -1
  134. package/lib/Player/VariableManager.d.ts +0 -46
  135. package/lib/Player/VariableManager.js +0 -52
  136. package/lib/Player/VariableManager.js.map +0 -1
  137. package/lib/Query.d.ts +0 -127
  138. package/lib/Query.js +0 -159
  139. package/lib/Query.js.map +0 -1
  140. package/lib/RpgServer.js +0 -2
  141. package/lib/RpgServer.js.map +0 -1
  142. package/lib/Scenes/Map.d.ts +0 -136
  143. package/lib/Scenes/Map.js +0 -273
  144. package/lib/Scenes/Map.js.map +0 -1
  145. package/lib/decorators/event.d.ts +0 -43
  146. package/lib/decorators/event.js +0 -13
  147. package/lib/decorators/event.js.map +0 -1
  148. package/lib/decorators/map.d.ts +0 -178
  149. package/lib/decorators/map.js +0 -43
  150. package/lib/decorators/map.js.map +0 -1
  151. package/lib/entry-point.d.ts +0 -34
  152. package/lib/entry-point.js +0 -70
  153. package/lib/entry-point.js.map +0 -1
  154. package/lib/express/api.d.ts +0 -3
  155. package/lib/express/api.js +0 -105
  156. package/lib/express/api.js.map +0 -1
  157. package/lib/express/errors/NotAuthorized.d.ts +0 -4
  158. package/lib/express/errors/NotAuthorized.js +0 -7
  159. package/lib/express/errors/NotAuthorized.js.map +0 -1
  160. package/lib/express/errors/NotFound.d.ts +0 -4
  161. package/lib/express/errors/NotFound.js +0 -7
  162. package/lib/express/errors/NotFound.js.map +0 -1
  163. package/lib/express/server.d.ts +0 -16
  164. package/lib/express/server.js +0 -65
  165. package/lib/express/server.js.map +0 -1
  166. package/lib/index.d.ts +0 -20
  167. package/lib/index.js +0 -19
  168. package/lib/index.js.map +0 -1
  169. package/lib/inject.d.ts +0 -22
  170. package/lib/inject.js +0 -29
  171. package/lib/inject.js.map +0 -1
  172. package/lib/logs/index.js +0 -6
  173. package/lib/logs/index.js.map +0 -1
  174. package/lib/logs/item.js +0 -34
  175. package/lib/logs/item.js.map +0 -1
  176. package/lib/logs/log.js +0 -7
  177. package/lib/logs/log.js.map +0 -1
  178. package/lib/logs/skill.js +0 -19
  179. package/lib/logs/skill.js.map +0 -1
  180. package/lib/logs/state.js +0 -13
  181. package/lib/logs/state.js.map +0 -1
  182. package/lib/models/Item.d.ts +0 -10
  183. package/lib/models/Item.js +0 -2
  184. package/lib/models/Item.js.map +0 -1
  185. package/lib/presets/index.js +0 -65
  186. package/lib/presets/index.js.map +0 -1
  187. package/lib/server.d.ts +0 -137
  188. package/lib/server.js +0 -443
  189. package/lib/server.js.map +0 -1
  190. package/rpg.toml +0 -14
  191. package/src/Game/EventManager.ts +0 -125
  192. package/src/Game/Map.ts +0 -495
  193. package/src/Game/WorldMaps.ts +0 -45
  194. package/src/Interfaces/Gui.ts +0 -4
  195. package/src/Interfaces/StateStore.ts +0 -5
  196. package/src/MatchMaker.ts +0 -65
  197. package/src/Monitor/index.ts +0 -78
  198. package/src/Query.ts +0 -172
  199. package/src/Scenes/Map.ts +0 -310
  200. package/src/decorators/event.ts +0 -58
  201. package/src/decorators/map.ts +0 -226
  202. package/src/entry-point.ts +0 -111
  203. package/src/express/api.ts +0 -118
  204. package/src/express/errors/NotAuthorized.ts +0 -6
  205. package/src/express/errors/NotFound.ts +0 -6
  206. package/src/express/server.ts +0 -87
  207. package/src/inject.ts +0 -33
  208. package/src/models/Item.ts +0 -11
  209. package/src/server.ts +0 -459
  210. /package/{lib → dist}/Gui/MenuGui.d.ts +0 -0
  211. /package/{lib → dist}/Gui/NotificationGui.d.ts +0 -0
  212. /package/{lib → dist}/Gui/ShopGui.d.ts +0 -0
  213. /package/{lib → dist}/Gui/index.d.ts +0 -0
  214. /package/{lib → dist}/logs/index.d.ts +0 -0
  215. /package/{lib → dist}/logs/item.d.ts +0 -0
  216. /package/{lib → dist}/logs/log.d.ts +0 -0
  217. /package/{lib → dist}/logs/skill.d.ts +0 -0
  218. /package/{lib → dist}/logs/state.d.ts +0 -0
  219. /package/{lib → dist}/presets/index.d.ts +0 -0
@@ -1,54 +0,0 @@
1
- import { RpgEvent } from "../Player/Player";
2
- import { RpgMap } from "./Map";
3
- export type EventsList = {
4
- [playerId: string]: RpgEvent;
5
- };
6
- export declare enum EventMode {
7
- Shared = "shared",
8
- Scenario = "scenario"
9
- }
10
- /**
11
- * ⚠️ Please note that the event system can be on the player or on the card.
12
- * On player, it's Scenario mode
13
- * On-map: Shared mode
14
- * So this here is either RpgMap or RpgPlayer
15
- * You can check the mode with the mode cleanup on the retrieved event
16
- */
17
- export declare class EventManager {
18
- /**
19
- * @title event list
20
- * @prop { { [eventId: string]: RpgEvent } } [events]
21
- * @memberof Map
22
- * */
23
- events: EventsList;
24
- /**
25
- * Get Event in current map
26
- * @title Get Event
27
- * @since 3.0.0-beta.7
28
- * @method map.getEvent(eventId)
29
- * @param {string} eventId Event Id
30
- * @returns {RpgEvent | undefined}
31
- * @memberof Map
32
- */
33
- getEvent<T extends RpgEvent>(eventId: string): T | undefined;
34
- getEventByName<T extends RpgEvent>(eventName: string): T | undefined;
35
- /**
36
- * Removes an event from the map. Returns false if the event is not found
37
- *
38
- * Deletion of an event forced to be performed at the end of several aynschronous notions
39
- *
40
- * @title Remove Event
41
- * @since 3.0.0-beta.4
42
- * @method map.removeEvent(eventId)
43
- * @param {string} eventId Event Name
44
- * @returns {boolean}
45
- * @memberof Map
46
- */
47
- removeEvent(eventId: string): boolean;
48
- }
49
- export interface EventManager {
50
- getCurrentMap(): RpgMap | null;
51
- id: string;
52
- $setCurrentState: (path: string, value: any) => void;
53
- $currentState(): any;
54
- }
@@ -1,107 +0,0 @@
1
- import { PlayerType } from "@rpgjs/types";
2
- export var EventMode;
3
- (function (EventMode) {
4
- EventMode["Shared"] = "shared";
5
- EventMode["Scenario"] = "scenario";
6
- })(EventMode || (EventMode = {}));
7
- /**
8
- * ⚠️ Please note that the event system can be on the player or on the card.
9
- * On player, it's Scenario mode
10
- * On-map: Shared mode
11
- * So this here is either RpgMap or RpgPlayer
12
- * You can check the mode with the mode cleanup on the retrieved event
13
- */
14
- export class EventManager {
15
- /**
16
- * Get Event in current map
17
- * @title Get Event
18
- * @since 3.0.0-beta.7
19
- * @method map.getEvent(eventId)
20
- * @param {string} eventId Event Id
21
- * @returns {RpgEvent | undefined}
22
- * @memberof Map
23
- */
24
- getEvent(eventId) {
25
- return this.events[eventId];
26
- }
27
- getEventByName(eventName) {
28
- const events = Object.keys(this.events);
29
- const key = events.find(key => this.events[key].name == eventName);
30
- if (!key)
31
- return;
32
- return this.events[key];
33
- }
34
- /**
35
- * Removes an event from the map. Returns false if the event is not found
36
- *
37
- * Deletion of an event forced to be performed at the end of several aynschronous notions
38
- *
39
- * @title Remove Event
40
- * @since 3.0.0-beta.4
41
- * @method map.removeEvent(eventId)
42
- * @param {string} eventId Event Name
43
- * @returns {boolean}
44
- * @memberof Map
45
- */
46
- removeEvent(eventId) {
47
- if (!this.events[eventId])
48
- return false;
49
- const mode = this.events[eventId].mode;
50
- let currentState;
51
- // Restores previous state
52
- if (mode == EventMode.Scenario) {
53
- currentState = this.getCurrentMap()?.$currentState().users?.[this.id]?.events?.[eventId] ?? {};
54
- }
55
- else {
56
- currentState = this.$currentState().events?.[eventId] ?? {};
57
- }
58
- this.removeObject(this.events[eventId], mode);
59
- delete this.events[eventId];
60
- // Change the state of the packet that will be sent to the client, adding the deleted flag to indicate to the client that the event has been deleted.
61
- if (mode == EventMode.Scenario) {
62
- this.getCurrentMap()?.$setCurrentState(`users.${this.id}.events.${eventId}`, {
63
- ...currentState,
64
- deleted: true
65
- });
66
- }
67
- else {
68
- this.$setCurrentState(`events.${eventId}`, {
69
- ...currentState,
70
- deleted: true
71
- });
72
- }
73
- return true;
74
- }
75
- // @internal
76
- removeObject(object, mode = EventMode.Shared) {
77
- const map = this.getCurrentMap();
78
- if (!map)
79
- return;
80
- map.getShapes().forEach(shape => shape.out(object));
81
- const events = Object.values(map.game.world.getObjectsOfGroup(map.id, object));
82
- for (let event of events) {
83
- object.getShapes().forEach(shape => shape.out(event));
84
- event.getShapes().forEach(shape => shape.out(object));
85
- }
86
- object._destroy$.next();
87
- object._destroy$.complete();
88
- // force RXJS, close subject. TODO: avoid this
89
- if (object.type != PlayerType.Player)
90
- object._destroy$['_closed'] = true;
91
- map.grid.clearObjectInCells(object.id);
92
- for (let playerId in map.players) {
93
- if (object.id == playerId)
94
- continue;
95
- const otherPlayer = map.players[playerId];
96
- if (otherPlayer.followingId == object.id) {
97
- otherPlayer.cameraFollow(otherPlayer);
98
- }
99
- }
100
- // last player before removed of this map
101
- if (map.nbPlayers === 1 && object.type === PlayerType.Player) {
102
- // clear cache for this map
103
- map.remove(true);
104
- }
105
- }
106
- }
107
- //# sourceMappingURL=EventManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../src/Game/EventManager.ts"],"names":[],"mappings":"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"}
package/lib/Game/Map.d.ts DELETED
@@ -1,191 +0,0 @@
1
- import { RpgCommonMap, RpgShape, RpgCommonGame, AbstractObject } from '@rpgjs/common';
2
- import { TiledTileset } from '@rpgjs/tiled';
3
- import { EventOptions } from '../decorators/event';
4
- import { RpgPlayer, RpgEvent } from '../Player/Player';
5
- import { RpgServerEngine } from '../server';
6
- import { Observable } from 'rxjs';
7
- import { HitBox, MovingHitbox } from '@rpgjs/types';
8
- import { EventManager, EventMode } from './EventManager';
9
- export type EventPosOption = {
10
- x: number;
11
- y: number;
12
- z?: number;
13
- event: EventOptions;
14
- };
15
- export type EventOption = EventPosOption | EventOptions;
16
- export type PlayersList = {
17
- [eventId: string]: RpgEvent;
18
- };
19
- export type EventsList = {
20
- [playerId: string]: RpgPlayer;
21
- };
22
- export declare class RpgMap extends RpgCommonMap {
23
- private _server;
24
- _events: EventOption[];
25
- file: any;
26
- constructor(_server: RpgServerEngine);
27
- /**
28
- * @title Players list
29
- * @prop { { [playerId: string]: RpgPlayer } } [players]
30
- * @readonly
31
- * @memberof Map
32
- */
33
- get players(): PlayersList;
34
- /**
35
- * @title Number of players
36
- * @prop {number} [nbPlayers]
37
- * @readonly
38
- * @memberof Map
39
- */
40
- get nbPlayers(): number;
41
- $additionalEmitProperties(player: RpgPlayer): {
42
- frame: any;
43
- pos: any;
44
- };
45
- load(): Promise<void>;
46
- /**
47
- * Update the map with new data. Data can be a string (TMX content) or an object (parsed TMX content)
48
- * New Map data will be sent to all players on the map
49
- *
50
- * @title Update map
51
- * @method map.update(data)
52
- * @since 4.0.0
53
- * @returns {Promise<void>}
54
- * @param {object | string} data
55
- * @memberof Map
56
- */
57
- update(data: object | string): Promise<void>;
58
- /**
59
- * Update tileset with new data. Data can be a string (TSX content) or an object (TiledTileset)
60
- * Cache will be removed for this tileset
61
- * New tileset data will be sent to all players on the map
62
- * Warning: tileset is not updated for all maps, only for the current map
63
- *
64
- * @title Update tileset
65
- * @method map.updateTileset(data)
66
- * @since 4.0.0
67
- * @returns {<void>}
68
- * @param {TiledTileset | string} data
69
- * @memberof Map
70
- */
71
- updateTileset(data: TiledTileset | string): void;
72
- /**
73
- * Remove the map from the server. If there are still players on the map, an error will be thrown
74
- * Not delete the map file, only in memory
75
- *
76
- * @title Remove map
77
- * @method map.remove()
78
- * @since 4.0.0
79
- * @returns {void}
80
- * @throws {Error} If there are still players on the map
81
- * @memberof Map
82
- * */
83
- remove(ignorePlayers?: boolean): never | void;
84
- private parseTmx;
85
- private loadProperties;
86
- get game(): RpgCommonGame;
87
- onLeave(player: RpgPlayer): void;
88
- autoLoadEvent(): void;
89
- /**
90
- * Edit a tile on the map. All players on the map will see the modified tile
91
- *
92
- *
93
- * @title Change Tile in map
94
- * @since 3.0.0-beta.4
95
- * @method map.setTile(x,y,layer,tileInfo)
96
- * @param {number} x Position X
97
- * @param {number} y Position Y
98
- * @param {string | ((layer: any) => boolean)} layer Name of the layer where you want to put a tile. OYou can also put a function that will act as a filter. The first parameter is the layer and you return a boolean to indicate if you modify the tile of this layer or not
99
- * @param {object} tileInfo Object with the following properties:
100
- * - {number} gid: The tile number in tileset (from 1)
101
- * - {object} properties Property of the tile. You own object. To set a collision, set the `collision:true` property
102
- * @example
103
- * ```ts
104
- * map.setTile(15, 18, 'mylayer', { gid: 2 })
105
- * ```
106
- * @returns {void}
107
- * @memberof Map
108
- */
109
- setTile(x: number, y: number, layerFilter: string | ((layer: any) => boolean), tileInfo: {
110
- gid: number;
111
- properties?: object;
112
- }): any;
113
- getEventShape(eventName: string): RpgShape | undefined;
114
- /**
115
- * Dynamically create an event in Shared mode
116
- *
117
- * ```ts
118
- * @EventData({
119
- * name: 'EV-1'
120
- * })
121
- * class MyEvent extends RpgEvent {
122
- * onAction() {
123
- * console.log('ok')
124
- * }
125
- * }
126
- *
127
- * map.createDynamicEvent({
128
- * x: 100,
129
- * y: 100,
130
- * event: MyEvent
131
- * })
132
- * ```
133
- *
134
- * You can also put an array of objects to create several events at once
135
- *
136
- * @title Create Dynamic Event
137
- * @since 3.0.0-beta.4
138
- * @method map.createDynamicEvent(eventObj|eventObj[])
139
- * @param { { x: number, y: number, z?: number, event: eventClass } } eventsList
140
- * @returns { { [eventId: string]: RpgEvent } }
141
- * @memberof Map
142
- */
143
- createDynamicEvent(eventsList: EventPosOption | EventPosOption[]): {
144
- [eventId: string]: RpgEvent;
145
- };
146
- createEvent(obj: EventPosOption, mode: EventMode, shape?: RpgShape): RpgEvent | null;
147
- createEvents(eventsList: EventOption[], mode: EventMode): EventsList;
148
- /**
149
- * Allows to create a temporary hitbox on the map that can have a movement
150
- For example, you can use it to explode a bomb and find all the affected players, or during a sword strike, you can create a moving hitbox and find the affected players again
151
- * @title Create a temporary and moving hitbox
152
- * @since 3.2.0
153
- * @method map.createMovingHitbox(hitboxes,options)
154
- * @param {Array<{ width: number, height: number, x: number, y: number }>} hitboxes Create several hitboxes that will give an effect of movement
155
- * @param {object} [options]
156
- * @param {speed} [options.speed=1] speed of movement (in frames)
157
- * @returns {Observable<AbstractObject>} You find the methods of position and movement of an event
158
- * @memberof Map
159
- * @example
160
- *
161
- * ```ts
162
- * // Two hitboxes that will be done very quickly
163
- * map.createMovingHitbox(
164
- * [
165
- * { x: 0, y: 0, width: 100, height: 100 },
166
- * { x: 20, y: 0, width: 100, height: 100 }
167
- * ]
168
- * ).subscribe({
169
- * next(hitbox) {
170
- * console.log(hitbox.otherPlayersCollision)
171
- * },
172
- * complete() {
173
- * console.log('finish')
174
- * }
175
- * })
176
- * ```
177
- */
178
- createMovingHitbox(hitboxes: Pick<HitBox, 'width' | 'height' | 'x' | 'y'>[], options?: MovingHitbox): Observable<AbstractObject>;
179
- setSync(schema: any): void;
180
- getCurrentMap(): this;
181
- }
182
- export interface RpgMap extends EventManager {
183
- sounds: string[];
184
- $schema: any;
185
- $setSchema: (schema: any) => void;
186
- $patchSchema: (schema: any) => void;
187
- $snapshotUser: (userId: string) => any;
188
- onLoad(): any;
189
- $setCurrentState: (path: string, value: any) => void;
190
- id: string;
191
- }