@rpgjs/client 4.3.0 → 5.0.0-alpha.1

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 (323) 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 +316 -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 +91 -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/index39.js +20 -0
  79. package/dist/index39.js.map +1 -0
  80. package/dist/index4.js +54 -0
  81. package/dist/index4.js.map +1 -0
  82. package/dist/index5.js +15 -0
  83. package/dist/index5.js.map +1 -0
  84. package/dist/index6.js +17 -0
  85. package/dist/index6.js.map +1 -0
  86. package/dist/index7.js +31 -0
  87. package/dist/index7.js.map +1 -0
  88. package/dist/index8.js +90 -0
  89. package/dist/index8.js.map +1 -0
  90. package/dist/index9.js +76 -0
  91. package/dist/index9.js.map +1 -0
  92. package/dist/module.d.ts +14 -0
  93. package/dist/presets/index.d.ts +22 -0
  94. package/{lib/Presets/AnimationSpritesheet.d.ts → dist/presets/rmspritesheet.d.ts} +6 -2
  95. package/dist/services/AbstractSocket.d.ts +15 -0
  96. package/dist/services/loadMap.d.ts +14 -0
  97. package/dist/services/mmorpg.d.ts +32 -0
  98. package/dist/services/standalone.d.ts +34 -0
  99. package/package.json +25 -41
  100. package/src/Game/EffectManager.ts +20 -0
  101. package/src/Game/Event.ts +5 -0
  102. package/src/Game/Map.ts +10 -0
  103. package/src/Game/Object.ts +16 -0
  104. package/src/Game/Player.ts +5 -0
  105. package/src/Gui/Gui.ts +80 -533
  106. package/src/RpgClient.ts +9 -5
  107. package/src/RpgClientEngine.ts +135 -818
  108. package/src/components/character.ce +104 -0
  109. package/src/components/effects/animation.ce +19 -0
  110. package/src/components/effects/hit.ce +87 -0
  111. package/src/components/effects/index.ts +7 -0
  112. package/src/components/gui/dialogbox/index.ce +194 -0
  113. package/src/components/gui/dialogbox/itemMenu.ce +23 -0
  114. package/src/components/gui/dialogbox/selection.ce +67 -0
  115. package/src/components/gui/index.ts +5 -0
  116. package/src/components/index.ts +3 -0
  117. package/src/components/scenes/canvas.ce +51 -0
  118. package/src/components/scenes/draw-map.ce +56 -0
  119. package/src/components/scenes/element-map.ce +23 -0
  120. package/src/components/scenes/event-layer.ce +20 -0
  121. package/src/core/inject.ts +17 -0
  122. package/src/core/setup.ts +18 -0
  123. package/src/index.ts +13 -29
  124. package/src/module.ts +93 -0
  125. package/src/presets/index.ts +5 -0
  126. package/src/{Presets/AnimationSpritesheet.ts → presets/rmspritesheet.ts} +4 -5
  127. package/src/services/AbstractSocket.ts +14 -0
  128. package/src/services/loadMap.ts +33 -0
  129. package/src/services/mmorpg.ts +64 -0
  130. package/src/services/standalone.ts +101 -0
  131. package/src/types/canvas-engine.d.ts +26 -0
  132. package/tsconfig.json +8 -3
  133. package/vite.config.ts +34 -0
  134. package/CHANGELOG.md +0 -189
  135. package/LICENSE +0 -19
  136. package/browser/React-ece4b906.js +0 -195
  137. package/browser/index-ba657126.js +0 -44229
  138. package/browser/manifest.json +0 -21
  139. package/browser/rpg.client.js +0 -40
  140. package/browser/rpg.client.umd.cjs +0 -44456
  141. package/lib/Components/AbstractComponent.d.ts +0 -32
  142. package/lib/Components/AbstractComponent.js +0 -93
  143. package/lib/Components/AbstractComponent.js.map +0 -1
  144. package/lib/Components/BarComponent.d.ts +0 -21
  145. package/lib/Components/BarComponent.js +0 -169
  146. package/lib/Components/BarComponent.js.map +0 -1
  147. package/lib/Components/Component.d.ts +0 -124
  148. package/lib/Components/Component.js +0 -425
  149. package/lib/Components/Component.js.map +0 -1
  150. package/lib/Components/DebugComponent.d.ts +0 -11
  151. package/lib/Components/DebugComponent.js +0 -32
  152. package/lib/Components/DebugComponent.js.map +0 -1
  153. package/lib/Components/ImageComponent.d.ts +0 -11
  154. package/lib/Components/ImageComponent.js +0 -30
  155. package/lib/Components/ImageComponent.js.map +0 -1
  156. package/lib/Components/ShapeComponent.d.ts +0 -11
  157. package/lib/Components/ShapeComponent.js +0 -57
  158. package/lib/Components/ShapeComponent.js.map +0 -1
  159. package/lib/Components/TextComponent.d.ts +0 -11
  160. package/lib/Components/TextComponent.js +0 -35
  161. package/lib/Components/TextComponent.js.map +0 -1
  162. package/lib/Components/TileComponent.d.ts +0 -10
  163. package/lib/Components/TileComponent.js +0 -40
  164. package/lib/Components/TileComponent.js.map +0 -1
  165. package/lib/Effects/Animation.d.ts +0 -55
  166. package/lib/Effects/Animation.js +0 -233
  167. package/lib/Effects/Animation.js.map +0 -1
  168. package/lib/Effects/AnimationCharacter.d.ts +0 -7
  169. package/lib/Effects/AnimationCharacter.js +0 -9
  170. package/lib/Effects/AnimationCharacter.js.map +0 -1
  171. package/lib/Effects/Spinner.d.ts +0 -7
  172. package/lib/Effects/Spinner.js +0 -18
  173. package/lib/Effects/Spinner.js.map +0 -1
  174. package/lib/Effects/Timeline.d.ts +0 -151
  175. package/lib/Effects/Timeline.js +0 -369
  176. package/lib/Effects/Timeline.js.map +0 -1
  177. package/lib/Effects/TransitionScene.d.ts +0 -18
  178. package/lib/Effects/TransitionScene.js +0 -50
  179. package/lib/Effects/TransitionScene.js.map +0 -1
  180. package/lib/GameEngine.d.ts +0 -68
  181. package/lib/GameEngine.js +0 -254
  182. package/lib/GameEngine.js.map +0 -1
  183. package/lib/Gui/Gui.d.ts +0 -110
  184. package/lib/Gui/Gui.js +0 -489
  185. package/lib/Gui/Gui.js.map +0 -1
  186. package/lib/Gui/React.d.ts +0 -28
  187. package/lib/Gui/React.js +0 -147
  188. package/lib/Gui/React.js.map +0 -1
  189. package/lib/Gui/Vue.d.ts +0 -13
  190. package/lib/Gui/Vue.js +0 -114
  191. package/lib/Gui/Vue.js.map +0 -1
  192. package/lib/Interfaces/Character.d.ts +0 -6
  193. package/lib/Interfaces/Character.js +0 -2
  194. package/lib/Interfaces/Character.js.map +0 -1
  195. package/lib/Interfaces/Scene.d.ts +0 -10
  196. package/lib/Interfaces/Scene.js +0 -2
  197. package/lib/Interfaces/Scene.js.map +0 -1
  198. package/lib/KeyboardControls.d.ts +0 -367
  199. package/lib/KeyboardControls.js +0 -714
  200. package/lib/KeyboardControls.js.map +0 -1
  201. package/lib/Logger.d.ts +0 -1
  202. package/lib/Logger.js +0 -4
  203. package/lib/Logger.js.map +0 -1
  204. package/lib/Presets/AnimationSpritesheet.js +0 -39
  205. package/lib/Presets/AnimationSpritesheet.js.map +0 -1
  206. package/lib/Presets/Scene.d.ts +0 -3
  207. package/lib/Presets/Scene.js +0 -5
  208. package/lib/Presets/Scene.js.map +0 -1
  209. package/lib/Renderer.d.ts +0 -62
  210. package/lib/Renderer.js +0 -300
  211. package/lib/Renderer.js.map +0 -1
  212. package/lib/Resources.d.ts +0 -22
  213. package/lib/Resources.js +0 -38
  214. package/lib/Resources.js.map +0 -1
  215. package/lib/RpgClient.js +0 -2
  216. package/lib/RpgClient.js.map +0 -1
  217. package/lib/RpgClientEngine.d.ts +0 -257
  218. package/lib/RpgClientEngine.js +0 -677
  219. package/lib/RpgClientEngine.js.map +0 -1
  220. package/lib/Scene/EventLayer.d.ts +0 -4
  221. package/lib/Scene/EventLayer.js +0 -8
  222. package/lib/Scene/EventLayer.js.map +0 -1
  223. package/lib/Scene/Map.d.ts +0 -109
  224. package/lib/Scene/Map.js +0 -319
  225. package/lib/Scene/Map.js.map +0 -1
  226. package/lib/Scene/Scene.d.ts +0 -184
  227. package/lib/Scene/Scene.js +0 -250
  228. package/lib/Scene/Scene.js.map +0 -1
  229. package/lib/Scene/SceneData.d.ts +0 -4
  230. package/lib/Scene/SceneData.js +0 -8
  231. package/lib/Scene/SceneData.js.map +0 -1
  232. package/lib/Sound/RpgSound.d.ts +0 -11
  233. package/lib/Sound/RpgSound.js +0 -46
  234. package/lib/Sound/RpgSound.js.map +0 -1
  235. package/lib/Sound/Sound.d.ts +0 -78
  236. package/lib/Sound/Sound.js +0 -12
  237. package/lib/Sound/Sound.js.map +0 -1
  238. package/lib/Sound/Sounds.d.ts +0 -2
  239. package/lib/Sound/Sounds.js +0 -6
  240. package/lib/Sound/Sounds.js.map +0 -1
  241. package/lib/Sprite/Character.d.ts +0 -18
  242. package/lib/Sprite/Character.js +0 -131
  243. package/lib/Sprite/Character.js.map +0 -1
  244. package/lib/Sprite/Player.d.ts +0 -3
  245. package/lib/Sprite/Player.js +0 -4
  246. package/lib/Sprite/Player.js.map +0 -1
  247. package/lib/Sprite/Spritesheet.d.ts +0 -365
  248. package/lib/Sprite/Spritesheet.js +0 -13
  249. package/lib/Sprite/Spritesheet.js.map +0 -1
  250. package/lib/Sprite/Spritesheets.d.ts +0 -3
  251. package/lib/Sprite/Spritesheets.js +0 -6
  252. package/lib/Sprite/Spritesheets.js.map +0 -1
  253. package/lib/Tilemap/CommonLayer.d.ts +0 -10
  254. package/lib/Tilemap/CommonLayer.js +0 -17
  255. package/lib/Tilemap/CommonLayer.js.map +0 -1
  256. package/lib/Tilemap/ImageLayer.d.ts +0 -4
  257. package/lib/Tilemap/ImageLayer.js +0 -16
  258. package/lib/Tilemap/ImageLayer.js.map +0 -1
  259. package/lib/Tilemap/Tile.d.ts +0 -21
  260. package/lib/Tilemap/Tile.js +0 -67
  261. package/lib/Tilemap/Tile.js.map +0 -1
  262. package/lib/Tilemap/TileLayer.d.ts +0 -13
  263. package/lib/Tilemap/TileLayer.js +0 -122
  264. package/lib/Tilemap/TileLayer.js.map +0 -1
  265. package/lib/Tilemap/TileSet.d.ts +0 -7
  266. package/lib/Tilemap/TileSet.js +0 -24
  267. package/lib/Tilemap/TileSet.js.map +0 -1
  268. package/lib/Tilemap/index.d.ts +0 -28
  269. package/lib/Tilemap/index.js +0 -151
  270. package/lib/Tilemap/index.js.map +0 -1
  271. package/lib/clientEntryPoint.d.ts +0 -89
  272. package/lib/clientEntryPoint.js +0 -48
  273. package/lib/clientEntryPoint.js.map +0 -1
  274. package/lib/index.d.ts +0 -26
  275. package/lib/index.js +0 -27
  276. package/lib/index.js.map +0 -1
  277. package/lib/inject.d.ts +0 -23
  278. package/lib/inject.js +0 -30
  279. package/lib/inject.js.map +0 -1
  280. package/rpg.toml +0 -14
  281. package/src/Components/AbstractComponent.ts +0 -120
  282. package/src/Components/BarComponent.ts +0 -181
  283. package/src/Components/Component.ts +0 -515
  284. package/src/Components/DebugComponent.ts +0 -36
  285. package/src/Components/ImageComponent.ts +0 -30
  286. package/src/Components/ShapeComponent.ts +0 -64
  287. package/src/Components/TextComponent.ts +0 -33
  288. package/src/Components/TileComponent.ts +0 -43
  289. package/src/Effects/Animation.ts +0 -310
  290. package/src/Effects/AnimationCharacter.ts +0 -7
  291. package/src/Effects/Spinner.ts +0 -19
  292. package/src/Effects/Timeline.ts +0 -378
  293. package/src/Effects/TransitionScene.ts +0 -59
  294. package/src/GameEngine.ts +0 -289
  295. package/src/Gui/React.ts +0 -193
  296. package/src/Gui/Vue.ts +0 -154
  297. package/src/Interfaces/Character.ts +0 -7
  298. package/src/Interfaces/Scene.ts +0 -9
  299. package/src/KeyboardControls.ts +0 -748
  300. package/src/Logger.ts +0 -3
  301. package/src/Presets/Scene.ts +0 -3
  302. package/src/Renderer.ts +0 -334
  303. package/src/Resources.ts +0 -39
  304. package/src/Scene/EventLayer.ts +0 -9
  305. package/src/Scene/Map.ts +0 -402
  306. package/src/Scene/Scene.ts +0 -305
  307. package/src/Scene/SceneData.ts +0 -13
  308. package/src/Sound/RpgSound.ts +0 -50
  309. package/src/Sound/Sound.ts +0 -91
  310. package/src/Sound/Sounds.ts +0 -7
  311. package/src/Sprite/Character.ts +0 -157
  312. package/src/Sprite/Player.ts +0 -3
  313. package/src/Sprite/Spritesheet.ts +0 -392
  314. package/src/Sprite/Spritesheets.ts +0 -8
  315. package/src/Tilemap/CommonLayer.ts +0 -20
  316. package/src/Tilemap/ImageLayer.ts +0 -20
  317. package/src/Tilemap/Tile.ts +0 -80
  318. package/src/Tilemap/TileLayer.ts +0 -142
  319. package/src/Tilemap/TileSet.ts +0 -40
  320. package/src/Tilemap/index.ts +0 -175
  321. package/src/clientEntryPoint.ts +0 -150
  322. package/src/inject.ts +0 -34
  323. package/src/types/howler.d.ts +0 -73
