@rpgjs/common 4.3.0 → 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 (148) hide show
  1. package/dist/Physic.d.ts +619 -0
  2. package/dist/Player.d.ts +198 -0
  3. package/{lib → dist}/Utils.d.ts +19 -2
  4. package/dist/database/Item.d.ts +10 -0
  5. package/dist/database/index.d.ts +1 -0
  6. package/dist/index.d.ts +9 -0
  7. package/dist/index.js +16741 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/modules.d.ts +92 -0
  10. package/dist/movement/MovementManager.d.ts +84 -0
  11. package/dist/movement/MovementStrategy.d.ts +39 -0
  12. package/dist/movement/index.d.ts +12 -0
  13. package/dist/movement/strategies/CompositeMovement.d.ts +76 -0
  14. package/dist/movement/strategies/Dash.d.ts +52 -0
  15. package/dist/movement/strategies/IceMovement.d.ts +87 -0
  16. package/dist/movement/strategies/Knockback.d.ts +50 -0
  17. package/dist/movement/strategies/LinearMove.d.ts +43 -0
  18. package/dist/movement/strategies/LinearRepulsion.d.ts +55 -0
  19. package/dist/movement/strategies/Oscillate.d.ts +60 -0
  20. package/dist/movement/strategies/PathFollow.d.ts +78 -0
  21. package/dist/movement/strategies/ProjectileMovement.d.ts +138 -0
  22. package/dist/movement/strategies/SeekAvoid.d.ts +27 -0
  23. package/dist/rooms/Map.d.ts +109 -0
  24. package/dist/services/updateMap.d.ts +7 -0
  25. package/package.json +17 -17
  26. package/src/Physic.ts +1644 -0
  27. package/src/Player.ts +262 -26
  28. package/src/{gui/PrebuiltGui.ts → PrebuiltGui.ts} +1 -1
  29. package/src/Utils.ts +184 -123
  30. package/src/database/Item.ts +19 -0
  31. package/src/database/index.ts +1 -0
  32. package/src/index.ts +9 -25
  33. package/src/modules.ts +230 -0
  34. package/src/movement/MovementManager.ts +142 -0
  35. package/src/movement/MovementStrategy.ts +42 -0
  36. package/src/movement/index.ts +15 -0
  37. package/src/movement/strategies/CompositeMovement.ts +173 -0
  38. package/src/movement/strategies/Dash.ts +82 -0
  39. package/src/movement/strategies/IceMovement.ts +158 -0
  40. package/src/movement/strategies/Knockback.ts +81 -0
  41. package/src/movement/strategies/LinearMove.ts +58 -0
  42. package/src/movement/strategies/LinearRepulsion.ts +128 -0
  43. package/src/movement/strategies/Oscillate.ts +144 -0
  44. package/src/movement/strategies/PathFollow.ts +156 -0
  45. package/src/movement/strategies/ProjectileMovement.ts +322 -0
  46. package/src/movement/strategies/SeekAvoid.ts +123 -0
  47. package/src/rooms/Map.ts +272 -0
  48. package/src/services/updateMap.ts +9 -0
  49. package/tests/physic.spec.ts +454 -0
  50. package/tsconfig.json +8 -3
  51. package/vite.config.ts +21 -0
  52. package/CHANGELOG.md +0 -160
  53. package/LICENSE +0 -19
  54. package/browser/manifest.json +0 -7
  55. package/browser/rpg.common.js +0 -11357
  56. package/browser/rpg.common.umd.cjs +0 -11358
  57. package/lib/AbstractObject.d.ts +0 -322
  58. package/lib/AbstractObject.js +0 -872
  59. package/lib/AbstractObject.js.map +0 -1
  60. package/lib/Color.d.ts +0 -1
  61. package/lib/Color.js +0 -25
  62. package/lib/Color.js.map +0 -1
  63. package/lib/DefaultInput.d.ts +0 -2
  64. package/lib/DefaultInput.js +0 -26
  65. package/lib/DefaultInput.js.map +0 -1
  66. package/lib/Event.d.ts +0 -3
  67. package/lib/Event.js +0 -4
  68. package/lib/Event.js.map +0 -1
  69. package/lib/EventEmitter.d.ts +0 -10
  70. package/lib/EventEmitter.js +0 -61
  71. package/lib/EventEmitter.js.map +0 -1
  72. package/lib/Game.d.ts +0 -28
  73. package/lib/Game.js +0 -127
  74. package/lib/Game.js.map +0 -1
  75. package/lib/Hit.d.ts +0 -16
  76. package/lib/Hit.js +0 -65
  77. package/lib/Hit.js.map +0 -1
  78. package/lib/Inject.d.ts +0 -9
  79. package/lib/Inject.js +0 -17
  80. package/lib/Inject.js.map +0 -1
  81. package/lib/Logger.d.ts +0 -2
  82. package/lib/Logger.js +0 -7
  83. package/lib/Logger.js.map +0 -1
  84. package/lib/Map.d.ts +0 -174
  85. package/lib/Map.js +0 -263
  86. package/lib/Map.js.map +0 -1
  87. package/lib/Module.d.ts +0 -16
  88. package/lib/Module.js +0 -139
  89. package/lib/Module.js.map +0 -1
  90. package/lib/Player.d.ts +0 -26
  91. package/lib/Player.js +0 -19
  92. package/lib/Player.js.map +0 -1
  93. package/lib/Plugin.d.ts +0 -67
  94. package/lib/Plugin.js +0 -92
  95. package/lib/Plugin.js.map +0 -1
  96. package/lib/Scheduler.d.ts +0 -26
  97. package/lib/Scheduler.js +0 -90
  98. package/lib/Scheduler.js.map +0 -1
  99. package/lib/Shape.d.ts +0 -127
  100. package/lib/Shape.js +0 -261
  101. package/lib/Shape.js.map +0 -1
  102. package/lib/Utils.js +0 -181
  103. package/lib/Utils.js.map +0 -1
  104. package/lib/Vector2d.d.ts +0 -20
  105. package/lib/Vector2d.js +0 -63
  106. package/lib/Vector2d.js.map +0 -1
  107. package/lib/VirtualGrid.d.ts +0 -26
  108. package/lib/VirtualGrid.js +0 -68
  109. package/lib/VirtualGrid.js.map +0 -1
  110. package/lib/Worker.d.ts +0 -7
  111. package/lib/Worker.js +0 -13
  112. package/lib/Worker.js.map +0 -1
  113. package/lib/WorldMaps.d.ts +0 -105
  114. package/lib/WorldMaps.js +0 -184
  115. package/lib/WorldMaps.js.map +0 -1
  116. package/lib/gui/PrebuiltGui.js +0 -29
  117. package/lib/gui/PrebuiltGui.js.map +0 -1
  118. package/lib/index.d.ts +0 -25
  119. package/lib/index.js +0 -26
  120. package/lib/index.js.map +0 -1
  121. package/lib/transports/io.d.ts +0 -22
  122. package/lib/transports/io.js +0 -82
  123. package/lib/transports/io.js.map +0 -1
  124. package/lib/workers/move.d.ts +0 -1
  125. package/lib/workers/move.js +0 -57
  126. package/lib/workers/move.js.map +0 -1
  127. package/rpg.toml +0 -11
  128. package/src/AbstractObject.ts +0 -973
  129. package/src/Color.ts +0 -29
  130. package/src/DefaultInput.ts +0 -26
  131. package/src/Event.ts +0 -3
  132. package/src/EventEmitter.ts +0 -65
  133. package/src/Game.ts +0 -159
  134. package/src/Hit.ts +0 -70
  135. package/src/Inject.ts +0 -22
  136. package/src/Logger.ts +0 -7
  137. package/src/Map.ts +0 -335
  138. package/src/Module.ts +0 -144
  139. package/src/Plugin.ts +0 -100
  140. package/src/Scheduler.ts +0 -95
  141. package/src/Shape.ts +0 -302
  142. package/src/Vector2d.ts +0 -70
  143. package/src/VirtualGrid.ts +0 -78
  144. package/src/Worker.ts +0 -17
  145. package/src/WorldMaps.ts +0 -204
  146. package/src/transports/io.ts +0 -91
  147. package/src/workers/move.ts +0 -61
  148. /package/{lib/gui → dist}/PrebuiltGui.d.ts +0 -0
