@rpgjs/client 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 (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 -42
  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 -534
  104. package/src/RpgClient.ts +9 -5
  105. package/src/RpgClientEngine.ts +135 -815
  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 -177
  133. package/LICENSE +0 -19
  134. package/browser/React-f6f9b1de.js +0 -157
  135. package/browser/index-e74a289f.js +0 -44225
  136. package/browser/manifest.json +0 -21
  137. package/browser/rpg.client.js +0 -40
  138. package/browser/rpg.client.umd.cjs +0 -44414
  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 -490
  183. package/lib/Gui/Gui.js.map +0 -1
  184. package/lib/Gui/React.d.ts +0 -15
  185. package/lib/Gui/React.js +0 -113
  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 -674
  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 -145
  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
@@ -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
- }