bard-legends-framework 0.0.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 (224) hide show
  1. package/.eslintrc.js +192 -0
  2. package/.vscode/settings.json +4 -0
  3. package/coverage/clover.xml +539 -0
  4. package/coverage/coverage-final.json +12 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/game-entities/controller.ts.html +235 -0
  9. package/coverage/lcov-report/game-entities/entity-base.ts.html +202 -0
  10. package/coverage/lcov-report/game-entities/entity.ts.html +526 -0
  11. package/coverage/lcov-report/game-entities/index.html +191 -0
  12. package/coverage/lcov-report/game-entities/service.ts.html +379 -0
  13. package/coverage/lcov-report/game-entities/store.ts.html +391 -0
  14. package/coverage/lcov-report/game-entities/view.ts.html +154 -0
  15. package/coverage/lcov-report/helpers/animator/animator.ts.html +658 -0
  16. package/coverage/lcov-report/helpers/animator/index.html +116 -0
  17. package/coverage/lcov-report/helpers/auto-destroy/auto-destroy.ts.html +184 -0
  18. package/coverage/lcov-report/helpers/auto-destroy/index.html +116 -0
  19. package/coverage/lcov-report/helpers/index.html +116 -0
  20. package/coverage/lcov-report/helpers/update-loop.ts.html +127 -0
  21. package/coverage/lcov-report/helpers/view-array/index.html +116 -0
  22. package/coverage/lcov-report/helpers/view-array/view-array.ts.html +388 -0
  23. package/coverage/lcov-report/index.html +191 -0
  24. package/coverage/lcov-report/lib/vector/index.html +116 -0
  25. package/coverage/lcov-report/lib/vector/vector.ts.html +484 -0
  26. package/coverage/lcov-report/prettify.css +1 -0
  27. package/coverage/lcov-report/prettify.js +2 -0
  28. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  29. package/coverage/lcov-report/sorter.js +196 -0
  30. package/coverage/lcov.info +1056 -0
  31. package/dist/_interfaces/index.d.ts +7 -0
  32. package/dist/_interfaces/index.js +3 -0
  33. package/dist/_interfaces/index.js.map +1 -0
  34. package/dist/app.d.ts +21 -0
  35. package/dist/app.js +54 -0
  36. package/dist/app.js.map +1 -0
  37. package/dist/game-assets/container/container.d.ts +26 -0
  38. package/dist/game-assets/container/container.js +94 -0
  39. package/dist/game-assets/container/container.js.map +1 -0
  40. package/dist/game-assets/display-object/container.d.ts +59 -0
  41. package/dist/game-assets/display-object/container.js +219 -0
  42. package/dist/game-assets/display-object/container.js.map +1 -0
  43. package/dist/game-assets/display-object/container.spec.js.map +1 -0
  44. package/dist/game-assets/display-object/display-object.d.ts +56 -0
  45. package/dist/game-assets/display-object/display-object.js +214 -0
  46. package/dist/game-assets/display-object/display-object.js.map +1 -0
  47. package/dist/game-assets/display-object/display-object.spec.js.map +1 -0
  48. package/dist/game-assets/display-object/interfaces.d.ts +23 -0
  49. package/dist/game-assets/display-object/interfaces.js +3 -0
  50. package/dist/game-assets/display-object/interfaces.js.map +1 -0
  51. package/dist/game-assets/display-object/objects/container.d.ts +9 -0
  52. package/dist/game-assets/display-object/objects/container.js +41 -0
  53. package/dist/game-assets/display-object/objects/container.js.map +1 -0
  54. package/dist/game-assets/display-object/objects/graphics.d.ts +23 -0
  55. package/dist/game-assets/display-object/objects/graphics.js +117 -0
  56. package/dist/game-assets/display-object/objects/graphics.js.map +1 -0
  57. package/dist/game-assets/display-object/objects/image.d.ts +29 -0
  58. package/dist/game-assets/display-object/objects/image.js +130 -0
  59. package/dist/game-assets/display-object/objects/image.js.map +1 -0
  60. package/dist/game-assets/display-object/objects/sprite.d.ts +34 -0
  61. package/dist/game-assets/display-object/objects/sprite.js +87 -0
  62. package/dist/game-assets/display-object/objects/sprite.js.map +1 -0
  63. package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.d.ts +19 -0
  64. package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.js +94 -0
  65. package/dist/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.js.map +1 -0
  66. package/dist/game-assets/filters/filters.d.ts +38 -0
  67. package/dist/game-assets/filters/filters.js +162 -0
  68. package/dist/game-assets/filters/filters.js.map +1 -0
  69. package/dist/game-assets/filters/glow-filter.d.ts +11 -0
  70. package/dist/game-assets/filters/glow-filter.js +33 -0
  71. package/dist/game-assets/filters/glow-filter.js.map +1 -0
  72. package/dist/game-assets/filters/shaders.d.ts +8 -0
  73. package/dist/game-assets/filters/shaders.js +82 -0
  74. package/dist/game-assets/filters/shaders.js.map +1 -0
  75. package/dist/game-assets/game-assets.d.ts +14 -0
  76. package/dist/game-assets/game-assets.js +92 -0
  77. package/dist/game-assets/game-assets.js.map +1 -0
  78. package/dist/game-assets/graphics/graphics.d.ts +26 -0
  79. package/dist/game-assets/graphics/graphics.js +104 -0
  80. package/dist/game-assets/graphics/graphics.js.map +1 -0
  81. package/dist/game-assets/helpers/glow.helper.d.ts +1 -0
  82. package/dist/game-assets/helpers/glow.helper.js +77 -0
  83. package/dist/game-assets/helpers/glow.helper.js.map +1 -0
  84. package/dist/game-assets/image/image-creator.d.ts +23 -0
  85. package/dist/game-assets/image/image-creator.js +96 -0
  86. package/dist/game-assets/image/image-creator.js.map +1 -0
  87. package/dist/game-assets/image/image.d.ts +34 -0
  88. package/dist/game-assets/image/image.js +139 -0
  89. package/dist/game-assets/image/image.js.map +1 -0
  90. package/dist/game-assets/image-data.helper.d.ts +16 -0
  91. package/dist/game-assets/image-data.helper.js +53 -0
  92. package/dist/game-assets/image-data.helper.js.map +1 -0
  93. package/dist/game-assets/index.d.ts +8 -0
  94. package/dist/game-assets/index.js +34 -0
  95. package/dist/game-assets/index.js.map +1 -0
  96. package/dist/game-assets/pixel-perfect-interaction.d.ts +2 -0
  97. package/dist/game-assets/pixel-perfect-interaction.js +111 -0
  98. package/dist/game-assets/pixel-perfect-interaction.js.map +1 -0
  99. package/dist/game-entities/attachable/attachable.d.ts +24 -0
  100. package/dist/game-entities/attachable/attachable.js +80 -0
  101. package/dist/game-entities/attachable/attachable.js.map +1 -0
  102. package/dist/game-entities/attachable/attachable.spec.js.map +1 -0
  103. package/dist/game-entities/controller/controller.d.ts +10 -0
  104. package/dist/game-entities/controller/controller.js +53 -0
  105. package/dist/game-entities/controller/controller.js.map +1 -0
  106. package/dist/game-entities/controller/controller.spec.js.map +1 -0
  107. package/dist/game-entities/controller.d.ts +10 -0
  108. package/dist/game-entities/controller.js +53 -0
  109. package/dist/game-entities/controller.js.map +1 -0
  110. package/dist/game-entities/entity/entity.d.ts +20 -0
  111. package/dist/game-entities/entity/entity.js +98 -0
  112. package/dist/game-entities/entity/entity.js.map +1 -0
  113. package/dist/game-entities/entity/entity.spec.js.map +1 -0
  114. package/dist/game-entities/entity/helpers/entity-store.helper.d.ts +15 -0
  115. package/dist/game-entities/entity/helpers/entity-store.helper.js +97 -0
  116. package/dist/game-entities/entity/helpers/entity-store.helper.js.map +1 -0
  117. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +11 -0
  118. package/dist/game-entities/entity/helpers/view-creation.helper.js +56 -0
  119. package/dist/game-entities/entity/helpers/view-creation.helper.js.map +1 -0
  120. package/dist/game-entities/entity-base/entity-base.d.ts +10 -0
  121. package/dist/game-entities/entity-base/entity-base.js +38 -0
  122. package/dist/game-entities/entity-base/entity-base.js.map +1 -0
  123. package/dist/game-entities/entity-base/entity-base.spec.js.map +1 -0
  124. package/dist/game-entities/entity-base.d.ts +12 -0
  125. package/dist/game-entities/entity-base.js +55 -0
  126. package/dist/game-entities/entity-base.js.map +1 -0
  127. package/dist/game-entities/entity.d.ts +22 -0
  128. package/dist/game-entities/entity.js +126 -0
  129. package/dist/game-entities/entity.js.map +1 -0
  130. package/dist/game-entities/index.d.ts +5 -0
  131. package/dist/game-entities/index.js +19 -0
  132. package/dist/game-entities/index.js.map +1 -0
  133. package/dist/game-entities/scene/scene.d.ts +17 -0
  134. package/dist/game-entities/scene/scene.js +100 -0
  135. package/dist/game-entities/scene/scene.js.map +1 -0
  136. package/dist/game-entities/scene/scene.spec.js.map +1 -0
  137. package/dist/game-entities/service/service.d.ts +9 -0
  138. package/dist/game-entities/service/service.js +62 -0
  139. package/dist/game-entities/service/service.js.map +1 -0
  140. package/dist/game-entities/service/service.spec.js.map +1 -0
  141. package/dist/game-entities/service.d.ts +10 -0
  142. package/dist/game-entities/service.js +93 -0
  143. package/dist/game-entities/service.js.map +1 -0
  144. package/dist/game-entities/store/store.d.ts +19 -0
  145. package/dist/game-entities/store/store.js +131 -0
  146. package/dist/game-entities/store/store.js.map +1 -0
  147. package/dist/game-entities/store/store.spec.js.map +1 -0
  148. package/dist/game-entities/store.d.ts +18 -0
  149. package/dist/game-entities/store.js +121 -0
  150. package/dist/game-entities/store.js.map +1 -0
  151. package/dist/game-entities/tests/controller.spec.js.map +1 -0
  152. package/dist/game-entities/tests/entity-base.spec.js.map +1 -0
  153. package/dist/game-entities/tests/entity.spec.js.map +1 -0
  154. package/dist/game-entities/tests/service.spec.js.map +1 -0
  155. package/dist/game-entities/tests/store.spec.js.map +1 -0
  156. package/dist/game-entities/tests/view.spec.js.map +1 -0
  157. package/dist/game-entities/view/view.d.ts +20 -0
  158. package/dist/game-entities/view/view.js +82 -0
  159. package/dist/game-entities/view/view.js.map +1 -0
  160. package/dist/game-entities/view/view.spec.js.map +1 -0
  161. package/dist/game-entities/view.d.ts +9 -0
  162. package/dist/game-entities/view.js +20 -0
  163. package/dist/game-entities/view.js.map +1 -0
  164. package/dist/helpers/animator/animator.d.ts +35 -0
  165. package/dist/helpers/animator/animator.js +158 -0
  166. package/dist/helpers/animator/animator.js.map +1 -0
  167. package/dist/helpers/animator/animator.spec.js.map +1 -0
  168. package/dist/helpers/auto-destroy/auto-destroy.d.ts +5 -0
  169. package/dist/helpers/auto-destroy/auto-destroy.js +38 -0
  170. package/dist/helpers/auto-destroy/auto-destroy.js.map +1 -0
  171. package/dist/helpers/auto-destroy/auto-destroy.spec.js.map +1 -0
  172. package/dist/helpers/update-loop.d.ts +7 -0
  173. package/dist/helpers/update-loop.js +16 -0
  174. package/dist/helpers/update-loop.js.map +1 -0
  175. package/dist/helpers/vertice/vertice.helper.d.ts +4 -0
  176. package/dist/helpers/vertice/vertice.helper.js +23 -0
  177. package/dist/helpers/vertice/vertice.helper.js.map +1 -0
  178. package/dist/helpers/view-array/view-array.d.ts +28 -0
  179. package/dist/helpers/view-array/view-array.js +117 -0
  180. package/dist/index.d.ts +9 -0
  181. package/dist/index.js +31 -0
  182. package/dist/index.js.map +1 -0
  183. package/dist/lib/animator/animations.d.ts +25 -0
  184. package/dist/lib/animator/animations.js +58 -0
  185. package/dist/lib/animator/animations.js.map +1 -0
  186. package/dist/lib/animator/animator.d.ts +52 -0
  187. package/dist/lib/animator/animator.js +220 -0
  188. package/dist/lib/animator/animator.js.map +1 -0
  189. package/dist/lib/animator/animator.spec.js.map +1 -0
  190. package/dist/lib/animator/index.d.ts +2 -0
  191. package/dist/lib/animator/index.js +19 -0
  192. package/dist/lib/animator/index.js.map +1 -0
  193. package/dist/lib/common/common-lib.d.ts +6 -0
  194. package/dist/lib/common/common-lib.js +40 -0
  195. package/dist/lib/common/common-lib.js.map +1 -0
  196. package/dist/lib/path-finder/path-finder.d.ts +5 -0
  197. package/dist/lib/path-finder/path-finder.js +24 -0
  198. package/dist/lib/path-finder/path-finder.js.map +1 -0
  199. package/dist/lib/update-loop.d.ts +13 -0
  200. package/dist/lib/update-loop.js +34 -0
  201. package/dist/lib/update-loop.js.map +1 -0
  202. package/dist/lib/vector/vector-coordinate-convertion.spec.js.map +1 -0
  203. package/dist/lib/vector/vector-radian.spec.js.map +1 -0
  204. package/dist/lib/vector/vector.d.ts +28 -0
  205. package/dist/lib/vector/vector.js +114 -0
  206. package/dist/lib/vector/vector.js.map +1 -0
  207. package/dist/lib/vector/vector.spec.js.map +1 -0
  208. package/dist/services/keyboard/keyboard.d.ts +7 -0
  209. package/dist/services/keyboard/keyboard.js +36 -0
  210. package/dist/services/keyboard/keyboard.js.map +1 -0
  211. package/dist/services/mouse/mouse.d.ts +12 -0
  212. package/dist/services/mouse/mouse.js +57 -0
  213. package/dist/services/mouse/mouse.js.map +1 -0
  214. package/dist/services/mouse/mouse.service.d.ts +12 -0
  215. package/dist/services/mouse/mouse.service.js +56 -0
  216. package/dist/services/mouse/mouse.service.js.map +1 -0
  217. package/dist/services/mouse/mouser-target-focus.service.d.ts +16 -0
  218. package/dist/services/mouse/mouser-target-focus.service.js +89 -0
  219. package/dist/services/mouse/mouser-target-focus.service.js.map +1 -0
  220. package/dist/services/sound/sound.d.ts +3 -0
  221. package/dist/services/sound/sound.js +22 -0
  222. package/dist/services/sound/sound.js.map +1 -0
  223. package/package.json +71 -0
  224. package/tsconfig.json +24 -0
