bard-legends-framework 0.9.5 → 0.9.7

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 (239) hide show
  1. package/dist/_interfaces/index.d.ts +2 -2
  2. package/dist/_interfaces/index.js +2 -3
  3. package/dist/game-entities/attachable/attachable.d.ts +6 -6
  4. package/dist/game-entities/attachable/attachable.js +28 -30
  5. package/dist/game-entities/attachable/attachable.spec.js +129 -128
  6. package/dist/game-entities/attachable/attachable.store.d.ts +5 -5
  7. package/dist/game-entities/attachable/attachable.store.js +34 -32
  8. package/dist/game-entities/attachable/attachable.test.js +132 -131
  9. package/dist/game-entities/attachable/destroyable.d.ts +13 -13
  10. package/dist/game-entities/attachable/destroyable.js +64 -69
  11. package/dist/game-entities/attachable/helpers/decorate-actions-lib.d.ts +15 -15
  12. package/dist/game-entities/attachable/helpers/decorate-actions-lib.js +125 -116
  13. package/dist/game-entities/attachable/helpers/referance-variable.d.ts +15 -15
  14. package/dist/game-entities/attachable/helpers/referance-variable.js +47 -48
  15. package/dist/game-entities/attachable/interfaces.d.ts +6 -6
  16. package/dist/game-entities/attachable/interfaces.js +2 -3
  17. package/dist/game-entities/base/helpers/decorate-actions-lib.js +0 -1
  18. package/dist/game-entities/controller/controller.js +0 -1
  19. package/dist/game-entities/controller/controller.spec.js +128 -125
  20. package/dist/game-entities/entity/entity.spec.js +263 -293
  21. package/dist/game-entities/entity/helpers/view-creation.helper.d.ts +7 -7
  22. package/dist/game-entities/entity/helpers/view-creation.helper.js +48 -48
  23. package/dist/game-entities/scene/scene.spec.js +219 -223
  24. package/dist/game-entities/service/service.js +0 -4
  25. package/dist/game-entities/service/service.spec.js +265 -237
  26. package/dist/game-entities/service/service.test.js +4 -2
  27. package/dist/game-entities/update-loop.d.ts +18 -18
  28. package/dist/game-entities/update-loop.js +46 -28
  29. package/dist/game-entities/view/view.js +1 -1
  30. package/dist/game-entities/view/view.spec.js +490 -506
  31. package/dist/game-entities/view/view.test.js +1 -1
  32. package/dist/lib/animator/animations.d.ts +13 -13
  33. package/dist/lib/animator/animations.js +43 -40
  34. package/dist/lib/animator/animator.d.ts +41 -41
  35. package/dist/lib/animator/animator.js +194 -197
  36. package/dist/lib/animator/animator.spec.js +699 -612
  37. package/dist/lib/animator/index.js +24 -19
  38. package/dist/lib/libraries/animator/animations.d.ts +13 -13
  39. package/dist/lib/libraries/animator/animations.js +43 -40
  40. package/dist/lib/libraries/animator/animator.d.ts +41 -41
  41. package/dist/lib/libraries/animator/animator.js +194 -197
  42. package/dist/lib/libraries/animator/animator.spec.js +699 -612
  43. package/dist/lib/libraries/animator/index.js +24 -19
  44. package/dist/lib/libraries/path-finder/path-finder.d.ts +2 -2
  45. package/dist/lib/libraries/path-finder/path-finder.js +19 -20
  46. package/dist/lib/path-finder/path-finder.d.ts +2 -2
  47. package/dist/lib/path-finder/path-finder.js +19 -20
  48. package/dist/lib/services/keyboard/keyboard.d.ts +4 -4
  49. package/dist/lib/services/keyboard/keyboard.js +39 -31
  50. package/dist/lib/services/mouse/mouse.service.d.ts +8 -8
  51. package/dist/lib/services/mouse/mouse.service.js +65 -53
  52. package/dist/lib/services/mouse/mouser-target-focus.service.d.ts +11 -11
  53. package/dist/lib/services/mouse/mouser-target-focus.service.js +83 -81
  54. package/dist/lib/update-loop.d.ts +10 -10
  55. package/dist/lib/update-loop.js +35 -27
  56. package/dist/physics/entitity-types/immovable-physics-entity.d.ts +6 -6
  57. package/dist/physics/entitity-types/immovable-physics-entity.js +23 -24
  58. package/dist/physics/entitity-types/movable-entity.d.ts +6 -6
  59. package/dist/physics/entitity-types/movable-entity.js +21 -22
  60. package/dist/physics/entitity-types/movable-physics-entity.d.ts +14 -14
  61. package/dist/physics/entitity-types/movable-physics-entity.js +83 -88
  62. package/dist/physics/entitity-types/physics-entity.d.ts +23 -23
  63. package/dist/physics/entitity-types/physics-entity.js +97 -88
  64. package/dist/physics/helpers/closest-available-space.helper.d.ts +16 -16
  65. package/dist/physics/helpers/closest-available-space.helper.js +98 -96
  66. package/dist/physics/helpers/closest-available-space.helper.spec.js +115 -68
  67. package/dist/physics/helpers/p2js.helper.d.ts +3 -3
  68. package/dist/physics/helpers/p2js.helper.js +21 -22
  69. package/dist/physics/helpers/shape-factory.d.ts +9 -4
  70. package/dist/physics/helpers/shape-factory.js +99 -75
  71. package/dist/physics/libs/p2js.helper.js +1 -1
  72. package/dist/physics/libs/position-to-grid-position-converter.d.ts +3 -3
  73. package/dist/physics/libs/position-to-grid-position-converter.js +15 -13
  74. package/dist/physics/module//360/237/223/220services/availability-grid.service.d.ts +10 -5
  75. package/dist/physics/module//360/237/223/220services/availability-grid.service.js +77 -57
  76. package/dist/physics/module//360/237/223/220services/border.service.d.ts +2 -2
  77. package/dist/physics/module//360/237/223/220services/border.service.js +57 -37
  78. package/dist/physics/module//360/237/223/220services/collision/physics-body-group.service.js +1 -1
  79. package/dist/physics/module//360/237/223/220services/collisions.service.d.ts +7 -7
  80. package/dist/physics/module//360/237/223/220services/collisions.service.js +110 -98
  81. package/dist/physics/module//360/237/223/220services/debug-visuals.service.d.ts +28 -6
  82. package/dist/physics/module//360/237/223/220services/debug-visuals.service.js +121 -89
  83. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.d.ts +15 -7
  84. package/dist/physics/module//360/237/223/220services/eliptic-explosion.service.js +117 -93
  85. package/dist/physics/module//360/237/223/220services/explosion.service.d.ts +14 -7
  86. package/dist/physics/module//360/237/223/220services/explosion.service.js +102 -77
  87. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.d.ts +15 -7
  88. package/dist/physics/module//360/237/223/220services/explosions/eliptic-explosion.service.js +117 -93
  89. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.d.ts +14 -7
  90. package/dist/physics/module//360/237/223/220services/explosions/explosion.service.js +102 -77
  91. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.d.ts +3 -3
  92. package/dist/physics/module//360/237/223/220services/explosions/helpers/ray-cast-hit-converter.js +71 -67
  93. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.d.ts +3 -3
  94. package/dist/physics/module//360/237/223/220services/helpers/ray-cast-hit-converter.js +71 -67
  95. package/dist/physics/module//360/237/223/220services/impact/eliptic-explosion.service.js +1 -1
  96. package/dist/physics/module//360/237/223/220services/materials.service.d.ts +16 -11
  97. package/dist/physics/module//360/237/223/220services/materials.service.js +118 -108
  98. package/dist/physics/module//360/237/223/220services/path-finder.service.d.ts +19 -8
  99. package/dist/physics/module//360/237/223/220services/path-finder.service.js +121 -82
  100. package/dist/physics/module//360/237/223/220services/physics-world.service.d.ts +30 -15
  101. package/dist/physics/module//360/237/223/220services/physics-world.service.js +122 -100
  102. package/dist/physics/module//360/237/223/220services/ray-casting.service.d.ts +3 -3
  103. package/dist/physics/module//360/237/223/220services/ray-casting.service.js +87 -86
  104. package/dist/physics/module//360/237/223/220services/shape-creation.service.d.ts +9 -4
  105. package/dist/physics/module//360/237/223/220services/shape-creation.service.js +113 -84
  106. package/dist/physics/module//360/237/223/220services/test-visuals/test-visuals.service.js +2 -1
  107. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.d.ts +8 -8
  108. package/dist/physics/module//360/237/247/212entities/data-structures/availability-grid-cache.js +32 -33
  109. package/dist/physics/physics-world.d.ts +50 -34
  110. package/dist/physics/physics-world.js +142 -133
  111. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.d.ts +3 -3
  112. package/dist/physics/sub-elements/available-spaces/helpers/availability-grid.helper.js +15 -13
  113. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.d.ts +9 -9
  114. package/dist/physics/sub-elements/available-spaces/physics-availability-grid.js +82 -77
  115. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.d.ts +18 -14
  116. package/dist/physics/sub-elements/available-spaces/physics-available-spaces.js +91 -79
  117. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.d.ts +11 -11
  118. package/dist/physics/sub-elements/collisions/contact-equation-orginiser.js +84 -76
  119. package/dist/physics/sub-elements/collisions/physics-collision.d.ts +7 -7
  120. package/dist/physics/sub-elements/collisions/physics-collision.js +43 -44
  121. package/dist/physics/sub-elements/elements/physics-body-groups.d.ts +11 -11
  122. package/dist/physics/sub-elements/elements/physics-body-groups.js +54 -54
  123. package/dist/physics/sub-elements/elements/physics-materials.d.ts +15 -10
  124. package/dist/physics/sub-elements/elements/physics-materials.js +101 -100
  125. package/dist/physics/sub-elements/elements/physics-world-borders.d.ts +3 -3
  126. package/dist/physics/sub-elements/elements/physics-world-borders.js +69 -45
  127. package/dist/physics/sub-elements/physics-body-groups.d.ts +8 -8
  128. package/dist/physics/sub-elements/physics-body-groups.js +41 -42
  129. package/dist/physics/sub-elements/physics-collision.d.ts +16 -16
  130. package/dist/physics/sub-elements/physics-collision.js +141 -121
  131. package/dist/physics/sub-elements/physics-materials.d.ts +15 -10
  132. package/dist/physics/sub-elements/physics-materials.js +101 -100
  133. package/dist/physics/sub-elements/physics-world-borders.d.ts +2 -2
  134. package/dist/physics/sub-elements/physics-world-borders.js +25 -26
  135. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.d.ts +15 -11
  136. package/dist/physics/sub-elements/raycasting/physics-body-explosion-hit.js +59 -59
  137. package/dist/physics/sub-elements/raycasting/physics-explosion.d.ts +13 -6
  138. package/dist/physics/sub-elements/raycasting/physics-explosion.js +108 -73
  139. package/dist/physics/sub-elements/raycasting/ray-cast.d.ts +19 -19
  140. package/dist/physics/sub-elements/raycasting/ray-cast.js +93 -98
  141. package/dist/pixi/display-object/components/filters.d.ts +18 -18
  142. package/dist/pixi/display-object/components/filters.js +106 -81
  143. package/dist/pixi/display-object/components/glow-effect.d.ts +8 -8
  144. package/dist/pixi/display-object/components/glow-effect.js +33 -36
  145. package/dist/pixi/display-object/components/glow-filter.d.ts +8 -8
  146. package/dist/pixi/display-object/components/glow-filter.js +33 -36
  147. package/dist/pixi/display-object/container-attributes.js +1 -1
  148. package/dist/pixi/display-object/display-object-attributes.d.ts +41 -41
  149. package/dist/pixi/display-object/display-object-attributes.js +148 -150
  150. package/dist/pixi/display-object/display-object.d.ts +17 -17
  151. package/dist/pixi/display-object/display-object.js +79 -75
  152. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.d.ts +9 -4
  153. package/dist/pixi/display-object/filters/base-filters/alpha-primer-color.filter.js +89 -77
  154. package/dist/pixi/display-object/filters/base-filters/blur.filter.js +30 -30
  155. package/dist/pixi/display-object/filters/base-filters/contrast-filter.d.ts +9 -4
  156. package/dist/pixi/display-object/filters/base-filters/contrast-filter.js +62 -53
  157. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.d.ts +10 -5
  158. package/dist/pixi/display-object/filters/base-filters/expand-with-alpha-color.js +93 -81
  159. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.d.ts +12 -7
  160. package/dist/pixi/display-object/filters/base-filters/expand-with-color-gradient.js +120 -109
  161. package/dist/pixi/display-object/filters/base-filters/expand-with-color.d.ts +10 -5
  162. package/dist/pixi/display-object/filters/base-filters/expand-with-color.filter.js +32 -32
  163. package/dist/pixi/display-object/filters/base-filters/expand-with-color.js +92 -85
  164. package/dist/pixi/display-object/filters/templates/checking-neighbors.template.js +28 -28
  165. package/dist/pixi/display-object/filters/templates/plane.template.js +20 -20
  166. package/dist/pixi/display-object/filters.js +20 -4
  167. package/dist/pixi/display-object/objects/components/filters.d.ts +18 -18
  168. package/dist/pixi/display-object/objects/components/filters.js +106 -81
  169. package/dist/pixi/display-object/objects/container.d.ts +2 -2
  170. package/dist/pixi/display-object/objects/container.js +39 -30
  171. package/dist/pixi/display-object/objects/graphics.d.ts +28 -28
  172. package/dist/pixi/display-object/objects/graphics.js +218 -202
  173. package/dist/pixi/display-object/objects/helpers/filters.d.ts +25 -25
  174. package/dist/pixi/display-object/objects/helpers/filters.js +150 -124
  175. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.d.ts +7 -7
  176. package/dist/pixi/display-object/objects/helpers/glow-sprite-generator.js +114 -95
  177. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.d.ts +5 -5
  178. package/dist/pixi/display-object/objects/premade-objects/sprite-with-glowing-shapes.js +81 -57
  179. package/dist/pixi/display-object/objects/sprite.d.ts +43 -43
  180. package/dist/pixi/display-object/objects/sprite.js +248 -233
  181. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +1 -1
  182. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +9 -9
  183. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +1 -1
  184. package/dist/pixi/display-object/objects/text.d.ts +25 -25
  185. package/dist/pixi/display-object/objects/text.js +111 -102
  186. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.d.ts +13 -9
  187. package/dist/pixi/display-object/premade-objects/sprite-with-glowing-shapes.js +96 -67
  188. package/dist/pixi/game.d.ts +1 -1
  189. package/dist/pixi/game.js +2 -2
  190. package/dist/pixi/helpers/glow-sprite-generator.d.ts +6 -6
  191. package/dist/pixi/helpers/glow-sprite-generator.js +99 -84
  192. package/dist/pixi/helpers/pixi-container.helper.d.ts +1 -1
  193. package/dist/pixi/helpers/pixi-container.helper.js +10 -8
  194. package/dist/pixi/helpers/screen-position-to-stage.helper.d.ts +1 -1
  195. package/dist/pixi/helpers/screen-position-to-stage.helper.js +12 -12
  196. package/dist/pixi/helpers/screen-position-to-stage.helper.test.js +174 -79
  197. package/dist/pixi/modules/CAMERA/index.d.ts +1 -1
  198. package/dist/pixi/modules/CAMERA/index.js +3 -3
  199. package/dist/services/keyboard/keyboard.d.ts +4 -4
  200. package/dist/services/keyboard/keyboard.js +39 -31
  201. package/dist/services/mouse/mouse.service.d.ts +8 -8
  202. package/dist/services/mouse/mouse.service.js +65 -53
  203. package/dist/services/mouse/mouser-target-focus.service.d.ts +11 -11
  204. package/dist/services/mouse/mouser-target-focus.service.js +83 -81
  205. package/dist/utilities/libraries/animator/animating-content/state-animation.d.ts +29 -26
  206. package/dist/utilities/libraries/animator/animating-content/state-animation.js +159 -165
  207. package/dist/utilities/libraries/animator/animating-content/state-animation.test.js +386 -375
  208. package/dist/utilities/libraries/animator/animator.spec.js +765 -656
  209. package/dist/utilities/libraries/binary-heap/binary-heap.d.ts +11 -11
  210. package/dist/utilities/libraries/binary-heap/binary-heap.js +79 -81
  211. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.d.ts +11 -11
  212. package/dist/utilities/libraries/data-structures/binary-heap/binary-heap.js +79 -81
  213. package/dist/utilities/libraries/data-structures/grid/grid.d.ts +35 -31
  214. package/dist/utilities/libraries/data-structures/grid/grid.js +128 -117
  215. package/dist/utilities/libraries/data-structures/grid/grid.spec.js +176 -138
  216. package/dist/utilities/libraries/data-structures/grid/grid.test.js +218 -141
  217. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.d.ts +3 -3
  218. package/dist/utilities/libraries/data-structures/grid/position-to-grid-position-converter.js +15 -13
  219. package/dist/utilities/libraries/data-structures/queue/queue.d.ts +21 -21
  220. package/dist/utilities/libraries/data-structures/queue/queue.js +63 -66
  221. package/dist/utilities/libraries/data-structures/queue/queue.test.js +54 -55
  222. package/dist/utilities/libraries/grid-algorithms/closest-available-space/closest-available-space.helper.spec.js +122 -68
  223. package/dist/utilities/libraries/grid-algorithms/path-finder/path-finder.spec.js +140 -135
  224. package/dist/utilities/libraries/grid-algorithms/vector-field-path-finder/vector-field-path-finder.spec.js +293 -229
  225. package/dist/utilities/libraries/path-finder/path-finder.d.ts +7 -7
  226. package/dist/utilities/libraries/path-finder/path-finder.js +113 -109
  227. package/dist/utilities/libraries/path-finder/path-finder.spec.js +131 -106
  228. package/dist/utilities/services/keyboard/keyboard.d.ts +4 -4
  229. package/dist/utilities/services/keyboard/keyboard.js +42 -34
  230. package/dist/utilities/services/mouse/helpers/mouse-position.helper.d.ts +1 -1
  231. package/dist/utilities/services/mouse/helpers/mouse-position.helper.js +12 -12
  232. package/dist/utilities/services/mouse/helpers/mouse-position.helper.test.js +168 -73
  233. package/dist/utilities/services/mouse/mouse-target-focus.service.d.ts +15 -15
  234. package/dist/utilities/services/mouse/mouse-target-focus.service.js +79 -76
  235. package/dist/utilities/services/mouse/mouse.service.d.ts +9 -9
  236. package/dist/utilities/services/mouse/mouse.service.js +86 -72
  237. package/dist/utilities/services/mouse/mouser-target-focus.service.d.ts +11 -11
  238. package/dist/utilities/services/mouse/mouser-target-focus.service.js +83 -81
  239. package/package.json +6 -12
