@rpgjs/client 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 (321) hide show
  1. package/dist/Game/EffectManager.d.ts +5 -0
  2. package/dist/Game/Event.d.ts +4 -0
  3. package/dist/Game/Map.d.ts +7 -0
  4. package/dist/Game/Player.d.ts +4 -0
  5. package/dist/Gui/Gui.d.ts +23 -0
  6. package/{lib → dist}/RpgClient.d.ts +9 -6
  7. package/dist/RpgClientEngine.d.ts +43 -0
  8. package/dist/components/effects/index.d.ts +4 -0
  9. package/dist/components/gui/index.d.ts +3 -0
  10. package/dist/components/index.d.ts +2 -0
  11. package/dist/core/inject.d.ts +5 -0
  12. package/dist/core/setup.d.ts +6 -0
  13. package/dist/index.d.ts +13 -0
  14. package/dist/index.js +13 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/index10.js +8 -0
  17. package/dist/index10.js.map +1 -0
  18. package/dist/index11.js +10 -0
  19. package/dist/index11.js.map +1 -0
  20. package/dist/index12.js +8 -0
  21. package/dist/index12.js.map +1 -0
  22. package/dist/index13.js +17 -0
  23. package/dist/index13.js.map +1 -0
  24. package/dist/index14.js +50 -0
  25. package/dist/index14.js.map +1 -0
  26. package/dist/index15.js +191 -0
  27. package/dist/index15.js.map +1 -0
  28. package/dist/index16.js +9 -0
  29. package/dist/index16.js.map +1 -0
  30. package/dist/index17.js +387 -0
  31. package/dist/index17.js.map +1 -0
  32. package/dist/index18.js +31 -0
  33. package/dist/index18.js.map +1 -0
  34. package/dist/index19.js +24 -0
  35. package/dist/index19.js.map +1 -0
  36. package/dist/index2.js +112 -0
  37. package/dist/index2.js.map +1 -0
  38. package/dist/index20.js +2421 -0
  39. package/dist/index20.js.map +1 -0
  40. package/dist/index21.js +114 -0
  41. package/dist/index21.js.map +1 -0
  42. package/dist/index22.js +109 -0
  43. package/dist/index22.js.map +1 -0
  44. package/dist/index23.js +71 -0
  45. package/dist/index23.js.map +1 -0
  46. package/dist/index24.js +21 -0
  47. package/dist/index24.js.map +1 -0
  48. package/dist/index25.js +41 -0
  49. package/dist/index25.js.map +1 -0
  50. package/dist/index26.js +5 -0
  51. package/dist/index26.js.map +1 -0
  52. package/dist/index27.js +322 -0
  53. package/dist/index27.js.map +1 -0
  54. package/dist/index28.js +25 -0
  55. package/dist/index28.js.map +1 -0
  56. package/dist/index29.js +11 -0
  57. package/dist/index29.js.map +1 -0
  58. package/dist/index3.js +87 -0
  59. package/dist/index3.js.map +1 -0
  60. package/dist/index30.js +11 -0
  61. package/dist/index30.js.map +1 -0
  62. package/dist/index31.js +174 -0
  63. package/dist/index31.js.map +1 -0
  64. package/dist/index32.js +501 -0
  65. package/dist/index32.js.map +1 -0
  66. package/dist/index33.js +12 -0
  67. package/dist/index33.js.map +1 -0
  68. package/dist/index34.js +4403 -0
  69. package/dist/index34.js.map +1 -0
  70. package/dist/index35.js +91 -0
  71. package/dist/index35.js.map +1 -0
  72. package/dist/index36.js +61 -0
  73. package/dist/index36.js.map +1 -0
  74. package/dist/index37.js +20 -0
  75. package/dist/index37.js.map +1 -0
  76. package/dist/index38.js +20 -0
  77. package/dist/index38.js.map +1 -0
  78. package/dist/index4.js +54 -0
  79. package/dist/index4.js.map +1 -0
  80. package/dist/index5.js +15 -0
  81. package/dist/index5.js.map +1 -0
  82. package/dist/index6.js +17 -0
  83. package/dist/index6.js.map +1 -0
  84. package/dist/index7.js +31 -0
  85. package/dist/index7.js.map +1 -0
  86. package/dist/index8.js +90 -0
  87. package/dist/index8.js.map +1 -0
  88. package/dist/index9.js +76 -0
  89. package/dist/index9.js.map +1 -0
  90. package/dist/module.d.ts +14 -0
  91. package/dist/presets/index.d.ts +22 -0
  92. package/{lib/Presets/AnimationSpritesheet.d.ts → dist/presets/rmspritesheet.d.ts} +6 -2
  93. package/dist/services/AbstractSocket.d.ts +15 -0
  94. package/dist/services/loadMap.d.ts +14 -0
  95. package/dist/services/mmorpg.d.ts +32 -0
  96. package/dist/services/standalone.d.ts +34 -0
  97. package/package.json +25 -41
  98. package/src/Game/EffectManager.ts +20 -0
  99. package/src/Game/Event.ts +5 -0
  100. package/src/Game/Map.ts +10 -0
  101. package/src/Game/Object.ts +16 -0
  102. package/src/Game/Player.ts +5 -0
  103. package/src/Gui/Gui.ts +80 -533
  104. package/src/RpgClient.ts +9 -5
  105. package/src/RpgClientEngine.ts +135 -818
  106. package/src/components/character.ce +104 -0
  107. package/src/components/effects/animation.ce +19 -0
  108. package/src/components/effects/hit.ce +87 -0
  109. package/src/components/effects/index.ts +7 -0
  110. package/src/components/gui/dialogbox/index.ce +194 -0
  111. package/src/components/gui/dialogbox/itemMenu.ce +23 -0
  112. package/src/components/gui/dialogbox/selection.ce +67 -0
  113. package/src/components/gui/index.ts +5 -0
  114. package/src/components/index.ts +3 -0
  115. package/src/components/scenes/canvas.ce +51 -0
  116. package/src/components/scenes/draw-map.ce +56 -0
  117. package/src/components/scenes/element-map.ce +23 -0
  118. package/src/components/scenes/event-layer.ce +20 -0
  119. package/src/core/inject.ts +17 -0
  120. package/src/core/setup.ts +18 -0
  121. package/src/index.ts +13 -29
  122. package/src/module.ts +93 -0
  123. package/src/presets/index.ts +5 -0
  124. package/src/{Presets/AnimationSpritesheet.ts → presets/rmspritesheet.ts} +4 -5
  125. package/src/services/AbstractSocket.ts +14 -0
  126. package/src/services/loadMap.ts +33 -0
  127. package/src/services/mmorpg.ts +64 -0
  128. package/src/services/standalone.ts +101 -0
  129. package/src/types/canvas-engine.d.ts +26 -0
  130. package/tsconfig.json +8 -3
  131. package/vite.config.ts +34 -0
  132. package/CHANGELOG.md +0 -189
  133. package/LICENSE +0 -19
  134. package/browser/React-ece4b906.js +0 -195
  135. package/browser/index-ba657126.js +0 -44229
  136. package/browser/manifest.json +0 -21
  137. package/browser/rpg.client.js +0 -40
  138. package/browser/rpg.client.umd.cjs +0 -44456
  139. package/lib/Components/AbstractComponent.d.ts +0 -32
  140. package/lib/Components/AbstractComponent.js +0 -93
  141. package/lib/Components/AbstractComponent.js.map +0 -1
  142. package/lib/Components/BarComponent.d.ts +0 -21
  143. package/lib/Components/BarComponent.js +0 -169
  144. package/lib/Components/BarComponent.js.map +0 -1
  145. package/lib/Components/Component.d.ts +0 -124
  146. package/lib/Components/Component.js +0 -425
  147. package/lib/Components/Component.js.map +0 -1
  148. package/lib/Components/DebugComponent.d.ts +0 -11
  149. package/lib/Components/DebugComponent.js +0 -32
  150. package/lib/Components/DebugComponent.js.map +0 -1
  151. package/lib/Components/ImageComponent.d.ts +0 -11
  152. package/lib/Components/ImageComponent.js +0 -30
  153. package/lib/Components/ImageComponent.js.map +0 -1
  154. package/lib/Components/ShapeComponent.d.ts +0 -11
  155. package/lib/Components/ShapeComponent.js +0 -57
  156. package/lib/Components/ShapeComponent.js.map +0 -1
  157. package/lib/Components/TextComponent.d.ts +0 -11
  158. package/lib/Components/TextComponent.js +0 -35
  159. package/lib/Components/TextComponent.js.map +0 -1
  160. package/lib/Components/TileComponent.d.ts +0 -10
  161. package/lib/Components/TileComponent.js +0 -40
  162. package/lib/Components/TileComponent.js.map +0 -1
  163. package/lib/Effects/Animation.d.ts +0 -55
  164. package/lib/Effects/Animation.js +0 -233
  165. package/lib/Effects/Animation.js.map +0 -1
  166. package/lib/Effects/AnimationCharacter.d.ts +0 -7
  167. package/lib/Effects/AnimationCharacter.js +0 -9
  168. package/lib/Effects/AnimationCharacter.js.map +0 -1
  169. package/lib/Effects/Spinner.d.ts +0 -7
  170. package/lib/Effects/Spinner.js +0 -18
  171. package/lib/Effects/Spinner.js.map +0 -1
  172. package/lib/Effects/Timeline.d.ts +0 -151
  173. package/lib/Effects/Timeline.js +0 -369
  174. package/lib/Effects/Timeline.js.map +0 -1
  175. package/lib/Effects/TransitionScene.d.ts +0 -18
  176. package/lib/Effects/TransitionScene.js +0 -50
  177. package/lib/Effects/TransitionScene.js.map +0 -1
  178. package/lib/GameEngine.d.ts +0 -68
  179. package/lib/GameEngine.js +0 -254
  180. package/lib/GameEngine.js.map +0 -1
  181. package/lib/Gui/Gui.d.ts +0 -110
  182. package/lib/Gui/Gui.js +0 -489
  183. package/lib/Gui/Gui.js.map +0 -1
  184. package/lib/Gui/React.d.ts +0 -28
  185. package/lib/Gui/React.js +0 -147
  186. package/lib/Gui/React.js.map +0 -1
  187. package/lib/Gui/Vue.d.ts +0 -13
  188. package/lib/Gui/Vue.js +0 -114
  189. package/lib/Gui/Vue.js.map +0 -1
  190. package/lib/Interfaces/Character.d.ts +0 -6
  191. package/lib/Interfaces/Character.js +0 -2
  192. package/lib/Interfaces/Character.js.map +0 -1
  193. package/lib/Interfaces/Scene.d.ts +0 -10
  194. package/lib/Interfaces/Scene.js +0 -2
  195. package/lib/Interfaces/Scene.js.map +0 -1
  196. package/lib/KeyboardControls.d.ts +0 -367
  197. package/lib/KeyboardControls.js +0 -714
  198. package/lib/KeyboardControls.js.map +0 -1
  199. package/lib/Logger.d.ts +0 -1
  200. package/lib/Logger.js +0 -4
  201. package/lib/Logger.js.map +0 -1
  202. package/lib/Presets/AnimationSpritesheet.js +0 -39
  203. package/lib/Presets/AnimationSpritesheet.js.map +0 -1
  204. package/lib/Presets/Scene.d.ts +0 -3
  205. package/lib/Presets/Scene.js +0 -5
  206. package/lib/Presets/Scene.js.map +0 -1
  207. package/lib/Renderer.d.ts +0 -62
  208. package/lib/Renderer.js +0 -300
  209. package/lib/Renderer.js.map +0 -1
  210. package/lib/Resources.d.ts +0 -22
  211. package/lib/Resources.js +0 -38
  212. package/lib/Resources.js.map +0 -1
  213. package/lib/RpgClient.js +0 -2
  214. package/lib/RpgClient.js.map +0 -1
  215. package/lib/RpgClientEngine.d.ts +0 -257
  216. package/lib/RpgClientEngine.js +0 -677
  217. package/lib/RpgClientEngine.js.map +0 -1
  218. package/lib/Scene/EventLayer.d.ts +0 -4
  219. package/lib/Scene/EventLayer.js +0 -8
  220. package/lib/Scene/EventLayer.js.map +0 -1
  221. package/lib/Scene/Map.d.ts +0 -109
  222. package/lib/Scene/Map.js +0 -319
  223. package/lib/Scene/Map.js.map +0 -1
  224. package/lib/Scene/Scene.d.ts +0 -184
  225. package/lib/Scene/Scene.js +0 -250
  226. package/lib/Scene/Scene.js.map +0 -1
  227. package/lib/Scene/SceneData.d.ts +0 -4
  228. package/lib/Scene/SceneData.js +0 -8
  229. package/lib/Scene/SceneData.js.map +0 -1
  230. package/lib/Sound/RpgSound.d.ts +0 -11
  231. package/lib/Sound/RpgSound.js +0 -46
  232. package/lib/Sound/RpgSound.js.map +0 -1
  233. package/lib/Sound/Sound.d.ts +0 -78
  234. package/lib/Sound/Sound.js +0 -12
  235. package/lib/Sound/Sound.js.map +0 -1
  236. package/lib/Sound/Sounds.d.ts +0 -2
  237. package/lib/Sound/Sounds.js +0 -6
  238. package/lib/Sound/Sounds.js.map +0 -1
  239. package/lib/Sprite/Character.d.ts +0 -18
  240. package/lib/Sprite/Character.js +0 -131
  241. package/lib/Sprite/Character.js.map +0 -1
  242. package/lib/Sprite/Player.d.ts +0 -3
  243. package/lib/Sprite/Player.js +0 -4
  244. package/lib/Sprite/Player.js.map +0 -1
  245. package/lib/Sprite/Spritesheet.d.ts +0 -365
  246. package/lib/Sprite/Spritesheet.js +0 -13
  247. package/lib/Sprite/Spritesheet.js.map +0 -1
  248. package/lib/Sprite/Spritesheets.d.ts +0 -3
  249. package/lib/Sprite/Spritesheets.js +0 -6
  250. package/lib/Sprite/Spritesheets.js.map +0 -1
  251. package/lib/Tilemap/CommonLayer.d.ts +0 -10
  252. package/lib/Tilemap/CommonLayer.js +0 -17
  253. package/lib/Tilemap/CommonLayer.js.map +0 -1
  254. package/lib/Tilemap/ImageLayer.d.ts +0 -4
  255. package/lib/Tilemap/ImageLayer.js +0 -16
  256. package/lib/Tilemap/ImageLayer.js.map +0 -1
  257. package/lib/Tilemap/Tile.d.ts +0 -21
  258. package/lib/Tilemap/Tile.js +0 -67
  259. package/lib/Tilemap/Tile.js.map +0 -1
  260. package/lib/Tilemap/TileLayer.d.ts +0 -13
  261. package/lib/Tilemap/TileLayer.js +0 -122
  262. package/lib/Tilemap/TileLayer.js.map +0 -1
  263. package/lib/Tilemap/TileSet.d.ts +0 -7
  264. package/lib/Tilemap/TileSet.js +0 -24
  265. package/lib/Tilemap/TileSet.js.map +0 -1
  266. package/lib/Tilemap/index.d.ts +0 -28
  267. package/lib/Tilemap/index.js +0 -151
  268. package/lib/Tilemap/index.js.map +0 -1
  269. package/lib/clientEntryPoint.d.ts +0 -89
  270. package/lib/clientEntryPoint.js +0 -48
  271. package/lib/clientEntryPoint.js.map +0 -1
  272. package/lib/index.d.ts +0 -26
  273. package/lib/index.js +0 -27
  274. package/lib/index.js.map +0 -1
  275. package/lib/inject.d.ts +0 -23
  276. package/lib/inject.js +0 -30
  277. package/lib/inject.js.map +0 -1
  278. package/rpg.toml +0 -14
  279. package/src/Components/AbstractComponent.ts +0 -120
  280. package/src/Components/BarComponent.ts +0 -181
  281. package/src/Components/Component.ts +0 -515
  282. package/src/Components/DebugComponent.ts +0 -36
  283. package/src/Components/ImageComponent.ts +0 -30
  284. package/src/Components/ShapeComponent.ts +0 -64
  285. package/src/Components/TextComponent.ts +0 -33
  286. package/src/Components/TileComponent.ts +0 -43
  287. package/src/Effects/Animation.ts +0 -310
  288. package/src/Effects/AnimationCharacter.ts +0 -7
  289. package/src/Effects/Spinner.ts +0 -19
  290. package/src/Effects/Timeline.ts +0 -378
  291. package/src/Effects/TransitionScene.ts +0 -59
  292. package/src/GameEngine.ts +0 -289
  293. package/src/Gui/React.ts +0 -193
  294. package/src/Gui/Vue.ts +0 -154
  295. package/src/Interfaces/Character.ts +0 -7
  296. package/src/Interfaces/Scene.ts +0 -9
  297. package/src/KeyboardControls.ts +0 -748
  298. package/src/Logger.ts +0 -3
  299. package/src/Presets/Scene.ts +0 -3
  300. package/src/Renderer.ts +0 -334
  301. package/src/Resources.ts +0 -39
  302. package/src/Scene/EventLayer.ts +0 -9
  303. package/src/Scene/Map.ts +0 -402
  304. package/src/Scene/Scene.ts +0 -305
  305. package/src/Scene/SceneData.ts +0 -13
  306. package/src/Sound/RpgSound.ts +0 -50
  307. package/src/Sound/Sound.ts +0 -91
  308. package/src/Sound/Sounds.ts +0 -7
  309. package/src/Sprite/Character.ts +0 -157
  310. package/src/Sprite/Player.ts +0 -3
  311. package/src/Sprite/Spritesheet.ts +0 -392
  312. package/src/Sprite/Spritesheets.ts +0 -8
  313. package/src/Tilemap/CommonLayer.ts +0 -20
  314. package/src/Tilemap/ImageLayer.ts +0 -20
  315. package/src/Tilemap/Tile.ts +0 -80
  316. package/src/Tilemap/TileLayer.ts +0 -142
  317. package/src/Tilemap/TileSet.ts +0 -40
  318. package/src/Tilemap/index.ts +0 -175
  319. package/src/clientEntryPoint.ts +0 -150
  320. package/src/inject.ts +0 -34
  321. package/src/types/howler.d.ts +0 -73