@@ -0,0 +1,34 @@
1
+ import * as PIXI from 'pixi.js';
2
+ import { Vec2 } from 'helpers-lib';
3
+ import { Filters, GlowOptions } from '../../filters/filters';
4
+ import { DisplayObject } from '../display-object';
5
+ export interface SpriteDefinition {
6
+ readonly scale: number;
7
+ readonly anchor: Readonly<Vec2>;
8
+ readonly assetName: string;
9
+ readonly size: Readonly<Vec2>;
10
+ readonly boundingShapes: ReadonlyArray<ReadonlyArray<number>>;
11
+ readonly glowingShapes: ReadonlyArray<{
12
+ readonly color: string;
13
+ readonly alpha: number;
14
+ readonly glowingOptions: GlowOptions;
15
+ readonly shapes: ReadonlyArray<ReadonlyArray<number>>;
16
+ }>;
17
+ }
18
+ export declare class Sprite extends DisplayObject {
19
+ static createSpriteFromShapePaths(cacheSpace: string, cacheName: string, size: Vec2, anchor: Vec2, shapePaths: ReadonlyArray<ReadonlyArray<number>>, color: number): {
20
+ container: PIXI.Container;
21
+ sprite: Sprite;
22
+ };
23
+ static createSpriteFromSpriteDefinition(spriteDefinition: SpriteDefinition): Sprite;
24
+ private static convertStringHexColorToNumber;
25
+ readonly sprite: PIXI.Sprite;
26
+ readonly filters: Filters;
27
+ private constructor();
28
+ setAnchor(value: Vec2): Sprite;
29
+ get anchor(): Vec2;
30
+ set anchor(value: Vec2);
31
+ setTint(tint: number): void;
32
+ get tint(): PIXI.ColorSource;
33
+ set tint(value: number);
34
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Sprite = void 0;
27
+ const PIXI = __importStar(require("pixi.js"));
28
+ const filters_1 = require("../../filters/filters");
29
+ const display_object_1 = require("../display-object");
30
+ const graphics_1 = require("./graphics");
31
+ const game_assets_1 = require("../../game-assets");
32
+ class Sprite extends display_object_1.DisplayObject {
33
+ static createSpriteFromShapePaths(cacheSpace, cacheName, size, anchor, shapePaths, color) {
34
+ let graphics = graphics_1.Graphics.drawFromShapePaths(size, anchor, shapePaths, color);
35
+ let { texture, bounds } = graphics.convertToTexture(cacheSpace, cacheName);
36
+ let pixiSprite = new PIXI.Sprite(texture);
37
+ pixiSprite.position.set(bounds.x, bounds.y);
38
+ let sprite = new Sprite(pixiSprite);
39
+ let container = new PIXI.Container();
40
+ container.addChild(pixiSprite);
41
+ return { container, sprite };
42
+ }
43
+ static createSpriteFromSpriteDefinition(spriteDefinition) {
44
+ let pixiSprite = new PIXI.Sprite(game_assets_1.GameAssets.getAsset(spriteDefinition.assetName));
45
+ let sprite = new Sprite(pixiSprite).setAnchor(spriteDefinition.anchor).setScale(spriteDefinition.scale);
46
+ spriteDefinition.glowingShapes.forEach((glowingShapeDefinition, index) => {
47
+ let color = this.convertStringHexColorToNumber(glowingShapeDefinition.color);
48
+ let glowingShape = Sprite.createSpriteFromShapePaths(graphics_1.IMAGE_GLOWING_SHAPE_CACHE_SPACE, spriteDefinition.assetName + index, spriteDefinition.size, spriteDefinition.anchor, glowingShapeDefinition.shapes, color);
49
+ glowingShape.sprite.filters.addGlowFilter(color, glowingShapeDefinition.glowingOptions);
50
+ glowingShape.sprite.setAlpha(glowingShapeDefinition.alpha);
51
+ sprite.addChild(glowingShape.container);
52
+ });
53
+ return sprite;
54
+ }
55
+ static convertStringHexColorToNumber(hexColor) {
56
+ return parseInt(hexColor.replace('#', '0x'));
57
+ }
58
+ constructor(sprite) {
59
+ super(sprite);
60
+ this.sprite = sprite;
61
+ this.filters = new filters_1.Filters(this.sprite, filters => {
62
+ this.sprite.filters = filters;
63
+ });
64
+ }
65
+ setAnchor(value) {
66
+ this.anchor = value;
67
+ return this;
68
+ }
69
+ get anchor() {
70
+ return { x: this.sprite.anchor.x, y: this.sprite.anchor.y };
71
+ }
72
+ set anchor(value) {
73
+ this.sprite.anchor.set(value.x, value.y);
74
+ }
75
+ setTint(tint) {
76
+ this.tint = tint;
77
+ }
78
+ get tint() {
79
+ // TODO: wrap PIXI.ColorSource
80
+ return this.sprite.tint;
81
+ }
82
+ set tint(value) {
83
+ this.sprite.tint = value;
84
+ }
85
+ }
86
+ exports.Sprite = Sprite;
87
+ //# sourceMappingURL=sprite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../../src/game-assets/display-object/objects/sprite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Vec2 } from 'helpers-lib';
2
+ import { Image } from '../objects/image';
3
+ import { BoundingBox, GlowingShapeDefinition, ImageWithGlowingShapesDefinition } from '../interfaces';
4
+ import { Container } from '../container';
5
+ export declare class GlowingShape extends Container {
6
+ static createFromImage(glowingShapeDefinition: GlowingShapeDefinition, cacheName: string, parentImageSize: Vec2, parentImageAnchor: Vec2): GlowingShape;
7
+ private shapeBase;
8
+ private glowingLayer;
9
+ private _glow;
10
+ private constructor();
11
+ get boundingBox(): BoundingBox;
12
+ get glow(): number;
13
+ set glow(value: number);
14
+ }
15
+ export declare class ImageWithGlowingShapes extends Image {
16
+ static createFromImageDefinition(imageWithGlowingShapesDefinition: ImageWithGlowingShapesDefinition): ImageWithGlowingShapes;
17
+ readonly glowingShapes: ReadonlyArray<GlowingShape>;
18
+ private constructor();
19
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ImageWithGlowingShapes = exports.GlowingShape = void 0;
27
+ const PIXI = __importStar(require("pixi.js"));
28
+ const graphics_1 = require("../objects/graphics");
29
+ const image_1 = require("../objects/image");
30
+ const container_1 = require("../container");
31
+ const game_assets_1 = require("../../game-assets");
32
+ // import { GlowHelper } from '../../helpers/glow.helper';
33
+ class GlowingShape extends container_1.Container {
34
+ static createFromImage(glowingShapeDefinition, cacheName, parentImageSize, parentImageAnchor) {
35
+ let shapeBase = image_1.Image.createFromPolygon(graphics_1.IMAGE_GLOWING_SHAPE_CACHE_SPACE, cacheName, parentImageSize, parentImageAnchor, glowingShapeDefinition.shapes, glowingShapeDefinition.color)
36
+ .setAlpha(glowingShapeDefinition.alpha)
37
+ .skipAttachCheck();
38
+ let glowSprite = new PIXI.Sprite();
39
+ // let glowSprite = GlowHelper.createGlowSprite(
40
+ // shapeBase.sprite,
41
+ // glowingShapeDefinition.color,
42
+ // glowingShapeDefinition.glowingOptions
43
+ // );
44
+ let container = new PIXI.Container();
45
+ container.addChild(shapeBase.sprite);
46
+ // container.addChild(glowSprite);
47
+ container.position.set(shapeBase.position.x, shapeBase.position.y);
48
+ shapeBase.setPosition({ x: 0, y: 0 });
49
+ return new GlowingShape(container, shapeBase, glowSprite);
50
+ }
51
+ constructor(container, shapeBase, glowingLayer) {
52
+ super(container);
53
+ this.shapeBase = shapeBase;
54
+ this.glowingLayer = glowingLayer;
55
+ this._glow = 1;
56
+ }
57
+ get boundingBox() {
58
+ let baseBoundingBox = this.shapeBase.getBoundingBox;
59
+ let position = this.position;
60
+ return {
61
+ topLeft: { x: baseBoundingBox.topLeft.x + position.x, y: baseBoundingBox.topLeft.y + position.y },
62
+ bottomRight: { x: baseBoundingBox.bottomRight.x + position.x, y: baseBoundingBox.bottomRight.y + position.y }
63
+ };
64
+ }
65
+ get glow() {
66
+ return this._glow;
67
+ }
68
+ set glow(value) {
69
+ this._glow = value;
70
+ this.glowingLayer.alpha = value;
71
+ this.shapeBase.tint = { r: 255 * value, g: 255 * value, b: 255 * value };
72
+ }
73
+ }
74
+ exports.GlowingShape = GlowingShape;
75
+ class ImageWithGlowingShapes extends image_1.Image {
76
+ static createFromImageDefinition(imageWithGlowingShapesDefinition) {
77
+ let sprite = new PIXI.Sprite(game_assets_1.GameAssets.getAsset(imageWithGlowingShapesDefinition.assetName));
78
+ let glowingShapes = imageWithGlowingShapesDefinition.glowingShapes.map((glowingShapeDefinition, index) => {
79
+ let glowingShape = GlowingShape.createFromImage(glowingShapeDefinition, imageWithGlowingShapesDefinition.assetName + index, imageWithGlowingShapesDefinition.size, imageWithGlowingShapesDefinition.anchor).skipAttachCheck();
80
+ sprite.addChild(glowingShape.container);
81
+ return glowingShape;
82
+ });
83
+ let imageWithGlowingShapes = new ImageWithGlowingShapes(sprite, glowingShapes, imageWithGlowingShapesDefinition.boundingShapes)
84
+ .setAnchor(imageWithGlowingShapesDefinition.anchor)
85
+ .setScale(imageWithGlowingShapesDefinition.scale);
86
+ return imageWithGlowingShapes;
87
+ }
88
+ constructor(sprite, glowingShapes, polygonDefinition) {
89
+ super(sprite, polygonDefinition);
90
+ this.glowingShapes = glowingShapes;
91
+ }
92
+ }
93
+ exports.ImageWithGlowingShapes = ImageWithGlowingShapes;
94
+ //# sourceMappingURL=image-with-glowing-shapes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-with-glowing-shapes.js","sourceRoot":"","sources":["../../../../src/game-assets/display-object/premade-display-objects/image-with-glowing-shapes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import * as PIXI from 'pixi.js';
2
+ export interface GlowOptions {
3
+ glowingPower?: number;
4
+ blurRadius?: number;
5
+ blendMode?: 'add' | 'luminosity';
6
+ }
7
+ export declare class Filters {
8
+ private container;
9
+ private colorMatrix;
10
+ private selectedFilter;
11
+ private hoverFilter;
12
+ private greyScaleFilter;
13
+ private paleFilter;
14
+ private _red;
15
+ private _green;
16
+ private _blue;
17
+ private _brightness;
18
+ get brightness(): number;
19
+ set brightness(value: number);
20
+ get red(): number;
21
+ set red(value: number);
22
+ get green(): number;
23
+ set green(value: number);
24
+ get blue(): number;
25
+ set blue(value: number);
26
+ constructor(container: PIXI.Container);
27
+ removeColorFilter(): void;
28
+ addSelectedFilter(): void;
29
+ removeSelectedFilter(): void;
30
+ addHoverFilter(): void;
31
+ removeHoverFilter(): void;
32
+ addGreyScaleFilter(): void;
33
+ removeGreyScaleFilter(): void;
34
+ addPaleFilter(ratio: number): void;
35
+ removePaleFilter(): void;
36
+ private refreshColorMatrix;
37
+ private onFilterChange;
38
+ }
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Filters = void 0;
27
+ const PIXI = __importStar(require("pixi.js"));
28
+ const shaders_1 = require("./shaders");
29
+ class Filters {
30
+ get brightness() {
31
+ return this._brightness;
32
+ }
33
+ set brightness(value) {
34
+ this._brightness = value;
35
+ this.refreshColorMatrix();
36
+ }
37
+ get red() {
38
+ return this._red;
39
+ }
40
+ set red(value) {
41
+ this._red = value;
42
+ this.refreshColorMatrix();
43
+ }
44
+ get green() {
45
+ return this._green;
46
+ }
47
+ set green(value) {
48
+ this._green = value;
49
+ this.refreshColorMatrix();
50
+ }
51
+ get blue() {
52
+ return this._blue;
53
+ }
54
+ set blue(value) {
55
+ this._blue = value;
56
+ this.refreshColorMatrix();
57
+ }
58
+ constructor(container) {
59
+ this.container = container;
60
+ this._red = 1.0;
61
+ this._green = 1.0;
62
+ this._blue = 1.0;
63
+ this._brightness = 1.0;
64
+ this.onFilterChange();
65
+ }
66
+ removeColorFilter() {
67
+ this.colorMatrix = undefined;
68
+ this.onFilterChange();
69
+ }
70
+ addSelectedFilter() {
71
+ new PIXI.Filter({
72
+ glProgram: new PIXI.GlProgram({
73
+ vertex: '',
74
+ fragment: shaders_1.Shaders.getOutlineFrag()
75
+ }),
76
+ resources: {
77
+ outlineColor: new Float32Array([5, 0, 0, 1])
78
+ }
79
+ });
80
+ this.onFilterChange();
81
+ }
82
+ removeSelectedFilter() {
83
+ this.selectedFilter = undefined;
84
+ this.onFilterChange();
85
+ }
86
+ addHoverFilter() {
87
+ this.hoverFilter = new PIXI.Filter({
88
+ glProgram: new PIXI.GlProgram({
89
+ vertex: '',
90
+ fragment: shaders_1.Shaders.getHoverFrag()
91
+ })
92
+ });
93
+ this.onFilterChange();
94
+ }
95
+ removeHoverFilter() {
96
+ this.hoverFilter = undefined;
97
+ this.onFilterChange();
98
+ }
99
+ addGreyScaleFilter() {
100
+ this.greyScaleFilter = new PIXI.Filter({
101
+ glProgram: new PIXI.GlProgram({
102
+ vertex: '',
103
+ fragment: shaders_1.Shaders.getGrayScaleFrag()
104
+ })
105
+ });
106
+ this.onFilterChange();
107
+ }
108
+ removeGreyScaleFilter() {
109
+ this.greyScaleFilter = undefined;
110
+ this.onFilterChange();
111
+ }
112
+ addPaleFilter(ratio) {
113
+ this.paleFilter = new PIXI.Filter({
114
+ glProgram: new PIXI.GlProgram({
115
+ vertex: '',
116
+ fragment: shaders_1.Shaders.getPaleFrag(ratio)
117
+ }),
118
+ resources: {
119
+ outlineColor: new Float32Array([5, 0, 0, 1])
120
+ }
121
+ });
122
+ this.onFilterChange();
123
+ }
124
+ removePaleFilter() {
125
+ this.paleFilter = undefined;
126
+ this.onFilterChange();
127
+ }
128
+ refreshColorMatrix() {
129
+ if (!this.colorMatrix) {
130
+ this.colorMatrix = new PIXI.ColorMatrixFilter();
131
+ this.onFilterChange();
132
+ }
133
+ // prettier-ignore
134
+ this.colorMatrix.matrix = [
135
+ this._red, 0, 0, 0, (this._brightness - 1),
136
+ 0, this._green, 0, 0, (this._brightness - 1),
137
+ 0, 0, this._blue, 0, (this._brightness - 1),
138
+ 0, 0, 0, 1, 0
139
+ ];
140
+ }
141
+ onFilterChange() {
142
+ let filters = [];
143
+ if (this.colorMatrix) {
144
+ filters.push(this.colorMatrix);
145
+ }
146
+ if (this.selectedFilter) {
147
+ filters.push(this.selectedFilter);
148
+ }
149
+ if (this.hoverFilter) {
150
+ filters.push(this.hoverFilter);
151
+ }
152
+ if (this.greyScaleFilter) {
153
+ filters.push(this.greyScaleFilter);
154
+ }
155
+ if (this.paleFilter) {
156
+ filters.push(this.paleFilter);
157
+ }
158
+ this.container.filters = filters;
159
+ }
160
+ }
161
+ exports.Filters = Filters;
162
+ //# sourceMappingURL=filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/game-assets/filters/filters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { RGBColor } from 'helpers-lib';
2
+ import * as PIXI from 'pixi.js';
3
+ import { GlowOptions } from './filters';
4
+ export declare class GlowFilter {
5
+ private sprite;
6
+ private glowSprite;
7
+ constructor(sprite: PIXI.Sprite);
8
+ add(color: RGBColor, options?: GlowOptions): void;
9
+ setAlpha(alpha: number): void;
10
+ remove(): void;
11
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlowFilter = void 0;
4
+ // import { GlowHelper } from '../helpers/glow.helper';
5
+ class GlowFilter {
6
+ constructor(sprite) {
7
+ this.sprite = sprite;
8
+ }
9
+ add(color, options) {
10
+ if (!options) {
11
+ options = {};
12
+ }
13
+ this.remove();
14
+ // this.glowSprite = GlowHelper.createGlowSprite(this.sprite, color, options);
15
+ // this.sprite.addChild(this.glowSprite);
16
+ }
17
+ setAlpha(alpha) {
18
+ if (this.glowSprite) {
19
+ this.glowSprite.alpha = alpha;
20
+ }
21
+ else {
22
+ throw new Error(`Filters: setGlowFilterAlpha cannot be called before glow filter is added.`);
23
+ }
24
+ }
25
+ remove() {
26
+ if (this.glowSprite) {
27
+ this.glowSprite.destroy();
28
+ this.glowSprite = undefined;
29
+ }
30
+ }
31
+ }
32
+ exports.GlowFilter = GlowFilter;
33
+ //# sourceMappingURL=glow-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glow-filter.js","sourceRoot":"","sources":["../../../src/game-assets/filters/glow-filter.ts"],"names":[],"mappings":";;;AAIA,uDAAuD;AAEvD,MAAa,UAAU;IAGrB,YAAoB,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAE3C,GAAG,CAAC,KAAe,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,8EAA8E;QAC9E,yCAAyC;IAC3C,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AA7BD,gCA6BC"}
@@ -0,0 +1,8 @@
1
+ import { RGBColor } from 'helpers-lib';
2
+ export declare class Shaders {
3
+ static getOutlineFrag(): string;
4
+ static getHoverFrag(): string;
5
+ static getGrayScaleFrag(): string;
6
+ static getPaleFrag(ratio: number): string;
7
+ static getReplaceColorFrag(color: RGBColor): string;
8
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Shaders = void 0;
4
+ class Shaders {
5
+ static getOutlineFrag() {
6
+ return `
7
+ varying vec2 vTextureCoord;
8
+ uniform sampler2D uSampler;
9
+
10
+ void main(void) {
11
+ vec4 color = texture2D(uSampler, vTextureCoord);
12
+ float easeOutAlpha = 1.0 - pow(1.0 - color.a, 5.0);
13
+ float easeInAlpha = pow(color.a, 5.0);
14
+ vec3 resultOutlineColor = vec3(1.0, 0.0, 0.0) * (1.0 - color.a);
15
+ gl_FragColor = vec4((color.rgb * 1.15 + resultOutlineColor) * easeOutAlpha, easeOutAlpha);
16
+ }
17
+ `;
18
+ }
19
+ static getHoverFrag() {
20
+ return `
21
+ precision mediump float;
22
+
23
+ varying vec2 vTextureCoord;
24
+ uniform sampler2D uSampler;
25
+
26
+ void main(void)
27
+ {
28
+ vec2 uvs = vTextureCoord.xy;
29
+ vec4 fg = texture2D(uSampler, vTextureCoord);
30
+ gl_FragColor = vec4(fg.r * 1.3, fg.g * 1.3, fg.b * 1.3, fg.a);
31
+ }
32
+ `;
33
+ }
34
+ static getGrayScaleFrag() {
35
+ return `
36
+ precision mediump float;
37
+
38
+ varying vec2 vTextureCoord;
39
+ uniform sampler2D uSampler;
40
+
41
+ void main(void)
42
+ {
43
+ vec4 fg = texture2D(uSampler, vTextureCoord);
44
+ float grey = 0.33 * fg.r + 0.3 * fg.g + 0.37 * fg.b;
45
+ gl_FragColor = vec4(grey, grey, grey, fg.a);
46
+ }
47
+ `;
48
+ }
49
+ static getPaleFrag(ratio) {
50
+ return `
51
+ precision mediump float;
52
+
53
+ varying vec2 vTextureCoord;
54
+ uniform sampler2D uSampler;
55
+
56
+ void main(void)
57
+ {
58
+ vec4 fg = texture2D(uSampler, vTextureCoord);
59
+ fg.r = ${1 - ratio * 0.85} * fg.r + ${ratio / 2} * fg.a;
60
+ fg.g = ${1 - ratio * 0.85} * fg.g + ${ratio / 2} * fg.a;
61
+ fg.b = ${1 - ratio * 0.85} * fg.b + ${ratio / 2} * fg.a;
62
+ gl_FragColor = vec4(fg.r, fg.g, fg.b, fg.a);
63
+ }
64
+ `;
65
+ }
66
+ static getReplaceColorFrag(color) {
67
+ return `
68
+ precision mediump float;
69
+
70
+ varying vec2 vTextureCoord;
71
+ uniform sampler2D uSampler;
72
+
73
+ void main(void)
74
+ {
75
+ vec4 fg = texture2D(uSampler, vTextureCoord);
76
+ gl_FragColor = vec4(${color.r.toFixed(6)} * fg.a, ${color.g.toFixed(6)} * fg.a, ${color.b.toFixed(6)} * fg.a, fg.a);
77
+ }
78
+ `;
79
+ }
80
+ }
81
+ exports.Shaders = Shaders;
82
+ //# sourceMappingURL=shaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shaders.js","sourceRoot":"","sources":["../../../src/game-assets/filters/shaders.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAClB,MAAM,CAAC,cAAc;QACnB,OAAO;;;;;;;;;;;CAWV,CAAC;IACA,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO;;;;;;;;;;;;CAYV,CAAC;IACA,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,OAAO;;;;;;;;;;;;CAYV,CAAC;IACA,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO;;;;;;;;;eASI,CAAC,GAAG,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,CAAC;eACtC,CAAC,GAAG,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,CAAC;eACtC,CAAC,GAAG,KAAK,GAAG,IAAI,aAAa,KAAK,GAAG,CAAC;;;GAGlD,CAAC;IACF,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,OAAO;;;;;;;;;8BASmB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CACnG,CAAC,CACF;;KAEA,CAAC;IACJ,CAAC;CACF;AAlFD,0BAkFC"}
@@ -0,0 +1,14 @@
1
+ type LoaderResource = any;
2
+ export interface AssetDefinition<T extends string = string> {
3
+ name: string;
4
+ url: T;
5
+ pixelPerfectInteraction?: boolean;
6
+ pixelAccess?: boolean | string[];
7
+ }
8
+ declare class GameAssetsClass {
9
+ private resources;
10
+ getAsset(name: string): LoaderResource;
11
+ loadGameAssets(assetDefinitions: AssetDefinition[] | ReadonlyArray<AssetDefinition<string>>): Promise<void>;
12
+ }
13
+ export declare const GameAssets: GameAssetsClass;
14
+ export {};