dacha 0.13.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 (361) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -0
  3. package/build/contrib/components/animatable/comparator-condition-component-value.d.ts +5 -0
  4. package/build/contrib/components/animatable/comparator-condition-component-value.js +12 -0
  5. package/build/contrib/components/animatable/comparator-condition-number-value.d.ts +5 -0
  6. package/build/contrib/components/animatable/comparator-condition-number-value.js +9 -0
  7. package/build/contrib/components/animatable/comparator-condition-props.d.ts +9 -0
  8. package/build/contrib/components/animatable/comparator-condition-props.js +12 -0
  9. package/build/contrib/components/animatable/comparator-condition-values.d.ts +8 -0
  10. package/build/contrib/components/animatable/comparator-condition-values.js +8 -0
  11. package/build/contrib/components/animatable/condition-props.d.ts +6 -0
  12. package/build/contrib/components/animatable/condition-props.js +6 -0
  13. package/build/contrib/components/animatable/condition.d.ts +9 -0
  14. package/build/contrib/components/animatable/condition.js +12 -0
  15. package/build/contrib/components/animatable/event-condition-props.d.ts +4 -0
  16. package/build/contrib/components/animatable/event-condition-props.js +6 -0
  17. package/build/contrib/components/animatable/group-state.d.ts +11 -0
  18. package/build/contrib/components/animatable/group-state.js +16 -0
  19. package/build/contrib/components/animatable/index.d.ts +14 -0
  20. package/build/contrib/components/animatable/index.js +41 -0
  21. package/build/contrib/components/animatable/individual-state.d.ts +7 -0
  22. package/build/contrib/components/animatable/individual-state.js +10 -0
  23. package/build/contrib/components/animatable/one-dimensional-props.d.ts +4 -0
  24. package/build/contrib/components/animatable/one-dimensional-props.js +10 -0
  25. package/build/contrib/components/animatable/pick-props.d.ts +6 -0
  26. package/build/contrib/components/animatable/pick-props.js +6 -0
  27. package/build/contrib/components/animatable/state.d.ts +10 -0
  28. package/build/contrib/components/animatable/state.js +16 -0
  29. package/build/contrib/components/animatable/substate.d.ts +9 -0
  30. package/build/contrib/components/animatable/substate.js +13 -0
  31. package/build/contrib/components/animatable/timeline.d.ts +11 -0
  32. package/build/contrib/components/animatable/timeline.js +28 -0
  33. package/build/contrib/components/animatable/transition.d.ts +9 -0
  34. package/build/contrib/components/animatable/transition.js +14 -0
  35. package/build/contrib/components/animatable/two-dimensional-props.d.ts +5 -0
  36. package/build/contrib/components/animatable/two-dimensional-props.js +12 -0
  37. package/build/contrib/components/animatable/types.d.ts +78 -0
  38. package/build/contrib/components/animatable/types.js +1 -0
  39. package/build/contrib/components/camera/index.d.ts +13 -0
  40. package/build/contrib/components/camera/index.js +21 -0
  41. package/build/contrib/components/collider-container/box-collider.d.ts +7 -0
  42. package/build/contrib/components/collider-container/box-collider.js +12 -0
  43. package/build/contrib/components/collider-container/circle-collider.d.ts +6 -0
  44. package/build/contrib/components/collider-container/circle-collider.js +10 -0
  45. package/build/contrib/components/collider-container/index.d.ts +13 -0
  46. package/build/contrib/components/collider-container/index.js +28 -0
  47. package/build/contrib/components/index.d.ts +20 -0
  48. package/build/contrib/components/index.js +10 -0
  49. package/build/contrib/components/keyboard-control/index.d.ts +28 -0
  50. package/build/contrib/components/keyboard-control/index.js +46 -0
  51. package/build/contrib/components/light/index.d.ts +20 -0
  52. package/build/contrib/components/light/index.js +18 -0
  53. package/build/contrib/components/mouse-control/index.d.ts +25 -0
  54. package/build/contrib/components/mouse-control/index.js +46 -0
  55. package/build/contrib/components/renderable/index.d.ts +44 -0
  56. package/build/contrib/components/renderable/index.js +65 -0
  57. package/build/contrib/components/renderable/material.d.ts +16 -0
  58. package/build/contrib/components/renderable/material.js +8 -0
  59. package/build/contrib/components/rigid-body/index.d.ts +20 -0
  60. package/build/contrib/components/rigid-body/index.js +29 -0
  61. package/build/contrib/components/script-bundle/index.d.ts +14 -0
  62. package/build/contrib/components/script-bundle/index.js +15 -0
  63. package/build/contrib/components/sprite/index.d.ts +35 -0
  64. package/build/contrib/components/sprite/index.js +50 -0
  65. package/build/contrib/components/sprite/material.d.ts +16 -0
  66. package/build/contrib/components/sprite/material.js +8 -0
  67. package/build/contrib/components/transform/index.d.ts +32 -0
  68. package/build/contrib/components/transform/index.js +69 -0
  69. package/build/contrib/events/index.d.ts +63 -0
  70. package/build/contrib/events/index.js +11 -0
  71. package/build/contrib/systems/animator/condition-controllers/comparator-condition-controller.d.ts +10 -0
  72. package/build/contrib/systems/animator/condition-controllers/comparator-condition-controller.js +32 -0
  73. package/build/contrib/systems/animator/condition-controllers/condition-controller.d.ts +3 -0
  74. package/build/contrib/systems/animator/condition-controllers/condition-controller.js +1 -0
  75. package/build/contrib/systems/animator/condition-controllers/event-condition-controller.d.ts +8 -0
  76. package/build/contrib/systems/animator/condition-controllers/event-condition-controller.js +18 -0
  77. package/build/contrib/systems/animator/condition-controllers/index.d.ts +3 -0
  78. package/build/contrib/systems/animator/condition-controllers/index.js +6 -0
  79. package/build/contrib/systems/animator/index.d.ts +15 -0
  80. package/build/contrib/systems/animator/index.js +93 -0
  81. package/build/contrib/systems/animator/substate-pickers/index.d.ts +4 -0
  82. package/build/contrib/systems/animator/substate-pickers/index.js +6 -0
  83. package/build/contrib/systems/animator/substate-pickers/one-dimensional-picker.d.ts +8 -0
  84. package/build/contrib/systems/animator/substate-pickers/one-dimensional-picker.js +25 -0
  85. package/build/contrib/systems/animator/substate-pickers/picker.d.ts +7 -0
  86. package/build/contrib/systems/animator/substate-pickers/picker.js +1 -0
  87. package/build/contrib/systems/animator/substate-pickers/two-dimensional-picker.d.ts +8 -0
  88. package/build/contrib/systems/animator/substate-pickers/two-dimensional-picker.js +27 -0
  89. package/build/contrib/systems/animator/utils.d.ts +3 -0
  90. package/build/contrib/systems/animator/utils.js +32 -0
  91. package/build/contrib/systems/camera-system/index.d.ts +2 -0
  92. package/build/contrib/systems/camera-system/index.js +2 -0
  93. package/build/contrib/systems/camera-system/service.d.ts +13 -0
  94. package/build/contrib/systems/camera-system/service.js +25 -0
  95. package/build/contrib/systems/camera-system/system.d.ts +16 -0
  96. package/build/contrib/systems/camera-system/system.js +65 -0
  97. package/build/contrib/systems/game-stats-meter/index.d.ts +11 -0
  98. package/build/contrib/systems/game-stats-meter/index.js +34 -0
  99. package/build/contrib/systems/index.d.ts +13 -0
  100. package/build/contrib/systems/index.js +11 -0
  101. package/build/contrib/systems/keyboard-control-system/index.d.ts +14 -0
  102. package/build/contrib/systems/keyboard-control-system/index.js +73 -0
  103. package/build/contrib/systems/keyboard-input-system/index.d.ts +10 -0
  104. package/build/contrib/systems/keyboard-input-system/index.js +28 -0
  105. package/build/contrib/systems/keyboard-input-system/input-listener.d.ts +12 -0
  106. package/build/contrib/systems/keyboard-input-system/input-listener.js +36 -0
  107. package/build/contrib/systems/mouse-control-system/index.d.ts +10 -0
  108. package/build/contrib/systems/mouse-control-system/index.js +43 -0
  109. package/build/contrib/systems/mouse-input-system/index.d.ts +10 -0
  110. package/build/contrib/systems/mouse-input-system/index.js +23 -0
  111. package/build/contrib/systems/mouse-input-system/subsystems/coordinates-projector/index.d.ts +9 -0
  112. package/build/contrib/systems/mouse-input-system/subsystems/coordinates-projector/index.js +23 -0
  113. package/build/contrib/systems/mouse-input-system/subsystems/index.d.ts +2 -0
  114. package/build/contrib/systems/mouse-input-system/subsystems/index.js +2 -0
  115. package/build/contrib/systems/mouse-input-system/subsystems/input-subsystem/index.d.ts +9 -0
  116. package/build/contrib/systems/mouse-input-system/subsystems/input-subsystem/index.js +25 -0
  117. package/build/contrib/systems/mouse-input-system/subsystems/input-subsystem/mouse-input-listener.d.ts +11 -0
  118. package/build/contrib/systems/mouse-input-system/subsystems/input-subsystem/mouse-input-listener.js +46 -0
  119. package/build/contrib/systems/physics-system/consts.d.ts +4 -0
  120. package/build/contrib/systems/physics-system/consts.js +4 -0
  121. package/build/contrib/systems/physics-system/index.d.ts +13 -0
  122. package/build/contrib/systems/physics-system/index.js +38 -0
  123. package/build/contrib/systems/physics-system/subsystems/collision-broadcast/collision.d.ts +15 -0
  124. package/build/contrib/systems/physics-system/subsystems/collision-broadcast/collision.js +31 -0
  125. package/build/contrib/systems/physics-system/subsystems/collision-broadcast/index.d.ts +12 -0
  126. package/build/contrib/systems/physics-system/subsystems/collision-broadcast/index.js +55 -0
  127. package/build/contrib/systems/physics-system/subsystems/collision-detection/aabb-builders/build-box-aabb.d.ts +2 -0
  128. package/build/contrib/systems/physics-system/subsystems/collision-detection/aabb-builders/build-box-aabb.js +13 -0
  129. package/build/contrib/systems/physics-system/subsystems/collision-detection/aabb-builders/build-circle-aabb.d.ts +2 -0
  130. package/build/contrib/systems/physics-system/subsystems/collision-detection/aabb-builders/build-circle-aabb.js +8 -0
  131. package/build/contrib/systems/physics-system/subsystems/collision-detection/aabb-builders/index.d.ts +3 -0
  132. package/build/contrib/systems/physics-system/subsystems/collision-detection/aabb-builders/index.js +6 -0
  133. package/build/contrib/systems/physics-system/subsystems/collision-detection/dispersion-calculator/index.d.ts +11 -0
  134. package/build/contrib/systems/physics-system/subsystems/collision-detection/dispersion-calculator/index.js +27 -0
  135. package/build/contrib/systems/physics-system/subsystems/collision-detection/geometry-builders/build-box-geometry.d.ts +3 -0
  136. package/build/contrib/systems/physics-system/subsystems/collision-detection/geometry-builders/build-box-geometry.js +46 -0
  137. package/build/contrib/systems/physics-system/subsystems/collision-detection/geometry-builders/build-circle-geometry.d.ts +3 -0
  138. package/build/contrib/systems/physics-system/subsystems/collision-detection/geometry-builders/build-circle-geometry.js +13 -0
  139. package/build/contrib/systems/physics-system/subsystems/collision-detection/geometry-builders/index.d.ts +4 -0
  140. package/build/contrib/systems/physics-system/subsystems/collision-detection/geometry-builders/index.js +6 -0
  141. package/build/contrib/systems/physics-system/subsystems/collision-detection/index.d.ts +29 -0
  142. package/build/contrib/systems/physics-system/subsystems/collision-detection/index.js +235 -0
  143. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/check-box-and-circle-intersection.d.ts +16 -0
  144. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/check-box-and-circle-intersection.js +80 -0
  145. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/check-boxes-intersection.d.ts +6 -0
  146. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/check-boxes-intersection.js +72 -0
  147. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/check-circles-intersection.d.ts +11 -0
  148. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/check-circles-intersection.js +39 -0
  149. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/index.d.ts +3 -0
  150. package/build/contrib/systems/physics-system/subsystems/collision-detection/intersection-checkers/index.js +13 -0
  151. package/build/contrib/systems/physics-system/subsystems/collision-detection/reorientation-checkers/check-collider.d.ts +3 -0
  152. package/build/contrib/systems/physics-system/subsystems/collision-detection/reorientation-checkers/check-collider.js +16 -0
  153. package/build/contrib/systems/physics-system/subsystems/collision-detection/reorientation-checkers/check-transform.d.ts +3 -0
  154. package/build/contrib/systems/physics-system/subsystems/collision-detection/reorientation-checkers/check-transform.js +5 -0
  155. package/build/contrib/systems/physics-system/subsystems/collision-detection/reorientation-checkers/index.d.ts +2 -0
  156. package/build/contrib/systems/physics-system/subsystems/collision-detection/reorientation-checkers/index.js +2 -0
  157. package/build/contrib/systems/physics-system/subsystems/collision-detection/types.d.ts +70 -0
  158. package/build/contrib/systems/physics-system/subsystems/collision-detection/types.js +1 -0
  159. package/build/contrib/systems/physics-system/subsystems/collision-solver/index.d.ts +11 -0
  160. package/build/contrib/systems/physics-system/subsystems/collision-solver/index.js +52 -0
  161. package/build/contrib/systems/physics-system/subsystems/constraint-solver/index.d.ts +15 -0
  162. package/build/contrib/systems/physics-system/subsystems/constraint-solver/index.js +123 -0
  163. package/build/contrib/systems/physics-system/subsystems/index.d.ts +5 -0
  164. package/build/contrib/systems/physics-system/subsystems/index.js +5 -0
  165. package/build/contrib/systems/physics-system/subsystems/physics/index.d.ts +18 -0
  166. package/build/contrib/systems/physics-system/subsystems/physics/index.js +131 -0
  167. package/build/contrib/systems/physics-system/types.d.ts +4 -0
  168. package/build/contrib/systems/physics-system/types.js +1 -0
  169. package/build/contrib/systems/script-system/index.d.ts +18 -0
  170. package/build/contrib/systems/script-system/index.js +68 -0
  171. package/build/contrib/systems/script-system/types.d.ts +20 -0
  172. package/build/contrib/systems/script-system/types.js +3 -0
  173. package/build/contrib/systems/sprite-renderer/index.d.ts +2 -0
  174. package/build/contrib/systems/sprite-renderer/index.js +2 -0
  175. package/build/contrib/systems/sprite-renderer/light-subsystem/index.d.ts +13 -0
  176. package/build/contrib/systems/sprite-renderer/light-subsystem/index.js +51 -0
  177. package/build/contrib/systems/sprite-renderer/light-subsystem/light-factory.d.ts +4 -0
  178. package/build/contrib/systems/sprite-renderer/light-subsystem/light-factory.js +27 -0
  179. package/build/contrib/systems/sprite-renderer/material-factory/index.d.ts +4 -0
  180. package/build/contrib/systems/sprite-renderer/material-factory/index.js +32 -0
  181. package/build/contrib/systems/sprite-renderer/renderer.d.ts +32 -0
  182. package/build/contrib/systems/sprite-renderer/renderer.js +214 -0
  183. package/build/contrib/systems/sprite-renderer/service/index.d.ts +24 -0
  184. package/build/contrib/systems/sprite-renderer/service/index.js +52 -0
  185. package/build/contrib/systems/sprite-renderer/sort/index.d.ts +8 -0
  186. package/build/contrib/systems/sprite-renderer/sort/index.js +15 -0
  187. package/build/contrib/systems/sprite-renderer/sort/sort-by-fit.d.ts +2 -0
  188. package/build/contrib/systems/sprite-renderer/sort/sort-by-fit.js +12 -0
  189. package/build/contrib/systems/sprite-renderer/sort/sort-by-layer.d.ts +2 -0
  190. package/build/contrib/systems/sprite-renderer/sort/sort-by-layer.js +14 -0
  191. package/build/contrib/systems/sprite-renderer/sort/sort-by-x-axis.d.ts +2 -0
  192. package/build/contrib/systems/sprite-renderer/sort/sort-by-x-axis.js +15 -0
  193. package/build/contrib/systems/sprite-renderer/sort/sort-by-y-axis.d.ts +2 -0
  194. package/build/contrib/systems/sprite-renderer/sort/sort-by-y-axis.js +15 -0
  195. package/build/contrib/systems/sprite-renderer/sort/sort-by-z-axis.d.ts +2 -0
  196. package/build/contrib/systems/sprite-renderer/sort/sort-by-z-axis.js +6 -0
  197. package/build/contrib/systems/sprite-renderer/sort/types.d.ts +2 -0
  198. package/build/contrib/systems/sprite-renderer/sort/types.js +1 -0
  199. package/build/contrib/systems/sprite-renderer/sort/utils.d.ts +1 -0
  200. package/build/contrib/systems/sprite-renderer/sort/utils.js +6 -0
  201. package/build/contrib/systems/sprite-renderer/sprite-cropper.d.ts +8 -0
  202. package/build/contrib/systems/sprite-renderer/sprite-cropper.js +30 -0
  203. package/build/contrib/systems/sprite-renderer/utils.d.ts +8 -0
  204. package/build/contrib/systems/sprite-renderer/utils.js +41 -0
  205. package/build/contrib/systems/ui-bridge/index.d.ts +40 -0
  206. package/build/contrib/systems/ui-bridge/index.js +62 -0
  207. package/build/contrib/systems/ui-bridge/observer/index.d.ts +1 -0
  208. package/build/contrib/systems/ui-bridge/observer/index.js +1 -0
  209. package/build/contrib/systems/ui-bridge/observer/observer.d.ts +8 -0
  210. package/build/contrib/systems/ui-bridge/observer/observer.js +21 -0
  211. package/build/contrib/systems/webgl-render-system/color/color-reader/color-reader.d.ts +3 -0
  212. package/build/contrib/systems/webgl-render-system/color/color-reader/color-reader.js +1 -0
  213. package/build/contrib/systems/webgl-render-system/color/color-reader/consts.d.ts +3 -0
  214. package/build/contrib/systems/webgl-render-system/color/color-reader/consts.js +10 -0
  215. package/build/contrib/systems/webgl-render-system/color/color-reader/hex-color-reader.d.ts +4 -0
  216. package/build/contrib/systems/webgl-render-system/color/color-reader/hex-color-reader.js +14 -0
  217. package/build/contrib/systems/webgl-render-system/color/color-reader/index.d.ts +6 -0
  218. package/build/contrib/systems/webgl-render-system/color/color-reader/index.js +6 -0
  219. package/build/contrib/systems/webgl-render-system/color/color-reader/short-hex-color-reader.d.ts +4 -0
  220. package/build/contrib/systems/webgl-render-system/color/color-reader/short-hex-color-reader.js +11 -0
  221. package/build/contrib/systems/webgl-render-system/color/index.d.ts +7 -0
  222. package/build/contrib/systems/webgl-render-system/color/index.js +41 -0
  223. package/build/contrib/systems/webgl-render-system/consts.d.ts +9 -0
  224. package/build/contrib/systems/webgl-render-system/consts.js +9 -0
  225. package/build/contrib/systems/webgl-render-system/geometry/rectangle.d.ts +6 -0
  226. package/build/contrib/systems/webgl-render-system/geometry/rectangle.js +22 -0
  227. package/build/contrib/systems/webgl-render-system/index.d.ts +66 -0
  228. package/build/contrib/systems/webgl-render-system/index.js +405 -0
  229. package/build/contrib/systems/webgl-render-system/matrix-transformer/index.d.ts +20 -0
  230. package/build/contrib/systems/webgl-render-system/matrix-transformer/index.js +55 -0
  231. package/build/contrib/systems/webgl-render-system/shader-builder/fragment-shader.d.ts +1 -0
  232. package/build/contrib/systems/webgl-render-system/shader-builder/fragment-shader.js +29 -0
  233. package/build/contrib/systems/webgl-render-system/shader-builder/index.d.ts +11 -0
  234. package/build/contrib/systems/webgl-render-system/shader-builder/index.js +39 -0
  235. package/build/contrib/systems/webgl-render-system/shader-builder/shader-provider.d.ts +10 -0
  236. package/build/contrib/systems/webgl-render-system/shader-builder/shader-provider.js +34 -0
  237. package/build/contrib/systems/webgl-render-system/shader-builder/vertex-shader.d.ts +1 -0
  238. package/build/contrib/systems/webgl-render-system/shader-builder/vertex-shader.js +16 -0
  239. package/build/contrib/systems/webgl-render-system/texture-handlers/index.d.ts +7 -0
  240. package/build/contrib/systems/webgl-render-system/texture-handlers/index.js +6 -0
  241. package/build/contrib/systems/webgl-render-system/texture-handlers/sprite-texture-handler.d.ts +10 -0
  242. package/build/contrib/systems/webgl-render-system/texture-handlers/sprite-texture-handler.js +16 -0
  243. package/build/contrib/systems/webgl-render-system/texture-handlers/static-texture-handler.d.ts +9 -0
  244. package/build/contrib/systems/webgl-render-system/texture-handlers/static-texture-handler.js +10 -0
  245. package/build/contrib/systems/webgl-render-system/texture-handlers/texture-handler.d.ts +10 -0
  246. package/build/contrib/systems/webgl-render-system/texture-handlers/texture-handler.js +1 -0
  247. package/build/contrib/systems/webgl-render-system/utils/index.d.ts +1 -0
  248. package/build/contrib/systems/webgl-render-system/utils/index.js +1 -0
  249. package/build/contrib/systems/webgl-render-system/utils/split-to-batch.d.ts +3 -0
  250. package/build/contrib/systems/webgl-render-system/utils/split-to-batch.js +19 -0
  251. package/build/contrib/types/index.d.ts +1 -0
  252. package/build/contrib/types/index.js +1 -0
  253. package/build/contrib/types/input-events.d.ts +21 -0
  254. package/build/contrib/types/input-events.js +1 -0
  255. package/build/contrib/utils/coordinates-projection.d.ts +3 -0
  256. package/build/contrib/utils/coordinates-projection.js +11 -0
  257. package/build/contrib/utils/get-window-node.d.ts +1 -0
  258. package/build/contrib/utils/get-window-node.js +7 -0
  259. package/build/engine/actor/actor-collection.d.ts +31 -0
  260. package/build/engine/actor/actor-collection.js +98 -0
  261. package/build/engine/actor/actor-creator.d.ts +21 -0
  262. package/build/engine/actor/actor-creator.js +82 -0
  263. package/build/engine/actor/actor-spawner.d.ts +7 -0
  264. package/build/engine/actor/actor-spawner.js +12 -0
  265. package/build/engine/actor/actor.d.ts +31 -0
  266. package/build/engine/actor/actor.js +60 -0
  267. package/build/engine/actor/index.d.ts +5 -0
  268. package/build/engine/actor/index.js +4 -0
  269. package/build/engine/component/component.d.ts +13 -0
  270. package/build/engine/component/component.js +21 -0
  271. package/build/engine/component/index.d.ts +2 -0
  272. package/build/engine/component/index.js +1 -0
  273. package/build/engine/controllers/controller.d.ts +7 -0
  274. package/build/engine/controllers/controller.js +1 -0
  275. package/build/engine/controllers/index.d.ts +2 -0
  276. package/build/engine/controllers/index.js +1 -0
  277. package/build/engine/controllers/scene-controller.d.ts +11 -0
  278. package/build/engine/controllers/scene-controller.js +50 -0
  279. package/build/engine/data-lib/index.d.ts +2 -0
  280. package/build/engine/data-lib/index.js +2 -0
  281. package/build/engine/data-lib/queue.d.ts +8 -0
  282. package/build/engine/data-lib/queue.js +34 -0
  283. package/build/engine/data-lib/sort/index.d.ts +1 -0
  284. package/build/engine/data-lib/sort/index.js +1 -0
  285. package/build/engine/data-lib/sort/insertion-sort.d.ts +1 -0
  286. package/build/engine/data-lib/sort/insertion-sort.js +14 -0
  287. package/build/engine/engine.d.ts +22 -0
  288. package/build/engine/engine.js +89 -0
  289. package/build/engine/entity/entity.d.ts +17 -0
  290. package/build/engine/entity/entity.js +40 -0
  291. package/build/engine/entity/index.d.ts +3 -0
  292. package/build/engine/entity/index.js +2 -0
  293. package/build/engine/entity/utils.d.ts +3 -0
  294. package/build/engine/entity/utils.js +26 -0
  295. package/build/engine/event-target/event-queue.d.ts +9 -0
  296. package/build/engine/event-target/event-queue.js +16 -0
  297. package/build/engine/event-target/event-target.d.ts +13 -0
  298. package/build/engine/event-target/event-target.js +59 -0
  299. package/build/engine/event-target/index.d.ts +4 -0
  300. package/build/engine/event-target/index.js +2 -0
  301. package/build/engine/event-target/types.d.ts +12 -0
  302. package/build/engine/event-target/types.js +1 -0
  303. package/build/engine/events/index.d.ts +51 -0
  304. package/build/engine/events/index.js +8 -0
  305. package/build/engine/game-loop.d.ts +14 -0
  306. package/build/engine/game-loop.js +51 -0
  307. package/build/engine/index.d.ts +1 -0
  308. package/build/engine/index.js +1 -0
  309. package/build/engine/math-lib/index.d.ts +3 -0
  310. package/build/engine/math-lib/index.js +3 -0
  311. package/build/engine/math-lib/math/ops.d.ts +14 -0
  312. package/build/engine/math-lib/math/ops.js +52 -0
  313. package/build/engine/math-lib/vector/ops.d.ts +38 -0
  314. package/build/engine/math-lib/vector/ops.js +76 -0
  315. package/build/engine/math-lib/vector/vector2.d.ts +10 -0
  316. package/build/engine/math-lib/vector/vector2.js +25 -0
  317. package/build/engine/resource-loader/index.d.ts +1 -0
  318. package/build/engine/resource-loader/index.js +1 -0
  319. package/build/engine/resource-loader/loaders/image-loader.d.ts +7 -0
  320. package/build/engine/resource-loader/loaders/image-loader.js +21 -0
  321. package/build/engine/resource-loader/loaders/index.d.ts +4 -0
  322. package/build/engine/resource-loader/loaders/index.js +6 -0
  323. package/build/engine/resource-loader/loaders/json-loader.d.ts +7 -0
  324. package/build/engine/resource-loader/loaders/json-loader.js +14 -0
  325. package/build/engine/resource-loader/loaders/loader.d.ts +4 -0
  326. package/build/engine/resource-loader/loaders/loader.js +1 -0
  327. package/build/engine/resource-loader/resource-loader-qualifier.d.ts +7 -0
  328. package/build/engine/resource-loader/resource-loader-qualifier.js +18 -0
  329. package/build/engine/resource-loader/resource-loader.d.ts +5 -0
  330. package/build/engine/resource-loader/resource-loader.js +17 -0
  331. package/build/engine/scene/index.d.ts +3 -0
  332. package/build/engine/scene/index.js +2 -0
  333. package/build/engine/scene/scene-provider.d.ts +50 -0
  334. package/build/engine/scene/scene-provider.js +151 -0
  335. package/build/engine/scene/scene.d.ts +46 -0
  336. package/build/engine/scene/scene.js +98 -0
  337. package/build/engine/system/index.d.ts +2 -0
  338. package/build/engine/system/index.js +1 -0
  339. package/build/engine/system/system.d.ts +25 -0
  340. package/build/engine/system/system.js +3 -0
  341. package/build/engine/template/index.d.ts +2 -0
  342. package/build/engine/template/index.js +2 -0
  343. package/build/engine/template/template-collection.d.ts +13 -0
  344. package/build/engine/template/template-collection.js +44 -0
  345. package/build/engine/template/template.d.ts +17 -0
  346. package/build/engine/template/template.js +43 -0
  347. package/build/engine/types/config.d.ts +47 -0
  348. package/build/engine/types/config.js +1 -0
  349. package/build/engine/types/index.d.ts +1 -0
  350. package/build/engine/types/index.js +1 -0
  351. package/build/events/index.d.ts +4 -0
  352. package/build/events/index.js +2 -0
  353. package/build/index.d.ts +15 -0
  354. package/build/index.js +11 -0
  355. package/build/types/events.d.ts +9 -0
  356. package/build/types/events.js +1 -0
  357. package/build/types/global.d.ts +2 -0
  358. package/build/types/global.js +2 -0
  359. package/build/types/utils.d.ts +1 -0
  360. package/build/types/utils.js +1 -0
  361. package/package.json +63 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Mikhail Remmele
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,8 @@
1
+ # Dacha
2
+
3
+ ## Intro
4
+ Dacha is a JavaScript game engine for building games in browser.
5
+
6
+ ## Examples
7
+ * [Roosters Fight](https://github.com/michailRemmele/roosters-fight)
8
+ * [Infinite Battle](https://github.com/michailRemmele/ludum-dare-47)
@@ -0,0 +1,5 @@
1
+ export declare class ComparatorConditionComponentValue {
2
+ type: string;
3
+ value: string | Array<string>;
4
+ constructor(config: unknown);
5
+ }
@@ -0,0 +1,12 @@
1
+ const SEPARATOR = '.';
2
+ export class ComparatorConditionComponentValue {
3
+ type;
4
+ value;
5
+ constructor(config) {
6
+ const { value, type } = config;
7
+ this.type = type;
8
+ this.value = Array.isArray(value)
9
+ ? value.slice(0)
10
+ : String(value).split(SEPARATOR);
11
+ }
12
+ }
@@ -0,0 +1,5 @@
1
+ export declare class ComparatorConditionSimpleValue {
2
+ type: string;
3
+ value: string | number | boolean;
4
+ constructor(config: unknown);
5
+ }
@@ -0,0 +1,9 @@
1
+ export class ComparatorConditionSimpleValue {
2
+ type;
3
+ value;
4
+ constructor(config) {
5
+ const { type, value } = config;
6
+ this.type = type;
7
+ this.value = value;
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { ComparatorConditionComponentValue } from './comparator-condition-component-value';
2
+ import { ComparatorConditionSimpleValue } from './comparator-condition-number-value';
3
+ import type { OperationType } from './types';
4
+ export declare class ComparatorConditionProps {
5
+ operation: OperationType;
6
+ arg1: ComparatorConditionComponentValue | ComparatorConditionSimpleValue;
7
+ arg2: ComparatorConditionComponentValue | ComparatorConditionSimpleValue;
8
+ constructor(config: unknown);
9
+ }
@@ -0,0 +1,12 @@
1
+ import { conditionValues } from './comparator-condition-values';
2
+ export class ComparatorConditionProps {
3
+ operation;
4
+ arg1;
5
+ arg2;
6
+ constructor(config) {
7
+ const { operation, arg1, arg2 } = config;
8
+ this.operation = operation;
9
+ this.arg1 = new conditionValues[arg1.type](arg1);
10
+ this.arg2 = new conditionValues[arg2.type](arg2);
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ import { ComparatorConditionSimpleValue } from './comparator-condition-number-value';
2
+ import { ComparatorConditionComponentValue } from './comparator-condition-component-value';
3
+ export declare const conditionValues: {
4
+ string: typeof ComparatorConditionSimpleValue;
5
+ number: typeof ComparatorConditionSimpleValue;
6
+ boolean: typeof ComparatorConditionSimpleValue;
7
+ componentValue: typeof ComparatorConditionComponentValue;
8
+ };
@@ -0,0 +1,8 @@
1
+ import { ComparatorConditionSimpleValue } from './comparator-condition-number-value';
2
+ import { ComparatorConditionComponentValue } from './comparator-condition-component-value';
3
+ export const conditionValues = {
4
+ string: ComparatorConditionSimpleValue,
5
+ number: ComparatorConditionSimpleValue,
6
+ boolean: ComparatorConditionSimpleValue,
7
+ componentValue: ComparatorConditionComponentValue,
8
+ };
@@ -0,0 +1,6 @@
1
+ import { ComparatorConditionProps } from './comparator-condition-props';
2
+ import { EventConditionProps } from './event-condition-props';
3
+ export declare const conditionProps: {
4
+ comparator: typeof ComparatorConditionProps;
5
+ event: typeof EventConditionProps;
6
+ };
@@ -0,0 +1,6 @@
1
+ import { ComparatorConditionProps } from './comparator-condition-props';
2
+ import { EventConditionProps } from './event-condition-props';
3
+ export const conditionProps = {
4
+ comparator: ComparatorConditionProps,
5
+ event: EventConditionProps,
6
+ };
@@ -0,0 +1,9 @@
1
+ import { ComparatorConditionProps } from './comparator-condition-props';
2
+ import { EventConditionProps } from './event-condition-props';
3
+ import type { ConditionConfig } from './types';
4
+ export declare class Condition {
5
+ id: string;
6
+ type: 'comparator' | 'event';
7
+ props: ComparatorConditionProps | EventConditionProps;
8
+ constructor(config: ConditionConfig);
9
+ }
@@ -0,0 +1,12 @@
1
+ import { conditionProps } from './condition-props';
2
+ export class Condition {
3
+ id;
4
+ type;
5
+ props;
6
+ constructor(config) {
7
+ const { id, type, props = {} } = config;
8
+ this.id = id;
9
+ this.type = type;
10
+ this.props = new conditionProps[type](props);
11
+ }
12
+ }
@@ -0,0 +1,4 @@
1
+ export declare class EventConditionProps {
2
+ eventType: string;
3
+ constructor(config: unknown);
4
+ }
@@ -0,0 +1,6 @@
1
+ export class EventConditionProps {
2
+ eventType;
3
+ constructor(config) {
4
+ this.eventType = config.eventType;
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ import { State } from './state';
2
+ import { Substate } from './substate';
3
+ import { OneDimensionalProps } from './one-dimensional-props';
4
+ import { TwoDimensionalProps } from './two-dimensional-props';
5
+ import type { GroupStateConfig } from './types';
6
+ export declare class GroupState extends State {
7
+ substates: Array<Substate>;
8
+ pickMode: '1D' | '2D';
9
+ pickProps: OneDimensionalProps | TwoDimensionalProps;
10
+ constructor(config: GroupStateConfig);
11
+ }
@@ -0,0 +1,16 @@
1
+ import { State } from './state';
2
+ import { Substate } from './substate';
3
+ import { pickProps as defaultPickProps } from './pick-props';
4
+ export class GroupState extends State {
5
+ substates;
6
+ pickMode;
7
+ pickProps;
8
+ constructor(config) {
9
+ super(config);
10
+ const { substates = [], pickMode = '1D', pickProps = {}, } = config;
11
+ this.substates = substates.map((substate) => new Substate(substate));
12
+ this.pickMode = pickMode;
13
+ const PickProps = defaultPickProps[pickMode];
14
+ this.pickProps = new PickProps(pickProps);
15
+ }
16
+ }
@@ -0,0 +1,14 @@
1
+ import { Component } from '../../../engine/component';
2
+ import { IndividualState } from './individual-state';
3
+ import { GroupState } from './group-state';
4
+ import type { AnimatableConfig } from './types';
5
+ export type { AnimatableConfig };
6
+ export declare class Animatable extends Component {
7
+ states: Array<IndividualState | GroupState>;
8
+ initialState: string;
9
+ currentState?: IndividualState | GroupState;
10
+ duration: number;
11
+ constructor(config: AnimatableConfig);
12
+ setCurrentState(currentState: string): void;
13
+ clone(): Animatable;
14
+ }
@@ -0,0 +1,41 @@
1
+ import { Component } from '../../../engine/component';
2
+ import { IndividualState } from './individual-state';
3
+ import { GroupState } from './group-state';
4
+ export class Animatable extends Component {
5
+ states;
6
+ initialState;
7
+ currentState;
8
+ duration;
9
+ constructor(config) {
10
+ super();
11
+ const { initialState, states = [], } = config;
12
+ this.states = states
13
+ .reduce((acc, state) => {
14
+ const { type } = state;
15
+ if (type === 'individual') {
16
+ acc.push(new IndividualState(state));
17
+ }
18
+ if (type === 'group') {
19
+ acc.push(new GroupState(state));
20
+ }
21
+ return acc;
22
+ }, []);
23
+ this.initialState = initialState;
24
+ this.currentState = this.states.find((state) => state.id === this.initialState);
25
+ this.duration = 0;
26
+ }
27
+ setCurrentState(currentState) {
28
+ const newState = this.states.find((state) => state.id === currentState);
29
+ if (!newState) {
30
+ throw new Error(`Can't find state with same name: ${currentState}`);
31
+ }
32
+ this.currentState = newState;
33
+ }
34
+ clone() {
35
+ return new Animatable({
36
+ states: this.states,
37
+ initialState: this.initialState,
38
+ });
39
+ }
40
+ }
41
+ Animatable.componentName = 'Animatable';
@@ -0,0 +1,7 @@
1
+ import { State } from './state';
2
+ import { Timeline } from './timeline';
3
+ import type { IndividualStateConfig } from './types';
4
+ export declare class IndividualState extends State {
5
+ timeline: Timeline;
6
+ constructor(config: IndividualStateConfig);
7
+ }
@@ -0,0 +1,10 @@
1
+ import { State } from './state';
2
+ import { Timeline } from './timeline';
3
+ export class IndividualState extends State {
4
+ timeline;
5
+ constructor(config) {
6
+ super(config);
7
+ const { timeline = { frames: [], looped: false } } = config;
8
+ this.timeline = new Timeline(timeline);
9
+ }
10
+ }
@@ -0,0 +1,4 @@
1
+ export declare class OneDimensionalProps {
2
+ x: string | Array<string>;
3
+ constructor(config: unknown);
4
+ }
@@ -0,0 +1,10 @@
1
+ const SEPARATOR = '.';
2
+ export class OneDimensionalProps {
3
+ x;
4
+ constructor(config) {
5
+ const { x = '' } = config;
6
+ this.x = Array.isArray(x)
7
+ ? x.slice(0)
8
+ : x.split(SEPARATOR);
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ import { OneDimensionalProps } from './one-dimensional-props';
2
+ import { TwoDimensionalProps } from './two-dimensional-props';
3
+ export declare const pickProps: {
4
+ '1D': typeof OneDimensionalProps;
5
+ '2D': typeof TwoDimensionalProps;
6
+ };
@@ -0,0 +1,6 @@
1
+ import { OneDimensionalProps } from './one-dimensional-props';
2
+ import { TwoDimensionalProps } from './two-dimensional-props';
3
+ export const pickProps = {
4
+ '1D': OneDimensionalProps,
5
+ '2D': TwoDimensionalProps,
6
+ };
@@ -0,0 +1,10 @@
1
+ import { Transition } from './transition';
2
+ import type { StateConfig } from './types';
3
+ export declare class State {
4
+ id: string;
5
+ name: string;
6
+ speed: number;
7
+ type: 'individual' | 'group';
8
+ transitions: Array<Transition>;
9
+ constructor(config: StateConfig);
10
+ }
@@ -0,0 +1,16 @@
1
+ import { Transition } from './transition';
2
+ export class State {
3
+ id;
4
+ name;
5
+ speed;
6
+ type;
7
+ transitions;
8
+ constructor(config) {
9
+ const { id, name, speed, type, transitions = [], } = config;
10
+ this.id = id;
11
+ this.name = name;
12
+ this.speed = speed;
13
+ this.type = type;
14
+ this.transitions = transitions.map((transition) => new Transition(transition));
15
+ }
16
+ }
@@ -0,0 +1,9 @@
1
+ import { Timeline } from './timeline';
2
+ import type { SubstateConfig } from './types';
3
+ export declare class Substate {
4
+ name: string;
5
+ timeline: Timeline;
6
+ x: number;
7
+ y: number;
8
+ constructor(config: SubstateConfig);
9
+ }
@@ -0,0 +1,13 @@
1
+ import { Timeline } from './timeline';
2
+ export class Substate {
3
+ name;
4
+ timeline;
5
+ x;
6
+ y;
7
+ constructor(config) {
8
+ this.name = config.name;
9
+ this.timeline = new Timeline(config.timeline);
10
+ this.x = config.x;
11
+ this.y = config.y;
12
+ }
13
+ }
@@ -0,0 +1,11 @@
1
+ import type { TimelineConfig } from './types';
2
+ export interface FrameField {
3
+ path: Array<string>;
4
+ value: string | number | boolean;
5
+ }
6
+ export type Frame = Record<string, FrameField>;
7
+ export declare class Timeline {
8
+ frames: Array<Frame>;
9
+ looped: boolean;
10
+ constructor(config: TimelineConfig);
11
+ }
@@ -0,0 +1,28 @@
1
+ const SEPARATOR = '.';
2
+ export class Timeline {
3
+ frames;
4
+ looped;
5
+ constructor(config) {
6
+ this.frames = config.frames.map((frame) => {
7
+ if (!Array.isArray(frame.fields)) {
8
+ // Frame fields already been parsed and we just need to copy it
9
+ const parsedFrame = frame;
10
+ return Object.keys(parsedFrame).reduce((acc, fieldName) => {
11
+ acc[fieldName] = {
12
+ path: parsedFrame[fieldName].path.slice(0),
13
+ value: parsedFrame[fieldName].value,
14
+ };
15
+ return acc;
16
+ }, {});
17
+ }
18
+ return frame.fields.reduce((acc, field) => {
19
+ acc[field.name] = {
20
+ path: field.name.split(SEPARATOR),
21
+ value: field.value,
22
+ };
23
+ return acc;
24
+ }, {});
25
+ });
26
+ this.looped = config.looped;
27
+ }
28
+ }
@@ -0,0 +1,9 @@
1
+ import { Condition } from './condition';
2
+ import type { TransitionConfig } from './types';
3
+ export declare class Transition {
4
+ id: string;
5
+ state: string;
6
+ time: number;
7
+ conditions: Array<Condition>;
8
+ constructor(config: TransitionConfig);
9
+ }
@@ -0,0 +1,14 @@
1
+ import { Condition } from './condition';
2
+ export class Transition {
3
+ id;
4
+ state;
5
+ time;
6
+ conditions;
7
+ constructor(config) {
8
+ const { id, state, time, conditions = [], } = config;
9
+ this.id = id;
10
+ this.state = state;
11
+ this.time = time;
12
+ this.conditions = conditions.map((condition) => new Condition(condition));
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import { OneDimensionalProps } from './one-dimensional-props';
2
+ export declare class TwoDimensionalProps extends OneDimensionalProps {
3
+ y: string | Array<string>;
4
+ constructor(config: unknown);
5
+ }
@@ -0,0 +1,12 @@
1
+ import { OneDimensionalProps } from './one-dimensional-props';
2
+ const SEPARATOR = '.';
3
+ export class TwoDimensionalProps extends OneDimensionalProps {
4
+ y;
5
+ constructor(config) {
6
+ super(config);
7
+ const { y = '' } = config;
8
+ this.y = Array.isArray(y)
9
+ ? y.slice(0)
10
+ : y.split(SEPARATOR);
11
+ }
12
+ }
@@ -0,0 +1,78 @@
1
+ export interface FrameFieldConfig {
2
+ id: string;
3
+ name: string;
4
+ type: 'string' | 'number' | 'boolean';
5
+ value: string | number | boolean;
6
+ }
7
+ export interface FrameConfig {
8
+ id: string;
9
+ fields: Array<FrameFieldConfig>;
10
+ }
11
+ export interface TimelineConfig {
12
+ frames: Array<FrameConfig>;
13
+ looped: boolean;
14
+ }
15
+ export interface ComparatorConditionComponentValueConfig {
16
+ type: string;
17
+ value: string | Array<string>;
18
+ }
19
+ export interface ComparatorConditionSimpleValueConfig {
20
+ type: string;
21
+ value: string | number | boolean;
22
+ }
23
+ export type OperationType = 'equals' | 'notEquals' | 'greater' | 'less' | 'greaterOrEqual' | 'lessOrEqual';
24
+ export interface ComparatorConditionArg {
25
+ type: 'string' | 'number' | 'boolean' | 'componentValue';
26
+ [key: string]: unknown;
27
+ }
28
+ export interface ComparatorConditionPropsConfig {
29
+ operation: OperationType;
30
+ arg1: ComparatorConditionArg;
31
+ arg2: ComparatorConditionArg;
32
+ }
33
+ export interface EventConditionPropsConfig {
34
+ eventType: string;
35
+ }
36
+ export interface ConditionConfig {
37
+ id: string;
38
+ type: 'comparator' | 'event';
39
+ props: Record<string, unknown>;
40
+ }
41
+ export interface TransitionConfig {
42
+ id: string;
43
+ state: string;
44
+ time: number;
45
+ conditions: Array<ConditionConfig>;
46
+ }
47
+ export interface StateConfig {
48
+ id: string;
49
+ name: string;
50
+ speed: number;
51
+ type: 'individual' | 'group';
52
+ transitions: Array<TransitionConfig>;
53
+ }
54
+ export interface IndividualStateConfig extends StateConfig {
55
+ timeline: TimelineConfig;
56
+ }
57
+ export interface SubstateConfig {
58
+ id: string;
59
+ name: string;
60
+ timeline: TimelineConfig;
61
+ x: number;
62
+ y: number;
63
+ }
64
+ export interface OneDimensionalPropsConfig {
65
+ x: string | Array<string>;
66
+ }
67
+ export interface TwoDimensionalPropsConfig extends OneDimensionalPropsConfig {
68
+ y: string | Array<string>;
69
+ }
70
+ export interface GroupStateConfig extends StateConfig {
71
+ substates: Array<SubstateConfig>;
72
+ pickMode: '1D' | '2D';
73
+ pickProps: OneDimensionalPropsConfig | TwoDimensionalPropsConfig;
74
+ }
75
+ export interface AnimatableConfig extends Record<string, unknown> {
76
+ states: Array<unknown>;
77
+ initialState: string;
78
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import { Component } from '../../../engine/component';
2
+ export interface CameraConfig {
3
+ zoom: number;
4
+ current: boolean;
5
+ }
6
+ export declare class Camera extends Component {
7
+ zoom: number;
8
+ current: boolean;
9
+ windowSizeX: number;
10
+ windowSizeY: number;
11
+ constructor(config: CameraConfig);
12
+ clone(): Camera;
13
+ }
@@ -0,0 +1,21 @@
1
+ import { Component } from '../../../engine/component';
2
+ export class Camera extends Component {
3
+ zoom;
4
+ current;
5
+ windowSizeX;
6
+ windowSizeY;
7
+ constructor(config) {
8
+ super();
9
+ this.current = config.current;
10
+ this.zoom = config.zoom;
11
+ this.windowSizeX = 0;
12
+ this.windowSizeY = 0;
13
+ }
14
+ clone() {
15
+ return new Camera({
16
+ zoom: this.zoom,
17
+ current: this.current,
18
+ });
19
+ }
20
+ }
21
+ Camera.componentName = 'Camera';
@@ -0,0 +1,7 @@
1
+ export declare class BoxCollider {
2
+ sizeX: number;
3
+ sizeY: number;
4
+ centerX: number;
5
+ centerY: number;
6
+ constructor(config: Record<string, number>);
7
+ }
@@ -0,0 +1,12 @@
1
+ export class BoxCollider {
2
+ sizeX;
3
+ sizeY;
4
+ centerX;
5
+ centerY;
6
+ constructor(config) {
7
+ this.sizeX = config.sizeX;
8
+ this.sizeY = config.sizeY;
9
+ this.centerX = config.centerX;
10
+ this.centerY = config.centerY;
11
+ }
12
+ }
@@ -0,0 +1,6 @@
1
+ export declare class CircleCollider {
2
+ radius: number;
3
+ centerX: number;
4
+ centerY: number;
5
+ constructor(config: Record<string, number>);
6
+ }
@@ -0,0 +1,10 @@
1
+ export class CircleCollider {
2
+ radius;
3
+ centerX;
4
+ centerY;
5
+ constructor(config) {
6
+ this.radius = config.radius;
7
+ this.centerX = config.centerX;
8
+ this.centerY = config.centerY;
9
+ }
10
+ }
@@ -0,0 +1,13 @@
1
+ import { Component } from '../../../engine/component';
2
+ import { BoxCollider } from './box-collider';
3
+ import { CircleCollider } from './circle-collider';
4
+ export interface ColliderContainerConfig {
5
+ type: 'boxCollider' | 'circleCollider';
6
+ collider: Record<string, number>;
7
+ }
8
+ export declare class ColliderContainer extends Component {
9
+ type: 'boxCollider' | 'circleCollider';
10
+ collider: BoxCollider | CircleCollider;
11
+ constructor(config: ColliderContainerConfig);
12
+ clone(): ColliderContainer;
13
+ }