@@ -1,5 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ Object.defineProperty(exports, '__esModule', { value: true });
3
2
  exports.PhysicsBodyGroups = exports.PhysicsBodyGroup = void 0;
4
3
  /* eslint-disable no-bitwise */
5
4
  const BORDER_GROUP = 1 << 0; // 0b0001;
@@ -14,63 +13,64 @@ const FRIEND_MASK = ENEMY_GROUP | ENEMY_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDE
14
13
  const FRIEND_PROJECTILE_MASK = ENEMY_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
15
14
  const ENEMY_MASK = FRIEND_GROUP | FRIEND_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDER_GROUP | EXPLOSION_GROUP;
16
15
  const ENEMY_PROJECTILE_MASK = FRIEND_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
17
- const NEUTRAL_MASK = FRIEND_GROUP | FRIEND_PROJECTILE_GROUP | ENEMY_GROUP | ENEMY_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDER_GROUP | EXPLOSION_GROUP;
16
+ const NEUTRAL_MASK =
17
+ FRIEND_GROUP | FRIEND_PROJECTILE_GROUP | ENEMY_GROUP | ENEMY_PROJECTILE_GROUP | NEUTRAL_GROUP | BORDER_GROUP | EXPLOSION_GROUP;
18
18
  const EXPLOSION_MASK = FRIEND_GROUP | ENEMY_GROUP | NEUTRAL_GROUP;