@@ -0,0 +1,14 @@
1
+ import { Context } from '@signe/di';
2
+ export declare const LoadMapToken = "LoadMapToken";
3
+ export type LoadMapOptions = (mapId: string) => Promise<void>;
4
+ export declare class LoadMapService {
5
+ private context;
6
+ private options;
7
+ private updateMapService;
8
+ constructor(context: Context, options: LoadMapOptions);
9
+ load(mapId: string): Promise<void>;
10
+ }
11
+ export declare function provideLoadMap(options: LoadMapOptions): {
12
+ provide: string;
13
+ useFactory: (context: Context) => void;
14
+ }[];
@@ -0,0 +1,32 @@
1
+ import { Context } from '@signe/di';
2
+ import { RpgGui } from '../Gui/Gui';
3
+ import { RpgClientEngine } from '../RpgClientEngine';
4
+ import { AbstractWebsocket } from './AbstractSocket';
5
+ import { UpdateMapService } from '@rpgjs/common';
6
+ interface MmorpgOptions {
7
+ host: string;
8
+ }
9
+ declare class BridgeWebsocket extends AbstractWebsocket {
10
+ protected context: Context;
11
+ private options;
12
+ private socket;
13
+ constructor(context: Context, options: MmorpgOptions);
14
+ connection(): Promise<void>;
15
+ on(key: string, callback: (data: any) => void): void;
16
+ off(event: string, callback: (data: any) => void): void;
17
+ emit(event: string, data: any): void;
18
+ }
19
+ declare class UpdateMapStandaloneService extends UpdateMapService {
20
+ protected context: Context;
21
+ private options;
22
+ constructor(context: Context, options: MmorpgOptions);
23
+ update(map: any): Promise<void>;
24
+ }
25
+ export declare function provideMmorpg(options: MmorpgOptions): (typeof RpgGui | typeof RpgClientEngine | {
26
+ provide: string;
27
+ useFactory: (context: Context) => BridgeWebsocket;
28
+ } | {
29
+ provide: string;
30
+ useFactory: (context: Context) => UpdateMapStandaloneService;
31
+ })[];
32
+ export {};
@@ -0,0 +1,34 @@
1
+ import { AbstractWebsocket } from './AbstractSocket';
2
+ import { Context } from '@signe/di';
3
+ import { RpgClientEngine } from '../RpgClientEngine';
4
+ import { UpdateMapService } from '@rpgjs/common';
5
+ import { RpgGui } from '../Gui/Gui';
6
+ declare class BridgeWebsocket extends AbstractWebsocket {
7
+ protected context: Context;
8
+ private server;
9
+ private room;
10
+ private socket;
11
+ constructor(context: Context, server: any);
12
+ connection(listeners?: (data: any) => void): Promise<any>;
13
+ on(key: string, callback: (data: any) => void): void;
14
+ off(event: string, callback: (data: any) => void): void;
15
+ emit(event: string, data: any): void;
16
+ updateProperties({ room }: {
17
+ room: any;
18
+ }): void;
19
+ reconnect(listeners?: (data: any) => void): Promise<void>;
20
+ }
21
+ declare class UpdateMapStandaloneService extends UpdateMapService {
22
+ private server;
23
+ update(mapId: string, map: any): Promise<void>;
24
+ }
25
+ export declare function provideRpg(server: any): (typeof RpgGui | typeof RpgClientEngine | {
26
+ provide: string;
27
+ useFactory: (context: Context) => BridgeWebsocket;
28
+ useClass?: undefined;
29
+ } | {
30
+ provide: string;
31
+ useClass: typeof UpdateMapStandaloneService;
32
+ useFactory?: undefined;
33
+ })[];
34
+ export {};
package/package.json CHANGED
@@ -1,56 +1,40 @@
1
1
  {
2
2
  "name": "@rpgjs/client",
3
- "version": "4.3.0",
4
- "description": "",
5
- "main": "lib/index.js",
6
- "types": "./lib/index.d.ts",
3
+ "version": "5.0.0-alpha.0",
4
+ "description": "RPGJS is a framework for creating RPG/MMORPG games",
5
+ "main": "dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
10
10
  "scripts": {
11
- "build": "tsc && tsc-esm-fix --target='lib' && npm run build:browser",
12
- "build:browser": "RPG_TYPE=rpg npx rpgjs build",
13
- "watch": "tsc -w"
14
- },
15
- "keywords": [],
16
- "typesVersions": {
17
- "*": {
18
- "react": [
19
- "lib/Gui/React.d.ts"
20
- ]
21
- }
22
- },
23
- "exports": {
24
- ".": "./lib/index.js",
25
- "./react": "./lib/Gui/React.js"
11
+ "dev": "vite build --watch",
12
+ "build": "vite build"
26
13
  },
14
+ "keywords": [
15
+ "rpg",
16
+ "game",
17
+ "engine",
18
+ "javascript",
19
+ "typescript"
20
+ ],
27
21
  "author": "Samuel Ronce",
28
22
  "license": "MIT",
29
23
  "dependencies": {
30
- "@nanostores/react": "^0.7.1",
31
- "@pixi/tilemap": "^4.0.0",
32
- "@rpgjs/common": "^4.3.0",
33
- "@rpgjs/tiled": "^4.3.0",
34
- "@rpgjs/types": "^4.0.5",
35
- "@types/howler": "2.2.7",
36
- "howler": "2.2.3",
37
- "lodash.get": "^4.4.2",
38
- "lodash.merge": "4.6.2",
39
- "pixi-viewport": "^5.0.2",
40
- "pixi.js": "7.2.4",
41
- "react-dom": "^18.2.0",
42
- "rxjs": "7.8.0",
43
- "simple-room-client": "^3.0.0",
44
- "vue": "^3.2.47"
24
+ "@canvasengine/presets": "2.0.0-beta.22",
25
+ "@rpgjs/common": "workspace:*",
26
+ "@signe/di": "^2.3.3",
27
+ "@signe/room": "^2.3.3",
28
+ "@signe/sync": "^2.3.3",
29
+ "canvasengine": "2.0.0-beta.22",
30
+ "pixi.js": "^8.10.1",
31
+ "rxjs": "^7.8.2"
45
32
  },
46
- "gitHead": "4794b65ddf537b2a5c87a1e0dc79623753999ee0",
47
33
  "devDependencies": {
48
- "@babel/types": "^7.22.11",
49
- "@rpgjs/compiler": "^4.3.0",
50
- "@types/css-font-loading-module": "^0.0.8",
51
- "@types/node": "^18.16.0",
52
- "@types/react": "^18.2.25",
53
- "typescript": "^5.0.4"
34
+ "@canvasengine/compiler": "2.0.0-beta.21",
35
+ "vite": "^6.2.5",
36
+ "vite-plugin-dts": "^4.5.3",
37
+ "vitest": "^3.1.1"
54
38
  },
55
39
  "type": "module"
56
40
  }