@@ -1,32 +0,0 @@
1
- import { ComponentObject } from "@rpgjs/types";
2
- import { RpgComponent } from "./Component.js";
3
- import { GameEngineClient } from "../GameEngine.js";
4
- import { Container, Graphics, Sprite } from "pixi.js";
5
- export type CellInfo = {
6
- x?: number;
7
- y?: number;
8
- width: number;
9
- height: number;
10
- };
11
- export declare abstract class AbstractComponent<TypeComponent extends ComponentObject<any>, ContainerType extends Container | Text | Sprite | Graphics> extends Container {
12
- protected component: RpgComponent;
13
- protected value: TypeComponent['value'];
14
- private _onRender$;
15
- private _onDestroy$;
16
- readonly onRender$: import("rxjs").Observable<AbstractComponent<TypeComponent, ContainerType>>;
17
- protected readonly game: GameEngineClient;
18
- protected firstRender: boolean;
19
- private style;
20
- private cacheText;
21
- protected cell?: CellInfo;
22
- constructor(component: RpgComponent, value: TypeComponent['value']);
23
- getStyle<T>(): T;
24
- protected parseTextAndCache(text: string): string[];
25
- protected replaceText(object: any, text: string): string;
26
- protected getValue(object: any, expression: any): any;
27
- private verifyParams;
28
- onInit(cell: CellInfo): void;
29
- abstract updateRender(object: any, firstRender: boolean): void;
30
- abstract cacheParams: string[];
31
- onRemove(): void;
32
- }
@@ -1,93 +0,0 @@
1
- import { Subject, filter, takeUntil } from "rxjs";
2
- import get from 'lodash.get';
3
- import { Container } from "pixi.js";
4
- const REGEXP_VAR = /{([^\}]+)}/g;
5
- export class AbstractComponent extends Container {
6
- constructor(component, value) {
7
- super();
8
- this.component = component;
9
- this.value = value;
10
- this._onRender$ = new Subject();
11
- this._onDestroy$ = new Subject();
12
- this.onRender$ = this._onRender$.asObservable();
13
- this.game = this.component.game;
14
- this.firstRender = true;
15
- this.style = this.value?.style;
16
- this.cacheText = {};
17
- }
18
- getStyle() {
19
- return this.style || {};
20
- }
21
- parseTextAndCache(text) {
22
- // parse text to get varariable in {} format et cache it
23
- const matches = text.matchAll(REGEXP_VAR);
24
- this.cacheParams = [
25
- ...this.cacheParams,
26
- ...Array.from(matches).map(match => match[1])
27
- ];
28
- return this.cacheParams;
29
- }
30
- replaceText(object, text) {
31
- return text.replace(REGEXP_VAR, (match, key) => {
32
- const value = get(object, key);
33
- if (value !== undefined) {
34
- this.cacheText[key] = value;
35
- return value ?? '';
36
- }
37
- return value ?? this.cacheText[key] ?? '';
38
- });
39
- }
40
- getValue(object, expression) {
41
- if (typeof expression === 'string') {
42
- const value = get(object, expression);
43
- if (value !== undefined) {
44
- if (this.cacheParams.indexOf(expression) === -1)
45
- this.cacheParams.push(expression);
46
- return value;
47
- }
48
- }
49
- return expression;
50
- }
51
- verifyParams() {
52
- const params = this.component.logic;
53
- for (const param of this.cacheParams) {
54
- if (get(params, param) === undefined) {
55
- throw new Error(`Param ${param} not found in object ${this.component.logic?.id}`);
56
- }
57
- }
58
- }
59
- onInit(cell) {
60
- this.cell = cell;
61
- this.verifyParams();
62
- const render = (object) => {
63
- const opacity = this.getValue(object, this.getStyle().opacity || this.value.opacity);
64
- if (opacity !== undefined) {
65
- this.alpha = Math.min(opacity, 1);
66
- }
67
- };
68
- render(this.component.logic);
69
- const objectId = this.component.logic?.id;
70
- this.game.listenObject(objectId)
71
- .pipe(takeUntil(this._onDestroy$), filter(object => {
72
- const params = object?.paramsChanged;
73
- if (!params)
74
- return false;
75
- for (const param of this.cacheParams) {
76
- if (get(params, param))
77
- return true;
78
- }
79
- return false;
80
- }))
81
- .subscribe(({ object }) => {
82
- this.updateRender(object, this.firstRender);
83
- render(object);
84
- this.firstRender = false;
85
- this._onRender$.next(this);
86
- });
87
- }
88
- onRemove() {
89
- this._onDestroy$.next();
90
- this._onDestroy$.complete();
91
- }
92
- }
93
- //# sourceMappingURL=AbstractComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractComponent.js","sourceRoot":"","sources":["../../src/Components/AbstractComponent.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { BarComponentObject } from "@rpgjs/types";
2
- import { AbstractComponent, CellInfo } from "./AbstractComponent.js";
3
- import { Container } from "pixi.js";
4
- export declare class BarComponent extends AbstractComponent<BarComponentObject, Container> {
5
- static readonly id: string;
6
- private barContainer;
7
- private barFill;
8
- private textContainer;
9
- private barHeight;
10
- private text;
11
- private barStyle;
12
- private currentValue;
13
- private maxValue;
14
- private nextValue;
15
- private notifier;
16
- cacheParams: string[];
17
- private get barWidth();
18
- onInit(cell: CellInfo): void;
19
- updateRender(object: any, firstRender: boolean): void;
20
- onRemove(): void;
21
- }
@@ -1,169 +0,0 @@
1
- import { Utils, transitionColor } from "@rpgjs/common";
2
- import { AbstractComponent } from "./AbstractComponent.js";
3
- import get from 'lodash.get';
4
- import { Subject, takeUntil } from "rxjs";
5
- import { Graphics, Text } from "pixi.js";
6
- const DEFAULT_COLOR = '#000000';
7
- class BarComponent extends AbstractComponent {
8
- constructor() {
9
- super(...arguments);
10
- this.barContainer = new Graphics();
11
- this.barFill = new Graphics();
12
- this.textContainer = new Text('');
13
- this.barHeight = this.value.style?.height || 7;
14
- this.text = this.value.text || '';
15
- this.barStyle = this.getStyle();
16
- this.currentValue = 0;
17
- this.maxValue = 0;
18
- this.nextValue = 0;
19
- this.notifier = new Subject();
20
- this.cacheParams = [];
21
- }
22
- get barWidth() {
23
- return this.barStyle?.width || this.cell?.width || 0;
24
- }
25
- onInit(cell) {
26
- if (!this.value.style) {
27
- this.value.style = {
28
- fillColor: '#ffffff',
29
- };
30
- }
31
- const { bgColor = DEFAULT_COLOR, borderColor = DEFAULT_COLOR, borderWidth = 1, borderRadius = 0 } = this.barStyle || {};
32
- this.cell = cell;
33
- const { value: color, alpha } = Utils.hexaToNumber(bgColor);
34
- this.barContainer.beginFill(color, alpha);
35
- const paramsRect = [0, 0, this.barWidth, this.barHeight];
36
- if (borderWidth) {
37
- const { value: color, alpha } = Utils.hexaToNumber(borderColor);
38
- this.barContainer.lineStyle(borderWidth, color, alpha);
39
- }
40
- if (borderRadius) {
41
- this.barContainer.drawRoundedRect(...paramsRect, borderRadius);
42
- }
43
- else {
44
- this.barContainer.drawRect(...paramsRect);
45
- }
46
- this.barContainer.endFill();
47
- this.textContainer.style = {
48
- fontSize: 10,
49
- fill: '#ffffff',
50
- fontWeight: 'bold'
51
- };
52
- // 5 is the padding
53
- this.textContainer.y -= this.barHeight + this.textContainer.height - 5;
54
- if (this.text)
55
- this.addChild(this.textContainer);
56
- this.addChild(this.barContainer);
57
- this.barContainer.addChild(this.barFill);
58
- this.cacheParams = [this.value.current, this.value.max];
59
- this.updateRender(this.component.logic, true);
60
- this.firstRender = false;
61
- super.onInit(cell);
62
- }
63
- updateRender(object, firstRender) {
64
- this.currentValue = this.nextValue;
65
- this.nextValue = get(object, this.value.current) ?? this.nextValue ?? 0;
66
- this.maxValue = get(object, this.value.max) ?? this.maxValue;
67
- const style = this.barStyle;
68
- const borderRadius = style?.borderRadius ?? 0;
69
- const borderWidth = style?.borderWidth ?? 0;
70
- // first render
71
- if (firstRender) {
72
- this.currentValue = this.nextValue;
73
- }
74
- const getColor = (value) => {
75
- let determineLastColor = DEFAULT_COLOR;
76
- const percent = Math.max(0, (value / this.maxValue) * 100);
77
- const perPercent = style.perPercent;
78
- if (perPercent) {
79
- for (const p in perPercent) {
80
- if (percent <= +p) {
81
- determineLastColor = perPercent[p].fillColor;
82
- break;
83
- }
84
- }
85
- }
86
- else {
87
- determineLastColor = this.value.style.fillColor;
88
- }
89
- return determineLastColor;
90
- };
91
- let colors = [];
92
- if (style) {
93
- // TODO: add transition color
94
- colors = transitionColor(getColor(this.currentValue), getColor(this.nextValue), 1);
95
- }
96
- else {
97
- colors = transitionColor(DEFAULT_COLOR, DEFAULT_COLOR, 1);
98
- }
99
- const render = (up = false) => {
100
- let currentValue = ~~this.currentValue;
101
- if (currentValue < 0)
102
- currentValue = 0;
103
- if (currentValue > this.maxValue)
104
- currentValue = this.maxValue;
105
- const percentBetween = ~~Math.max(0, ((currentValue - this.nextValue) * 100) / this.nextValue);
106
- const colorIndex = Math.max(Math.floor((100 - percentBetween) / (100 / (colors.length - 1))), 0);
107
- let fillColor = colors[colorIndex];
108
- this.barFill.clear();
109
- const { value: color, alpha } = Utils.hexaToNumber(fillColor ?? DEFAULT_COLOR);
110
- this.barFill.beginFill(color, alpha);
111
- const percent = Math.max(0, (currentValue / this.maxValue));
112
- const bWidth = borderWidth / 4;
113
- const paramsRect = [bWidth, bWidth, percent * this.barWidth - bWidth, this.barHeight - bWidth];
114
- if (percent > 0) {
115
- if (borderRadius) {
116
- this.barFill.drawRoundedRect(...paramsRect, borderRadius);
117
- }
118
- else {
119
- this.barFill.drawRect(...paramsRect);
120
- }
121
- }
122
- this.textContainer.text = this.replaceText({
123
- ...object,
124
- $current: currentValue,
125
- $percent: Math.round(percent * 100),
126
- $max: this.maxValue
127
- }, this.text);
128
- this.barFill.endFill();
129
- };
130
- if (firstRender) {
131
- render();
132
- return;
133
- }
134
- this.notifier.next();
135
- this.game.clientEngine.tick
136
- .pipe(takeUntil(this.notifier))
137
- .subscribe(() => {
138
- // speed of animation, calculate the difference between the current value and the next value to determine the speed
139
- const speed = Math.abs(this.currentValue - this.nextValue) / 10;
140
- let up = false;
141
- // if the current value is less than the next value, add the speed to the current value
142
- if (this.currentValue < this.nextValue) {
143
- this.currentValue += speed;
144
- up = true;
145
- }
146
- // if the current value is greater than the next value, subtract the speed from the current value
147
- else if (this.currentValue > this.nextValue) {
148
- this.currentValue -= speed;
149
- up = false;
150
- }
151
- render(up);
152
- const currentValue = Math.round(this.currentValue);
153
- if (!up && (~~currentValue <= ~~this.nextValue || currentValue <= 0)) {
154
- this.notifier.next();
155
- }
156
- else if (up && (~~currentValue >= ~~this.nextValue || currentValue >= this.maxValue)) {
157
- this.notifier.next();
158
- }
159
- });
160
- }
161
- onRemove() {
162
- this.notifier.next();
163
- this.notifier.complete();
164
- super.onRemove();
165
- }
166
- }
167
- BarComponent.id = 'bar';
168
- export { BarComponent };
169
- //# sourceMappingURL=BarComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BarComponent.js","sourceRoot":"","sources":["../../src/Components/BarComponent.ts"],"names":[],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- import { Direction, RpgCommonPlayer, RpgShape } from "@rpgjs/common";
2
- import { LayoutPositionEnum, PositionXY } from "@rpgjs/types";
3
- import { Scene } from "../Scene/Scene.js";
4
- import { Container } from "pixi.js";
5
- export interface IComponent {
6
- id: string;
7
- value: any;
8
- }
9
- export declare class RpgComponent<T = any> extends Container {
10
- private data;
11
- private scene;
12
- animationIsPlaying: boolean;
13
- protected _x: number;
14
- protected _y: number;
15
- private _rotation;
16
- protected teleported: number;
17
- protected map: string;
18
- protected z: number;
19
- protected fixed: boolean;
20
- private components;
21
- private direction;
22
- private container;
23
- private containersLayout;
24
- private subscriptionGraphic;
25
- private layoutNotifierClear;
26
- private registerComponents;
27
- private dragMode?;
28
- readonly game: import("../GameEngine.js").GameEngineClient;
29
- readonly id: string;
30
- constructor(data: RpgCommonPlayer | RpgShape, scene: Scene);
31
- /**
32
- * the direction of the sprite
33
- *
34
- * @prop {Direction} dir
35
- * @readonly
36
- * @memberof RpgSprite
37
- * */
38
- get dir(): Direction;
39
- /**
40
- * To know if the sprite is a player
41
- *
42
- * @prop {boolean} isPlayer
43
- * @readonly
44
- * @memberof RpgSprite
45
- * */
46
- get isPlayer(): boolean;
47
- /**
48
- * To know if the sprite is an event
49
- *
50
- * @prop {boolean} isEvent
51
- * @readonly
52
- * @memberof RpgSprite
53
- * */
54
- get isEvent(): boolean;
55
- /**
56
- * To know if the sprite is a shape
57
- *
58
- * @prop {boolean} isShape
59
- * @since 3.0.0-rc
60
- * @readonly
61
- * @memberof RpgSprite
62
- * */
63
- get isShape(): boolean;
64
- /**
65
- * To know if the sprite is the sprite controlled by the player
66
- *
67
- * @prop {boolean} isCurrentPlayer
68
- * @readonly
69
- * @memberof RpgSprite
70
- * */
71
- get isCurrentPlayer(): boolean;
72
- /**
73
- * Retrieves the logic of the sprite
74
- *
75
- * @prop {RpgSpriteLogic} logic
76
- * @readonly
77
- * @since 3.0.0-beta.4
78
- * @memberof RpgSprite
79
- * */
80
- get logic(): RpgCommonPlayer | RpgShape | null;
81
- get guiDisplay(): boolean;
82
- set guiDisplay(val: boolean);
83
- setPosition(smooth?: boolean): void;
84
- update(obj: any, objChanged: any, time: number, deltaRatio: number): {
85
- moving: boolean;
86
- };
87
- showAnimation(graphic: string | string[], animationName: string): void;
88
- /**
89
- * Recover the position according to the graphic
90
- * Normally, the position is that of the hitbox but, we retrieve the top left corner of the graphic
91
- *
92
- * You can also pass the `middle` value as first parameter to retrieve the positions from the middle of the sprite
93
- *
94
- * @title Get Positions of Graphic
95
- * @method sprite.getPositionsOfGraphic(align)
96
- * @param {string} [align] middle
97
- * @returns { x: number, y: number }
98
- * @memberof RpgSprite
99
- */
100
- getPositionsOfGraphic(align: string): PositionXY;
101
- /**
102
- * Get the container by position (center, left, right, top, bottom)
103
- *
104
- * @param {LayoutPositionEnum} [position=center]
105
- * @returns {PIXI.Container}
106
- *
107
- * */
108
- getLayoutContainer(position?: LayoutPositionEnum): Container;
109
- /**
110
- * Get Current Scene. Scene is a map, battle, menu, etc.
111
- * @returns {T}
112
- */
113
- getScene<T>(): T;
114
- onInit(): void;
115
- onUpdate(obj: any): void;
116
- onMove(): void;
117
- onChanges(data: any, old: any): void;
118
- private callMethodInComponents;
119
- private createGrid;
120
- private applyComponent;
121
- private createComponentCenter;
122
- private refreshComponents;
123
- private updateComponents;
124
- }