package/lib/WorldMaps.js DELETED
@@ -1,184 +0,0 @@
1
- import RBush from 'rbush';
2
- import { Direction } from '@rpgjs/types';
3
- export class RpgCommonWorldMaps {
4
- constructor(id) {
5
- this.id = id;
6
- this.mapsTree = new RBush(500);
7
- this.maps = new Map();
8
- }
9
- /**
10
- * Adding information from the map to the world
11
- *
12
- * > Maximum maps in world: 500
13
- *
14
- * @title Add Map in world
15
- * @method world.addMap(wordMapInfo,map)
16
- * @param {object} wordMapInfo
17
- * Object file:
18
- * ```ts
19
- * {
20
- * fileName: string;
21
- height: number;
22
- width: number;
23
- x: number;
24
- y: number;
25
- * }
26
- ```
27
- `fileName` represents a file to the JSON file (TMX transformed) or directly the Tiled Map Editor object
28
- *
29
- * @param {class of RpgMap} map
30
- * @since 3.0.0-beta.8
31
- * @memberof RpgWorldMaps
32
- */
33
- addMap(wordMapInfo, map) {
34
- const { x, y, height, width } = wordMapInfo;
35
- map.prototype.worldMapParent = this;
36
- this.maps.set(map.id, wordMapInfo);
37
- this.mapsTree.insert({
38
- minX: x,
39
- minY: y,
40
- maxX: x + width,
41
- maxY: y + height,
42
- map
43
- });
44
- }
45
- updateMap(mapId, wordMapInfo) {
46
- const map = this.maps.get(mapId);
47
- if (map) {
48
- const item = this.mapsTree.all().find(item => item.map.id == mapId);
49
- if (!item)
50
- return false;
51
- this.maps.set(mapId, wordMapInfo);
52
- item.map.prototype.worldMapParent = this;
53
- item.minX = wordMapInfo.x;
54
- item.minY = wordMapInfo.y;
55
- item.maxX = wordMapInfo.x + wordMapInfo.width;
56
- item.maxY = wordMapInfo.y + wordMapInfo.height;
57
- return true;
58
- }
59
- return false;
60
- }
61
- /**
62
- * Remove map of the world
63
- * @title Remove map of the world
64
- * @method world.removeMap(mapId)
65
- * @param {string} mapId
66
- * @returns {boolean}
67
- * @since 3.0.0-beta.8
68
- * @memberof RpgWorldMaps
69
- */
70
- removeMap(mapId) {
71
- const map = this.maps.get(mapId);
72
- if (map) {
73
- const item = this.mapsTree.all().find(item => item.map.id == mapId);
74
- if (!item)
75
- return false;
76
- this.maps.delete(mapId);
77
- item.map.prototype.worldMapParent = undefined;
78
- this.mapsTree.remove(item);
79
- return true;
80
- }
81
- return false;
82
- }
83
- removeAllMaps() {
84
- this.maps.forEach((map, id) => {
85
- this.removeMap(id);
86
- });
87
- }
88
- /**
89
- * Retrieve information from the world
90
- *
91
- * @title Retrieve information from the world
92
- * @method world.getMapInfo(id)
93
- * @param {string} id map id
94
- * @return {RpgTiledWorldMap | undefined}
95
- * {
96
- * id?: string
97
- * properties?: object
98
- * fileName: string;
99
- height: number;
100
- width: number;
101
- x: number;
102
- y: number;
103
- * }
104
- * @since 3.0.0-beta.8
105
- * @memberof RpgWorldMaps
106
- */
107
- getMapInfo(id) {
108
- return this.maps.get(id);
109
- }
110
- /**
111
- * Retrieves neighboring maps according to positions or direction
112
- *
113
- * @title Retrieves neighboring maps
114
- * @method world.getAdjacentMaps(map,search)
115
- * @param {RpgMap} map The source map. We want to find the neighboring maps of the source map
116
- * @param { PositionBox | Direction | { x: number, y: number } } search Research method
117
- * * PositionBox. An object of the following form:
118
- * `{ minX: number, minY: number, maxX: number, maxY: number }`
119
- * * Direction. Collect all the maps in the given direction (e.g. the maps at the top)
120
- * * Point: { x: number, y: number }
121
- * @return { {class of RpgMap}[] }
122
- * @since 3.0.0-beta.8
123
- * @example
124
- * ```ts
125
- * world.getAdjacentMaps(mymap, Direction.Up) // returns [class of RpgMap]
126
- * ```
127
- * @memberof RpgWorldMaps
128
- */
129
- getAdjacentMaps(map, search) {
130
- let position = {};
131
- const point = search;
132
- if (typeof search == 'number') {
133
- const padding = 1;
134
- switch (search) {
135
- case Direction.Up:
136
- position = {
137
- minX: map.worldX + padding,
138
- maxX: map.worldX + map.widthPx - padding,
139
- minY: map.worldY - padding - 1,
140
- maxY: map.worldY - padding
141
- };
142
- break;
143
- case Direction.Right:
144
- position = {
145
- minX: map.worldX + map.widthPx + padding,
146
- maxX: map.worldX + map.widthPx + padding + 1,
147
- minY: map.worldY + padding,
148
- maxY: map.worldY + map.heightPx - padding
149
- };
150
- break;
151
- case Direction.Down:
152
- position = {
153
- minX: map.worldX + padding,
154
- maxX: map.worldX + map.widthPx - padding,
155
- minY: map.worldY + map.heightPx + padding,
156
- maxY: map.worldY + map.heightPx + padding + 1
157
- };
158
- break;
159
- case Direction.Left:
160
- position = {
161
- minX: map.worldX - padding,
162
- maxX: map.worldX - padding - 1,
163
- minY: map.worldY + padding,
164
- maxY: map.worldY + map.heightPx - padding
165
- };
166
- break;
167
- }
168
- }
169
- else if (point.x) {
170
- position = {
171
- minX: point.x,
172
- maxX: point.x,
173
- minY: point.y,
174
- maxY: point.y
175
- };
176
- }
177
- else {
178
- position = search;
179
- }
180
- const result = this.mapsTree.search(position);
181
- return result.map(ret => ret.map);
182
- }
183
- }
184
- //# sourceMappingURL=WorldMaps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorldMaps.js","sourceRoot":"","sources":["../src/WorldMaps.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- *
3
- * Pre-made GUIs already exist. For example, the command `player.showText()` displays the rpg-dialog component. It is up to you to customize the component or take advantage of the `@rpgjs/default-gui` module which already contains ready-made components
4
- *
5
- * @title Prebuilt GUI
6
- * @enum {string}
7
- *
8
- * PrebuiltGui.Dialog | rpg-dialog
9
- * PrebuiltGui.MainMenu | rpg-main-menu
10
- * PrebuiltGui.Shop | rpg-shop
11
- * PrebuiltGui.Disconnect | rpg-disconnect
12
- * PrebuiltGui.Gameover | rpg-gameover
13
- * PrebuiltGui.Save | rpg-save
14
- * PrebuiltGui.Controls | rpg-controls
15
- * PrebuiltGui.Notification | rpg-notification
16
- * @memberof PrebuiltGui
17
- * */
18
- export var PrebuiltGui;
19
- (function (PrebuiltGui) {
20
- PrebuiltGui["Dialog"] = "rpg-dialog";
21
- PrebuiltGui["MainMenu"] = "rpg-main-menu";
22
- PrebuiltGui["Shop"] = "rpg-shop";
23
- PrebuiltGui["Disconnect"] = "rpg-disconnect";
24
- PrebuiltGui["Gameover"] = "rpg-gameover";
25
- PrebuiltGui["Save"] = "rpg-save";
26
- PrebuiltGui["Controls"] = "rpg-controls";
27
- PrebuiltGui["Notification"] = "rpg-notification";
28
- })(PrebuiltGui || (PrebuiltGui = {}));
29
- //# sourceMappingURL=PrebuiltGui.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrebuiltGui.js","sourceRoot":"","sources":["../../src/gui/PrebuiltGui.ts"],"names":[],"mappings":"AAAC;;;;;;;;;;;;;;;;IAgBI;AACL,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACnB,oCAAqB,CAAA;IACrB,yCAA0B,CAAA;IAC1B,gCAAiB,CAAA;IACjB,4CAA6B,CAAA;IAC7B,wCAAyB,CAAA;IACzB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,gDAAiC,CAAA;AACrC,CAAC,EATW,WAAW,KAAX,WAAW,QAStB"}
package/lib/index.d.ts DELETED
@@ -1,25 +0,0 @@
1
- import AbstractObject from './Player';
2
- export { LiteralDirection, RpgCommonPlayer } from './Player';
3
- export { AbstractObject };
4
- export { RpgCommonEvent } from './Event';
5
- export { RpgCommonMap } from './Map';
6
- export { RpgCommonGame, GameSide } from './Game';
7
- export { EventEmitter } from './EventEmitter';
8
- export { PrebuiltGui } from './gui/PrebuiltGui';
9
- export * as Utils from './Utils';
10
- export { RpgPlugin, type Plugin, HookServer, HookClient } from './Plugin';
11
- export * as TransportIo from './transports/io';
12
- export { Input, Control } from '@rpgjs/types';
13
- export { Hit } from './Hit';
14
- export { Scheduler } from './Scheduler';
15
- export { RpgModule, loadModules, type ModuleType } from './Module';
16
- export * as MockIo from './transports/io';
17
- export * as Logger from './Logger';
18
- export { RpgShape, ShapePositioning } from './Shape';
19
- export { VirtualGrid } from './VirtualGrid';
20
- export { RpgCommonWorldMaps } from './WorldMaps';
21
- export { Vector2d } from './Vector2d';
22
- export { Direction } from '@rpgjs/types';
23
- export { transitionColor } from './Color';
24
- export { DefaultInput } from './DefaultInput';
25
- export { type InjectInit, InjectContext } from './Inject';
package/lib/index.js DELETED
@@ -1,26 +0,0 @@
1
- import AbstractObject from './Player.js';
2
- export { LiteralDirection, RpgCommonPlayer } from './Player.js';
3
- export { AbstractObject };
4
- export { RpgCommonEvent } from './Event.js';
5
- export { RpgCommonMap } from './Map.js';
6
- export { RpgCommonGame, GameSide } from './Game.js';
7
- export { EventEmitter } from './EventEmitter.js';
8
- export { PrebuiltGui } from './gui/PrebuiltGui.js';
9
- export * as Utils from './Utils.js';
10
- export { RpgPlugin, HookServer, HookClient } from './Plugin.js';
11
- export * as TransportIo from './transports/io.js';
12
- export { Input, Control } from '@rpgjs/types';
13
- export { Hit } from './Hit.js';
14
- export { Scheduler } from './Scheduler.js';
15
- export { RpgModule, loadModules } from './Module.js';
16
- export * as MockIo from './transports/io.js';
17
- export * as Logger from './Logger.js';
18
- export { RpgShape, ShapePositioning } from './Shape.js';
19
- export { VirtualGrid } from './VirtualGrid.js';
20
- export { RpgCommonWorldMaps } from './WorldMaps.js';
21
- export { Vector2d } from './Vector2d.js';
22
- export { Direction } from '@rpgjs/types';
23
- export { transitionColor } from './Color.js';
24
- export { DefaultInput } from './DefaultInput.js';
25
- export { InjectContext } from './Inject.js';
26
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAQ,KAAI,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,SAAS,EAAe,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAmB,MAAM,UAAU,CAAA;AAClE,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAmB,aAAa,EAAE,MAAM,UAAU,CAAA"}
@@ -1,22 +0,0 @@
1
- declare class MockIo {
2
- events: Map<string, any>;
3
- on(name: string, value: any): void;
4
- off(name: string): void;
5
- once(name: string, value: any): void;
6
- _trigger(name: string, data: any, client?: any): void;
7
- }
8
- declare class MockClientIo extends MockIo {
9
- id: string;
10
- connection(handshake: any): this;
11
- emit(name: string, data: any): this;
12
- disconnect(): void;
13
- }
14
- declare class MockServerIo extends MockIo {
15
- private clients;
16
- connection(client: any, handshake: any): void;
17
- emit(name: string, data: any, id: any): void;
18
- clear(): void;
19
- }
20
- export declare const serverIo: MockServerIo;
21
- export declare const ClientIo: typeof MockClientIo;
22
- export {};
@@ -1,82 +0,0 @@
1
- class MockIo {
2
- constructor() {
3
- this.events = new Map();
4
- }
5
- on(name, value) {
6
- this.events.set(name, value);
7
- }
8
- off(name) {
9
- this.events.delete(name);
10
- }
11
- once(name, value) {
12
- this.on(name, value);
13
- }
14
- _trigger(name, data, client) {
15
- const fn = this.events.get(name);
16
- if (fn)
17
- fn(data, client);
18
- }
19
- }
20
- class MockSocket {
21
- constructor(io, handshake) {
22
- this.io = io;
23
- this.handshake = handshake;
24
- this.id = '' + Math.random();
25
- }
26
- on(name, value) {
27
- this.io.on(name, value, this.id);
28
- return this;
29
- }
30
- once(name, value) {
31
- this.io.once(name, value, this.id);
32
- return this;
33
- }
34
- emit(name, data) {
35
- this.io.emit(name, data, this.id);
36
- }
37
- removeAllListeners(name) {
38
- return this.off(name);
39
- }
40
- off(name) {
41
- this.io.off(name, this.id);
42
- }
43
- }
44
- class MockClientIo extends MockIo {
45
- constructor() {
46
- super(...arguments);
47
- this.id = '';
48
- }
49
- connection(handshake) {
50
- serverIo.connection(this, handshake);
51
- this._trigger('connect', undefined);
52
- return this;
53
- }
54
- emit(name, data) {
55
- serverIo._trigger(name, data, this);
56
- return this;
57
- }
58
- disconnect() {
59
- this.emit('disconnect', undefined);
60
- }
61
- }
62
- class MockServerIo extends MockIo {
63
- constructor() {
64
- super(...arguments);
65
- this.clients = new Map();
66
- }
67
- connection(client, handshake) {
68
- const socket = new MockSocket(this, handshake);
69
- this.clients.set(socket.id, client);
70
- client.id = socket.id;
71
- this._trigger('connection', socket);
72
- }
73
- emit(name, data, id) {
74
- this.clients.get(id)?._trigger(name, data);
75
- }
76
- clear() {
77
- this.clients.clear();
78
- }
79
- }
80
- export const serverIo = new MockServerIo();
81
- export const ClientIo = MockClientIo;
82
- //# sourceMappingURL=io.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/transports/io.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,57 +0,0 @@
1
- import workerpool from 'workerpool';
2
- import { RpgCommonMap } from '../Map.js';
3
- import { RpgCommonGame } from '../Game.js';
4
- import { RpgCommonPlayer } from '../Player.js';
5
- const objects = {};
6
- let objectsByMap = {};
7
- const gameEngine = new RpgCommonGame();
8
- gameEngine.start({
9
- getObject(playerId) {
10
- return objects[playerId];
11
- },
12
- addObject(playerId, data) {
13
- const player = gameEngine.addPlayer(RpgCommonPlayer, playerId);
14
- for (let key in data) {
15
- player[key] = data[key];
16
- }
17
- if (player.hitbox) {
18
- player.setHitbox(player.hitbox.width, player.hitbox.height);
19
- }
20
- objects[playerId] = player;
21
- objectsByMap[player.map] = player;
22
- return player;
23
- },
24
- getObjectsOfGroup(mapId, player) {
25
- return {};
26
- }
27
- });
28
- let i = 0;
29
- function loadMap(data) {
30
- const map = new RpgCommonMap();
31
- map.load(data.data);
32
- RpgCommonMap.buffer.set(data.id, map);
33
- }
34
- async function movePlayers(data) {
35
- objectsByMap = {};
36
- const ret = {};
37
- for (let object of data) {
38
- gameEngine.world.addObject(object.id, object);
39
- const { player } = await gameEngine.processInput(object.id);
40
- if (player) {
41
- ret[player.id] = {
42
- position: {
43
- x: player.position.x,
44
- y: player.position.y,
45
- z: player.position.z
46
- },
47
- direction: player.direction
48
- };
49
- }
50
- }
51
- return ret;
52
- }
53
- workerpool.worker({
54
- loadMap,
55
- movePlayers
56
- });
57
- //# sourceMappingURL=move.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/workers/move.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,aAAa,EAAY,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,OAAO,GAAQ,EAAE,CAAA;AACvB,IAAI,YAAY,GAAQ,EAAE,CAAA;AAC1B,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAA;AACtC,UAAU,CAAC,KAAK,CAAC;IACf,SAAS,CAAC,QAAQ;QAChB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,IAAI;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;QAC9D,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;SACxB;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC5D;QACD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC1B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,MAAM;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;CACF,CAAC,CAAA;AAEF,IAAI,CAAC,GAAC,CAAC,CAAA;AAEP,SAAS,OAAO,CAAC,IAAI;IACnB,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAA;IAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAI;IAC7B,YAAY,GAAG,EAAE,CAAA;IACjB,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;QACvB,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3D,IAAI,MAAM,EAAE;YACV,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;gBACf,QAAQ,EAAE;oBACR,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACrB;gBACD,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAA;SACF;KACF;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,UAAU,CAAC,MAAM,CAAC;IAChB,OAAO;IACP,WAAW;CACZ,CAAC,CAAC"}
package/rpg.toml DELETED
@@ -1,11 +0,0 @@
1
- [compilerOptions.build]
2
- pwaEnabled = false
3
- outputDir = "./browser"
4
-
5
- [vite.build.lib]
6
- entry = "src/index.ts"
7
- name = "RpgCommon"
8
- fileName = "rpg.common"
9
-
10
- [vite.build.rollupOptions.output]
11
- format = "umd"