@@ -0,0 +1,20 @@
1
+ import { generateUID, RpgCommonPlayer } from "@rpgjs/common";
2
+ import { signal } from "canvasengine";
3
+
4
+ export class EffectManager {
5
+ current = signal<any[]>([]);
6
+
7
+ displayEffect(params: any, player: RpgCommonPlayer) {
8
+ const id = generateUID();
9
+ this.current().push({
10
+ ...params,
11
+ id,
12
+ x: player.x,
13
+ y: player.y,
14
+ onFinish: () => {
15
+ const index = this.current().findIndex((value) => value.id === id);
16
+ this.current().splice(index, 1);
17
+ },
18
+ });
19
+ }
20
+ }
@@ -0,0 +1,5 @@
1
+ import { RpgClientObject } from "./Object";
2
+
3
+ export class RpgClientEvent extends RpgClientObject {
4
+ type = 'event'
5
+ }
@@ -0,0 +1,10 @@
1
+ import { RpgCommonMap } from "@rpgjs/common";
2
+ import { sync, users } from "@signe/sync";
3
+ import { RpgClientPlayer } from "./Player";
4
+ import { Signal, signal } from "canvasengine";
5
+ import { RpgClientEvent } from "./Event";
6
+
7
+ export class RpgClientMap extends RpgCommonMap<RpgClientPlayer> {
8
+ @users(RpgClientPlayer) players = signal<Record<string, RpgClientPlayer>>({});
9
+ @sync(RpgClientEvent) events = signal<Record<string, RpgClientEvent>>({});
10
+ }
@@ -0,0 +1,16 @@
1
+ import { RpgCommonPlayer } from "@rpgjs/common";
2
+ import { trigger, signal } from "canvasengine";
3
+
4
+ export abstract class RpgClientObject extends RpgCommonPlayer {
5
+ abstract type: string;
6
+ emitParticleTrigger = trigger()
7
+ particleName = signal('')
8
+
9
+ flash(color: string, duration: number = 100) {
10
+ const lastTint = this.tint()
11
+ this.tint.set(color);
12
+ setTimeout(() => {
13
+ this.tint.set(lastTint)
14
+ }, duration)
15
+ }
16
+ }
@@ -0,0 +1,5 @@
1
+ import { RpgClientObject } from "./Object";
2
+
3
+ export class RpgClientPlayer extends RpgClientObject {
4
+ type = 'player'
5
+ }