19
19
  var PhysicsBodyGroup;
20
- (function (PhysicsBodyGroup) {
21
- PhysicsBodyGroup[PhysicsBodyGroup["none"] = 0] = "none";
22
- PhysicsBodyGroup[PhysicsBodyGroup["border"] = 1] = "border";
23
- PhysicsBodyGroup[PhysicsBodyGroup["friend"] = 2] = "friend";
24
- PhysicsBodyGroup[PhysicsBodyGroup["friendProjectile"] = 3] = "friendProjectile";
25
- PhysicsBodyGroup[PhysicsBodyGroup["enemy"] = 4] = "enemy";
26
- PhysicsBodyGroup[PhysicsBodyGroup["enemyProjectile"] = 5] = "enemyProjectile";
27
- PhysicsBodyGroup[PhysicsBodyGroup["neutral"] = 6] = "neutral";
28
- PhysicsBodyGroup[PhysicsBodyGroup["explosion"] = 7] = "explosion";
20
+ (PhysicsBodyGroup => {
21
+ PhysicsBodyGroup[(PhysicsBodyGroup['none'] = 0)] = 'none';
22
+ PhysicsBodyGroup[(PhysicsBodyGroup['border'] = 1)] = 'border';
23
+ PhysicsBodyGroup[(PhysicsBodyGroup['friend'] = 2)] = 'friend';
24
+ PhysicsBodyGroup[(PhysicsBodyGroup['friendProjectile'] = 3)] = 'friendProjectile';
25
+ PhysicsBodyGroup[(PhysicsBodyGroup['enemy'] = 4)] = 'enemy';
26
+ PhysicsBodyGroup[(PhysicsBodyGroup['enemyProjectile'] = 5)] = 'enemyProjectile';
27
+ PhysicsBodyGroup[(PhysicsBodyGroup['neutral'] = 6)] = 'neutral';
28
+ PhysicsBodyGroup[(PhysicsBodyGroup['explosion'] = 7)] = 'explosion';
29
29
  })(PhysicsBodyGroup || (exports.PhysicsBodyGroup = PhysicsBodyGroup = {}));
30
30
  class PhysicsBodyGroups {
31
- static getGroupConstant(group) {
32
- switch (group) {
33
- case PhysicsBodyGroup.none:
34
- return 0;
35
- case PhysicsBodyGroup.border:
36
- return BORDER_GROUP;
37
- case PhysicsBodyGroup.friend:
38
- return FRIEND_GROUP;
39
- case PhysicsBodyGroup.friendProjectile:
40
- return FRIEND_PROJECTILE_GROUP;
41
- case PhysicsBodyGroup.enemy:
42
- return ENEMY_GROUP;
43
- case PhysicsBodyGroup.enemyProjectile:
44
- return ENEMY_PROJECTILE_GROUP;
45
- case PhysicsBodyGroup.neutral:
46
- return NEUTRAL_GROUP;
47
- case PhysicsBodyGroup.explosion:
48
- return EXPLOSION_GROUP;
49
- }
31
+ static getGroupConstant(group) {
32
+ switch (group) {
33
+ case PhysicsBodyGroup.none:
34
+ return 0;
35
+ case PhysicsBodyGroup.border:
36
+ return BORDER_GROUP;
37
+ case PhysicsBodyGroup.friend:
38
+ return FRIEND_GROUP;
39
+ case PhysicsBodyGroup.friendProjectile:
40
+ return FRIEND_PROJECTILE_GROUP;
41
+ case PhysicsBodyGroup.enemy:
42
+ return ENEMY_GROUP;
43
+ case PhysicsBodyGroup.enemyProjectile:
44
+ return ENEMY_PROJECTILE_GROUP;
45
+ case PhysicsBodyGroup.neutral:
46
+ return NEUTRAL_GROUP;
47
+ case PhysicsBodyGroup.explosion:
48
+ return EXPLOSION_GROUP;
50
49
  }
51
- static getMaskConstant(group) {
52
- switch (group) {
53
- case PhysicsBodyGroup.none:
54
- return 0;
55
- case PhysicsBodyGroup.border:
56
- return BORDER_MASK;
57
- case PhysicsBodyGroup.friend:
58
- return FRIEND_MASK;
59
- case PhysicsBodyGroup.friendProjectile:
60
- return FRIEND_PROJECTILE_MASK;
61
- case PhysicsBodyGroup.enemy:
62
- return ENEMY_MASK;
63
- case PhysicsBodyGroup.enemyProjectile:
64
- return ENEMY_PROJECTILE_MASK;
65
- case PhysicsBodyGroup.neutral:
66
- return NEUTRAL_MASK;
67
- case PhysicsBodyGroup.explosion:
68
- return EXPLOSION_MASK;
69
- }
70
- }
71
- static canCollide(group1, group2) {
72
- return (PhysicsBodyGroups.getMaskConstant(group1) & PhysicsBodyGroups.getGroupConstant(group2)) !== 0;
50
+ }
51
+ static getMaskConstant(group) {
52
+ switch (group) {
53
+ case PhysicsBodyGroup.none:
54
+ return 0;
55
+ case PhysicsBodyGroup.border:
56
+ return BORDER_MASK;
57
+ case PhysicsBodyGroup.friend:
58
+ return FRIEND_MASK;
59
+ case PhysicsBodyGroup.friendProjectile:
60
+ return FRIEND_PROJECTILE_MASK;
61
+ case PhysicsBodyGroup.enemy:
62
+ return ENEMY_MASK;
63
+ case PhysicsBodyGroup.enemyProjectile:
64
+ return ENEMY_PROJECTILE_MASK;
65
+ case PhysicsBodyGroup.neutral:
66
+ return NEUTRAL_MASK;
67
+ case PhysicsBodyGroup.explosion:
68
+ return EXPLOSION_MASK;
73
69
  }
70
+ }
71
+ static canCollide(group1, group2) {
72
+ return (PhysicsBodyGroups.getMaskConstant(group1) & PhysicsBodyGroups.getGroupConstant(group2)) !== 0;
73
+ }
74
74
  }
75
75
  exports.PhysicsBodyGroups = PhysicsBodyGroups;
76
- //# sourceMappingURL=physics-body-groups.js.map
76
+ //# sourceMappingURL=physics-body-groups.js.map
@@ -1,14 +1,19 @@
1
1
  import p2 from 'p2';
2
2
  import { BorderProperties, MaterialContactDefinition, MaterialDefinition } from '../../interfaces';
3
3
  export declare class PhysicsMaterials {
4
- private borderMaterial;
5
- private materials;
6
- private materialDefinitions;
7
- constructor(p2World: p2.World, borderProperties: BorderProperties, materialDefinitions: ReadonlyArray<MaterialDefinition>, materialContactDefinitions: ReadonlyArray<MaterialContactDefinition>);
8
- getBorderMaterial(): p2.Material;
9
- getMaterial(name: string): p2.Material;
10
- getMaterialDefinition(name: string): MaterialDefinition;
11
- private addContactMaterials;
12
- private getFullListOfMaterialContactDefinitions;
13
- private addContactMaterialsWithBorder;
4
+ private borderMaterial;
5
+ private materials;
6
+ private materialDefinitions;
7
+ constructor(
8
+ p2World: p2.World,
9
+ borderProperties: BorderProperties,
10
+ materialDefinitions: ReadonlyArray<MaterialDefinition>,
11
+ materialContactDefinitions: ReadonlyArray<MaterialContactDefinition>
12
+ );
13
+ getBorderMaterial(): p2.Material;
14
+ getMaterial(name: string): p2.Material;
15
+ getMaterialDefinition(name: string): MaterialDefinition;
16
+ private addContactMaterials;
17
+ private getFullListOfMaterialContactDefinitions;
18
+ private addContactMaterialsWithBorder;
14
19
  }
@@ -1,107 +1,108 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ var __importDefault = (this && this.__importDefault) || (mod => (mod && mod.__esModule ? mod : { default: mod }));
2
+ Object.defineProperty(exports, '__esModule', { value: true });
6
3
  exports.PhysicsMaterials = void 0;
7
- const p2_1 = __importDefault(require("p2"));
8
- const interfaces_1 = require("../../interfaces");
4
+ const p2_1 = __importDefault(require('p2'));
5
+ const interfaces_1 = require('../../interfaces');
9
6
  class PhysicsMaterials {
10
- constructor(p2World, borderProperties, materialDefinitions, materialContactDefinitions) {
11
- this.borderMaterial = new p2_1.default.Material();
12
- this.materials = new Map();
13
- this.materialDefinitions = new Map();
14
- materialDefinitions.forEach(materialDefinition => {
15
- this.materials.set(materialDefinition.name, new p2_1.default.Material());
16
- this.materialDefinitions.set(materialDefinition.name, materialDefinition);
17
- });
18
- this.addContactMaterials(p2World, borderProperties, materialDefinitions, materialContactDefinitions);
7
+ constructor(p2World, borderProperties, materialDefinitions, materialContactDefinitions) {
8
+ this.borderMaterial = new p2_1.default.Material();
9
+ this.materials = new Map();
10
+ this.materialDefinitions = new Map();
11
+ materialDefinitions.forEach(materialDefinition => {
12
+ this.materials.set(materialDefinition.name, new p2_1.default.Material());
13
+ this.materialDefinitions.set(materialDefinition.name, materialDefinition);
14
+ });
15
+ this.addContactMaterials(p2World, borderProperties, materialDefinitions, materialContactDefinitions);
16
+ }
17
+ getBorderMaterial() {
18
+ return this.borderMaterial;
19
+ }
20
+ getMaterial(name) {
21
+ if (name === interfaces_1.BorderMaterialName) {
22
+ return this.borderMaterial;
23
+ } else {
24
+ const material = this.materials.get(name);
25
+ if (!material) {
26
+ throw new Error(`Could not find material with name ${name}.`);
27
+ }
28
+ return material;
19
29
  }
20
- getBorderMaterial() {
21
- return this.borderMaterial;
30
+ }
31
+ getMaterialDefinition(name) {
32
+ if (name === interfaces_1.BorderMaterialName) {
33
+ return {
34
+ name: interfaces_1.BorderMaterialName,
35
+ density: Number.MAX_SAFE_INTEGER,
36
+ velocityDrag: 1,
37
+ rotationalDrag: 1
38
+ };
39
+ } else {
40
+ const materialDefinition = this.materialDefinitions.get(name);
41
+ if (!materialDefinition) {
42
+ throw new Error(`Could not find material definition with name ${name}.`);
43
+ }
44
+ return materialDefinition;
22
45
  }
23
- getMaterial(name) {
24
- if (name === interfaces_1.BorderMaterialName) {
25
- return this.borderMaterial;
46
+ }
47
+ addContactMaterials(p2World, borderProperties, materialDefinitions, materialContactDefinitions) {
48
+ this.getFullListOfMaterialContactDefinitions(
49
+ materialDefinitions.map(definition => definition.name),
50
+ materialContactDefinitions
51
+ ).forEach(contactDefinition => {
52
+ const materialA = this.getMaterial(contactDefinition.materialA);
53
+ const materialB = this.getMaterial(contactDefinition.materialB);
54
+ p2World.addContactMaterial(
55
+ new p2_1.default.ContactMaterial(materialA, materialB, {
56
+ friction: contactDefinition.friction,
57
+ restitution: contactDefinition.bounciness,
58
+ stiffness: contactDefinition.stiffness
59
+ })
60
+ );
61
+ });
62
+ this.addContactMaterialsWithBorder(p2World, borderProperties, materialDefinitions);
63
+ }
64
+ getFullListOfMaterialContactDefinitions(materialNames, materialContactDefinitions) {
65
+ const definedCombinations = new Map();
66
+ materialContactDefinitions.forEach(contactDefinition => {
67
+ let materialAMap = definedCombinations.get(contactDefinition.materialA);
68
+ if (!materialAMap) {
69
+ materialAMap = new Map();
70
+ definedCombinations.set(contactDefinition.materialA, materialAMap);
71
+ }
72
+ materialAMap.set(contactDefinition.materialB, contactDefinition);
73
+ });
74
+ const fullList = [];
75
+ materialNames.forEach((materialA, index) => {
76
+ for (let i = index; i < materialNames.length; i++) {
77
+ const materialB = materialNames[i];
78
+ const contactDefinition = definedCombinations.get(materialA)?.get(materialB);
79
+ if (contactDefinition) {
80
+ fullList.push(contactDefinition);
81
+ } else {
82
+ fullList.push({
83
+ materialA,
84
+ materialB,
85
+ friction: 0,
86
+ bounciness: 0,
87
+ stiffness: 1e6 // default p2js stiffness
88
+ });
26
89
  }
27
- else {
28
- let material = this.materials.get(name);
29
- if (!material) {
30
- throw new Error(`Could not find material with name ${name}.`);
31
- }
32
- return material;
33
- }
34
- }
35
- getMaterialDefinition(name) {
36
- if (name === interfaces_1.BorderMaterialName) {
37
- return {
38
- name: interfaces_1.BorderMaterialName,
39
- density: Number.MAX_SAFE_INTEGER,
40
- velocityDrag: 1,
41
- rotationalDrag: 1
42
- };
43
- }
44
- else {
45
- let materialDefinition = this.materialDefinitions.get(name);
46
- if (!materialDefinition) {
47
- throw new Error(`Could not find material definition with name ${name}.`);
48
- }
49
- return materialDefinition;
50
- }
51
- }
52
- addContactMaterials(p2World, borderProperties, materialDefinitions, materialContactDefinitions) {
53
- this.getFullListOfMaterialContactDefinitions(materialDefinitions.map(definition => definition.name), materialContactDefinitions).forEach(contactDefinition => {
54
- let materialA = this.getMaterial(contactDefinition.materialA);
55
- let materialB = this.getMaterial(contactDefinition.materialB);
56
- p2World.addContactMaterial(new p2_1.default.ContactMaterial(materialA, materialB, {
57
- friction: contactDefinition.friction,
58
- restitution: contactDefinition.bounciness,
59
- stiffness: contactDefinition.stiffness
60
- }));
61
- });
62
- this.addContactMaterialsWithBorder(p2World, borderProperties, materialDefinitions);
63
- }
64
- getFullListOfMaterialContactDefinitions(materialNames, materialContactDefinitions) {
65
- let definedCombinations = new Map();
66
- materialContactDefinitions.forEach(contactDefinition => {
67
- let materialAMap = definedCombinations.get(contactDefinition.materialA);
68
- if (!materialAMap) {
69
- materialAMap = new Map();
70
- definedCombinations.set(contactDefinition.materialA, materialAMap);
71
- }
72
- materialAMap.set(contactDefinition.materialB, contactDefinition);
73
- });
74
- let fullList = [];
75
- materialNames.forEach((materialA, index) => {
76
- for (let i = index; i < materialNames.length; i++) {
77
- let materialB = materialNames[i];
78
- let contactDefinition = definedCombinations.get(materialA)?.get(materialB);
79
- if (contactDefinition) {
80
- fullList.push(contactDefinition);
81
- }
82
- else {
83
- fullList.push({
84
- materialA,
85
- materialB,
86
- friction: 0,
87
- bounciness: 0,
88
- stiffness: 1e6 // default p2js stiffness
89
- });
90
- }
91
- }
92
- });
93
- return fullList;
94
- }
95
- addContactMaterialsWithBorder(p2World, borderProperties, materialDefinitions) {
96
- materialDefinitions.forEach(materialDefinition => {
97
- let materialA = this.getMaterial(materialDefinition.name);
98
- p2World.addContactMaterial(new p2_1.default.ContactMaterial(materialA, this.borderMaterial, {
99
- friction: borderProperties.friction,
100
- restitution: borderProperties.bounciness,
101
- stiffness: borderProperties.stiffness
102
- }));
103
- });
104
- }
90
+ }
91
+ });
92
+ return fullList;
93
+ }
94
+ addContactMaterialsWithBorder(p2World, borderProperties, materialDefinitions) {
95
+ materialDefinitions.forEach(materialDefinition => {
96
+ const materialA = this.getMaterial(materialDefinition.name);
97
+ p2World.addContactMaterial(
98
+ new p2_1.default.ContactMaterial(materialA, this.borderMaterial, {
99
+ friction: borderProperties.friction,
100
+ restitution: borderProperties.bounciness,
101
+ stiffness: borderProperties.stiffness
102
+ })
103
+ );
104
+ });
105
+ }
105
106
  }
106
107
  exports.PhysicsMaterials = PhysicsMaterials;
107
- //# sourceMappingURL=physics-materials.js.map
108
+ //# sourceMappingURL=physics-materials.js.map
@@ -3,9 +3,9 @@ import { PhysicsEntityDefinition } from '../../interfaces';
3
3
  import { PhysicsWorld } from '../../physics-world';
4
4
  import { ImmovablePhysicsEntity } from '../../entitity-types/immovable-physics-entity';
5
5
  export declare class BorderEntity extends ImmovablePhysicsEntity {
6
- constructor(physicsWorld: any, physicsEntityDefinition: PhysicsEntityDefinition);
6
+ constructor(physicsWorld: any, physicsEntityDefinition: PhysicsEntityDefinition);
7
7
  }
8
8
  export declare class PhysicsWorldBorders {
9
- static createBorders(physicsWorld: PhysicsWorld, mapSize: Vector): void;
10
- private static createBorder;
9
+ static createBorders(physicsWorld: PhysicsWorld, mapSize: Vector): void;
10
+ private static createBorder;
11
11
  }
@@ -1,53 +1,77 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1
+ var __decorate =
2
+ (this && this.__decorate) ||
3
+ ((decorators, target, key, desc) => {
4
+ var c = arguments.length,
5
+ r = c < 3 ? target : desc === null ? (desc = Object.getOwnPropertyDescriptor(target, key)) : desc,
6
+ d;
7
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
8
+ r = Reflect.decorate(decorators, target, key, desc);
9
+ else
10
+ for (var i = decorators.length - 1; i >= 0; i--)
11
+ if ((d = decorators[i])) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
12
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
13
+ });
14
+ var __metadata =
15
+ (this && this.__metadata) ||
16
+ ((k, v) => {
17
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
18
+ });
19
+ Object.defineProperty(exports, '__esModule', { value: true });
12
20
  exports.PhysicsWorldBorders = exports.BorderEntity = void 0;
13
- const helpers_lib_1 = require("helpers-lib");
14
- const interfaces_1 = require("../../interfaces");
15
- const physics_body_groups_1 = require("./physics-body-groups");
16
- const game_entities_1 = require("../../../game-entities");
17
- const immovable_physics_entity_1 = require("../../entitity-types/immovable-physics-entity");
21
+ const helpers_lib_1 = require('helpers-lib');
22
+ const interfaces_1 = require('../../interfaces');
23
+ const physics_body_groups_1 = require('./physics-body-groups');
24
+ const game_entities_1 = require('../../../game-entities');
25
+ const immovable_physics_entity_1 = require('../../entitity-types/immovable-physics-entity');
18
26
  let BorderEntity = class BorderEntity extends immovable_physics_entity_1.ImmovablePhysicsEntity {
19
- // TODO: check - physicsWorld type is removed because, it is giving "PhysicsWorld cannot be accessed before it's initialization".
20
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
21
- constructor(physicsWorld, physicsEntityDefinition) {
22
- super(physicsWorld, physicsEntityDefinition);
23
- }
27
+ // TODO: check - physicsWorld type is removed because, it is giving "PhysicsWorld cannot be accessed before it's initialization".
28
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
29
+ constructor(physicsWorld, physicsEntityDefinition) {
30
+ super(physicsWorld, physicsEntityDefinition);
31
+ }
24
32
  };
25
33
  exports.BorderEntity = BorderEntity;
26
- exports.BorderEntity = BorderEntity = __decorate([
27
- (0, game_entities_1.EntityDecorator)(),
28
- __metadata("design:paramtypes", [Object, Object])
29
- ], BorderEntity);
34
+ exports.BorderEntity = BorderEntity = __decorate(
35
+ [(0, game_entities_1.EntityDecorator)(), __metadata('design:paramtypes', [Object, Object])],
36
+ BorderEntity
37
+ );
30
38
  class PhysicsWorldBorders {
31
- static createBorders(physicsWorld, mapSize) {
32
- this.createBorder(physicsWorld, new helpers_lib_1.Vector(mapSize.x / 2, -50), new helpers_lib_1.Vector(mapSize.x + 200, 100)); // Top border
33
- this.createBorder(physicsWorld, new helpers_lib_1.Vector(mapSize.x / 2, mapSize.y + 50), new helpers_lib_1.Vector(mapSize.x + 200, 100)); // Bottom border
34
- this.createBorder(physicsWorld, new helpers_lib_1.Vector(-50, mapSize.y / 2), new helpers_lib_1.Vector(100, mapSize.y + 200)); // Left border
35
- this.createBorder(physicsWorld, new helpers_lib_1.Vector(mapSize.x + 50, mapSize.y / 2), new helpers_lib_1.Vector(100, mapSize.y + 200)); // Right border
36
- }
37
- static createBorder(physicsWorld, position, size) {
38
- return new BorderEntity(physicsWorld, {
39
- shapeDefinition: {
40
- materialName: interfaces_1.BorderMaterialName,
41
- group: physics_body_groups_1.PhysicsBodyGroup.border,
42
- shapeType: interfaces_1.PhysicsShapeType.rectangle,
43
- shapeData: { size }
44
- },
45
- position,
46
- rotation: 0,
47
- addInEmptySpace: false,
48
- includeOnPathfinding: true
49
- }).attach(physicsWorld);
50
- }
39
+ static createBorders(physicsWorld, mapSize) {
40
+ PhysicsWorldBorders.createBorder(
41
+ physicsWorld,
42
+ new helpers_lib_1.Vector(mapSize.x / 2, -50),
43
+ new helpers_lib_1.Vector(mapSize.x + 200, 100)
44
+ ); // Top border
45
+ PhysicsWorldBorders.createBorder(
46
+ physicsWorld,
47
+ new helpers_lib_1.Vector(mapSize.x / 2, mapSize.y + 50),
48
+ new helpers_lib_1.Vector(mapSize.x + 200, 100)
49
+ ); // Bottom border
50
+ PhysicsWorldBorders.createBorder(
51
+ physicsWorld,
52
+ new helpers_lib_1.Vector(-50, mapSize.y / 2),
53
+ new helpers_lib_1.Vector(100, mapSize.y + 200)
54
+ ); // Left border
55
+ PhysicsWorldBorders.createBorder(
56
+ physicsWorld,
57
+ new helpers_lib_1.Vector(mapSize.x + 50, mapSize.y / 2),
58
+ new helpers_lib_1.Vector(100, mapSize.y + 200)
59
+ ); // Right border
60
+ }
61
+ static createBorder(physicsWorld, position, size) {
62
+ return new BorderEntity(physicsWorld, {
63
+ shapeDefinition: {
64
+ materialName: interfaces_1.BorderMaterialName,
65
+ group: physics_body_groups_1.PhysicsBodyGroup.border,
66
+ shapeType: interfaces_1.PhysicsShapeType.rectangle,
67
+ shapeData: { size }
68
+ },
69
+ position,
70
+ rotation: 0,
71
+ addInEmptySpace: false,
72
+ includeOnPathfinding: true
73
+ }).attach(physicsWorld);
74
+ }
51
75
  }
52
76
  exports.PhysicsWorldBorders = PhysicsWorldBorders;
53
- //# sourceMappingURL=physics-world-borders.js.map
77
+ //# sourceMappingURL=physics-world-borders.js.map
@@ -1,12 +1,12 @@
1
1
  export declare enum PhysicsBodyGroup {
2
- none = 0,
3
- border = 1,
4
- friend = 2,
5
- enemy = 3,
6
- neutral = 4
2
+ none = 0,
3
+ border = 1,
4
+ friend = 2,
5
+ enemy = 3,
6
+ neutral = 4
7
7
  }
8
8
  export declare class PhysicsBodyGroups {
9
- static getGroupConstant(group: PhysicsBodyGroup): number;
10
- static getMaskConstant(group: PhysicsBodyGroup): number;
11
- static canCollide(group1: PhysicsBodyGroup, group2: PhysicsBodyGroup): boolean;
9
+ static getGroupConstant(group: PhysicsBodyGroup): number;
10
+ static getMaskConstant(group: PhysicsBodyGroup): number;
11
+ static canCollide(group1: PhysicsBodyGroup, group2: PhysicsBodyGroup): boolean;
12
12
  }
@@ -1,55 +1,54 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ Object.defineProperty(exports, '__esModule', { value: true });
3
2
  exports.PhysicsBodyGroups = exports.PhysicsBodyGroup = void 0;
4
3
  /* eslint-disable no-bitwise */
5
- const BORDER_GROUP = Math.pow(2, 0); // 0b0001;
6
- const FRIEND_GROUP = Math.pow(2, 1); // 0b0010;
7
- const ENEMY_GROUP = Math.pow(2, 2); // 0b0100;
8
- const NEUTRAL_GROUP = Math.pow(2, 3); // 0b1000;
4
+ const BORDER_GROUP = 2 ** 0; // 0b0001;
5
+ const FRIEND_GROUP = 2 ** 1; // 0b0010;
6
+ const ENEMY_GROUP = 2 ** 2; // 0b0100;
7
+ const NEUTRAL_GROUP = 2 ** 3; // 0b1000;
9
8
  const BORDER_MASK = FRIEND_GROUP | ENEMY_GROUP | NEUTRAL_GROUP; // Borders only collide with bodies
10
9
  const FRIEND_MASK = ENEMY_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
11
10
  const ENEMY_MASK = FRIEND_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
12
11
  const NEUTRAL_MASK = FRIEND_GROUP | ENEMY_GROUP | NEUTRAL_GROUP | BORDER_GROUP;
13
12
  var PhysicsBodyGroup;
14
- (function (PhysicsBodyGroup) {
15
- PhysicsBodyGroup[PhysicsBodyGroup["none"] = 0] = "none";
16
- PhysicsBodyGroup[PhysicsBodyGroup["border"] = 1] = "border";
17
- PhysicsBodyGroup[PhysicsBodyGroup["friend"] = 2] = "friend";
18
- PhysicsBodyGroup[PhysicsBodyGroup["enemy"] = 3] = "enemy";
19
- PhysicsBodyGroup[PhysicsBodyGroup["neutral"] = 4] = "neutral";
13
+ (PhysicsBodyGroup => {
14
+ PhysicsBodyGroup[(PhysicsBodyGroup['none'] = 0)] = 'none';
15
+ PhysicsBodyGroup[(PhysicsBodyGroup['border'] = 1)] = 'border';
16
+ PhysicsBodyGroup[(PhysicsBodyGroup['friend'] = 2)] = 'friend';
17
+ PhysicsBodyGroup[(PhysicsBodyGroup['enemy'] = 3)] = 'enemy';
18
+ PhysicsBodyGroup[(PhysicsBodyGroup['neutral'] = 4)] = 'neutral';
20
19
  })(PhysicsBodyGroup || (exports.PhysicsBodyGroup = PhysicsBodyGroup = {}));
21
20
  class PhysicsBodyGroups {
22
- static getGroupConstant(group) {
23
- switch (group) {
24
- case PhysicsBodyGroup.none:
25
- return 0;
26
- case PhysicsBodyGroup.border:
27
- return BORDER_GROUP;
28
- case PhysicsBodyGroup.friend:
29
- return FRIEND_GROUP;
30
- case PhysicsBodyGroup.enemy:
31
- return ENEMY_GROUP;
32
- case PhysicsBodyGroup.neutral:
33
- return NEUTRAL_GROUP;
34
- }
21
+ static getGroupConstant(group) {
22
+ switch (group) {
23
+ case PhysicsBodyGroup.none:
24
+ return 0;
25
+ case PhysicsBodyGroup.border:
26
+ return BORDER_GROUP;
27
+ case PhysicsBodyGroup.friend:
28
+ return FRIEND_GROUP;
29
+ case PhysicsBodyGroup.enemy:
30
+ return ENEMY_GROUP;
31
+ case PhysicsBodyGroup.neutral:
32
+ return NEUTRAL_GROUP;
35
33
  }
36
- static getMaskConstant(group) {
37
- switch (group) {
38
- case PhysicsBodyGroup.none:
39
- return 0;
40
- case PhysicsBodyGroup.border:
41
- return BORDER_MASK;
42
- case PhysicsBodyGroup.friend:
43
- return FRIEND_MASK;
44
- case PhysicsBodyGroup.enemy:
45
- return ENEMY_MASK;
46
- case PhysicsBodyGroup.neutral:
47
- return NEUTRAL_MASK;
48
- }
49
- }
50
- static canCollide(group1, group2) {
51
- return (PhysicsBodyGroups.getMaskConstant(group1) & PhysicsBodyGroups.getGroupConstant(group2)) !== 0;
34
+ }
35
+ static getMaskConstant(group) {
36
+ switch (group) {
37
+ case PhysicsBodyGroup.none:
38
+ return 0;
39
+ case PhysicsBodyGroup.border:
40
+ return BORDER_MASK;
41
+ case PhysicsBodyGroup.friend:
42
+ return FRIEND_MASK;
43
+ case PhysicsBodyGroup.enemy:
44
+ return ENEMY_MASK;
45
+ case PhysicsBodyGroup.neutral:
46
+ return NEUTRAL_MASK;
52
47
  }
48
+ }
49
+ static canCollide(group1, group2) {
50
+ return (PhysicsBodyGroups.getMaskConstant(group1) & PhysicsBodyGroups.getGroupConstant(group2)) !== 0;
51
+ }
53
52
  }
54
53
  exports.PhysicsBodyGroups = PhysicsBodyGroups;
55
- //# sourceMappingURL=physics-body-groups.js.map
54
+ //# sourceMappingURL=physics-body-groups.js.map