@gamebob/axon-surge 0.31.0 → 0.33.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 (291) hide show
  1. package/dist/axon-surge.js +9021 -8299
  2. package/dist/bosses/BossEncounter.d.ts +79 -37
  3. package/dist/bosses/BossEncounter.d.ts.map +1 -1
  4. package/dist/bosses/BossEncounterFactory.d.ts +9 -0
  5. package/dist/bosses/BossEncounterFactory.d.ts.map +1 -0
  6. package/dist/bosses/BossEncounterRuntime.d.ts +33 -0
  7. package/dist/bosses/BossEncounterRuntime.d.ts.map +1 -0
  8. package/dist/bosses/BossEncounterView.d.ts +28 -0
  9. package/dist/bosses/BossEncounterView.d.ts.map +1 -0
  10. package/dist/codex/BossCodex.d.ts +1 -2
  11. package/dist/codex/BossCodex.d.ts.map +1 -1
  12. package/dist/codex/Codex.d.ts +1 -6
  13. package/dist/codex/Codex.d.ts.map +1 -1
  14. package/dist/codex/CodexStorage.d.ts +18 -0
  15. package/dist/codex/CodexStorage.d.ts.map +1 -0
  16. package/dist/codex/DefaultCodex.d.ts.map +1 -1
  17. package/dist/content/AntiChucladorBehavior.d.ts +5 -0
  18. package/dist/content/AntiChucladorBehavior.d.ts.map +1 -0
  19. package/dist/content/ContentRegistry.d.ts +12 -0
  20. package/dist/content/ContentRegistry.d.ts.map +1 -1
  21. package/dist/content/ContentTypes.d.ts.map +1 -1
  22. package/dist/content/DefaultContentRegistry.d.ts.map +1 -1
  23. package/dist/content/EnemyBehavior.d.ts.map +1 -1
  24. package/dist/content/EnemyBehaviorChains.d.ts +7 -0
  25. package/dist/content/EnemyBehaviorChains.d.ts.map +1 -0
  26. package/dist/content/EnemyBehaviorCollisions.d.ts +6 -0
  27. package/dist/content/EnemyBehaviorCollisions.d.ts.map +1 -0
  28. package/dist/content/EnemyBehaviorEffects.d.ts +26 -0
  29. package/dist/content/EnemyBehaviorEffects.d.ts.map +1 -0
  30. package/dist/content/EnemyBehaviors.d.ts +2 -5
  31. package/dist/content/EnemyBehaviors.d.ts.map +1 -1
  32. package/dist/content/EnemyVariantBehaviors.d.ts +10 -0
  33. package/dist/content/EnemyVariantBehaviors.d.ts.map +1 -0
  34. package/dist/core/CoreInteractionController.d.ts.map +1 -1
  35. package/dist/core/EventBus.d.ts.map +1 -1
  36. package/dist/core/GameEngine.d.ts +58 -140
  37. package/dist/core/GameEngine.d.ts.map +1 -1
  38. package/dist/core/GameEngineCodexInitialization.d.ts +3 -0
  39. package/dist/core/GameEngineCodexInitialization.d.ts.map +1 -0
  40. package/dist/core/GameEngineConstants.d.ts +3 -0
  41. package/dist/core/GameEngineConstants.d.ts.map +1 -0
  42. package/dist/core/GameEngineInitialization.d.ts +3 -0
  43. package/dist/core/GameEngineInitialization.d.ts.map +1 -0
  44. package/dist/core/GameEngineLoopInitialization.d.ts +3 -0
  45. package/dist/core/GameEngineLoopInitialization.d.ts.map +1 -0
  46. package/dist/core/GameEngineMethodsBossImpact.d.ts +7 -0
  47. package/dist/core/GameEngineMethodsBossImpact.d.ts.map +1 -0
  48. package/dist/core/GameEngineMethodsBossRuntime.d.ts +16 -0
  49. package/dist/core/GameEngineMethodsBossRuntime.d.ts.map +1 -0
  50. package/dist/core/GameEngineMethodsOrbs.d.ts +7 -0
  51. package/dist/core/GameEngineMethodsOrbs.d.ts.map +1 -0
  52. package/dist/core/GameEngineMethodsPhysics.d.ts +8 -0
  53. package/dist/core/GameEngineMethodsPhysics.d.ts.map +1 -0
  54. package/dist/core/GameEngineMethodsProgress.d.ts +9 -0
  55. package/dist/core/GameEngineMethodsProgress.d.ts.map +1 -0
  56. package/dist/core/GameEngineMethodsSetup.d.ts +12 -0
  57. package/dist/core/GameEngineMethodsSetup.d.ts.map +1 -0
  58. package/dist/core/GameEngineMethodsStart.d.ts +4 -0
  59. package/dist/core/GameEngineMethodsStart.d.ts.map +1 -0
  60. package/dist/core/GameEngineMethodsUi.d.ts +14 -0
  61. package/dist/core/GameEngineMethodsUi.d.ts.map +1 -0
  62. package/dist/core/GameEngineMethodsUpdate.d.ts +3 -0
  63. package/dist/core/GameEngineMethodsUpdate.d.ts.map +1 -0
  64. package/dist/core/GameEngineStartMenuInitialization.d.ts +3 -0
  65. package/dist/core/GameEngineStartMenuInitialization.d.ts.map +1 -0
  66. package/dist/core/GameEngineState.d.ts +168 -0
  67. package/dist/core/GameEngineState.d.ts.map +1 -0
  68. package/dist/core/PerformanceAudit.d.ts +2 -0
  69. package/dist/core/PerformanceAudit.d.ts.map +1 -1
  70. package/dist/director/FlockingBehaviors.d.ts +4 -0
  71. package/dist/director/FlockingBehaviors.d.ts.map +1 -0
  72. package/dist/director/InteractiveTutorial.d.ts +40 -20
  73. package/dist/director/InteractiveTutorial.d.ts.map +1 -1
  74. package/dist/director/SpawnerPatterns.d.ts +21 -8
  75. package/dist/director/SpawnerPatterns.d.ts.map +1 -1
  76. package/dist/director/TutorialMechanicsFactory.d.ts +9 -0
  77. package/dist/director/TutorialMechanicsFactory.d.ts.map +1 -0
  78. package/dist/director/TutorialPreferences.d.ts +12 -0
  79. package/dist/director/TutorialPreferences.d.ts.map +1 -0
  80. package/dist/director/TutorialSetup.d.ts +17 -0
  81. package/dist/director/TutorialSetup.d.ts.map +1 -0
  82. package/dist/director/TutorialUpdateMechanics.d.ts +30 -0
  83. package/dist/director/TutorialUpdateMechanics.d.ts.map +1 -0
  84. package/dist/director/WaveDirector.d.ts +15 -14
  85. package/dist/director/WaveDirector.d.ts.map +1 -1
  86. package/dist/director/WaveSpawnResolver.d.ts +30 -0
  87. package/dist/director/WaveSpawnResolver.d.ts.map +1 -0
  88. package/dist/entities/CoreAppearanceController.d.ts +13 -0
  89. package/dist/entities/CoreAppearanceController.d.ts.map +1 -0
  90. package/dist/entities/CoreEntity.d.ts +16 -25
  91. package/dist/entities/CoreEntity.d.ts.map +1 -1
  92. package/dist/entities/CoreIntegrityController.d.ts +15 -0
  93. package/dist/entities/CoreIntegrityController.d.ts.map +1 -0
  94. package/dist/entities/CoreMechanicController.d.ts +33 -0
  95. package/dist/entities/CoreMechanicController.d.ts.map +1 -0
  96. package/dist/entities/EcosomaOrb.d.ts.map +1 -1
  97. package/dist/entities/EnemyEntity.d.ts +8 -0
  98. package/dist/entities/EnemyEntity.d.ts.map +1 -1
  99. package/dist/entities/ExperienceOrb.d.ts +3 -6
  100. package/dist/entities/ExperienceOrb.d.ts.map +1 -1
  101. package/dist/entities/ExperienceOrbAppearance.d.ts +7 -0
  102. package/dist/entities/ExperienceOrbAppearance.d.ts.map +1 -0
  103. package/dist/entities/ExperienceOrbLifecycle.d.ts +14 -0
  104. package/dist/entities/ExperienceOrbLifecycle.d.ts.map +1 -0
  105. package/dist/entities/ExperienceOrbSpatial.d.ts +5 -0
  106. package/dist/entities/ExperienceOrbSpatial.d.ts.map +1 -0
  107. package/dist/entities/RepelWaveProjectile.d.ts.map +1 -1
  108. package/dist/factory/EntityFactory.d.ts.map +1 -1
  109. package/dist/i18n/I18nService.d.ts +5 -0
  110. package/dist/i18n/I18nService.d.ts.map +1 -1
  111. package/dist/i18n/locales.d.ts.map +1 -1
  112. package/dist/input/InputEventBinder.d.ts +16 -0
  113. package/dist/input/InputEventBinder.d.ts.map +1 -0
  114. package/dist/input/InputManager.d.ts +17 -12
  115. package/dist/input/InputManager.d.ts.map +1 -1
  116. package/dist/input/PointerTracker.d.ts +20 -0
  117. package/dist/input/PointerTracker.d.ts.map +1 -0
  118. package/dist/objectives/MissionGenerator.d.ts +5 -0
  119. package/dist/objectives/MissionGenerator.d.ts.map +1 -1
  120. package/dist/objectives/ObjectivePersistence.d.ts +18 -0
  121. package/dist/objectives/ObjectivePersistence.d.ts.map +1 -0
  122. package/dist/objectives/ObjectiveSystem.d.ts +5 -40
  123. package/dist/objectives/ObjectiveSystem.d.ts.map +1 -1
  124. package/dist/objectives/ObjectiveSystemState.d.ts +40 -0
  125. package/dist/objectives/ObjectiveSystemState.d.ts.map +1 -0
  126. package/dist/objectives/ObjectiveTypes.d.ts.map +1 -1
  127. package/dist/physics/EffectClusterer.d.ts +2 -0
  128. package/dist/physics/EffectClusterer.d.ts.map +1 -1
  129. package/dist/physics/PhysicsEngine.d.ts +38 -5
  130. package/dist/physics/PhysicsEngine.d.ts.map +1 -1
  131. package/dist/physics/handlers/ChainReactionHelper.d.ts.map +1 -1
  132. package/dist/physics/handlers/CoreCollisionHandler.d.ts +28 -7
  133. package/dist/physics/handlers/CoreCollisionHandler.d.ts.map +1 -1
  134. package/dist/physics/handlers/ShieldCollisionHandler.d.ts +25 -3
  135. package/dist/physics/handlers/ShieldCollisionHandler.d.ts.map +1 -1
  136. package/dist/physics/handlers/SmasherCollisionHandler.d.ts +13 -1
  137. package/dist/physics/handlers/SmasherCollisionHandler.d.ts.map +1 -1
  138. package/dist/physics/handlers/ThrownCollisionHandler.d.ts +22 -4
  139. package/dist/physics/handlers/ThrownCollisionHandler.d.ts.map +1 -1
  140. package/dist/physics/handlers/ThrownCollisionRuntime.d.ts +32 -0
  141. package/dist/physics/handlers/ThrownCollisionRuntime.d.ts.map +1 -0
  142. package/dist/physics/handlers/ThrownComboEffects.d.ts +16 -0
  143. package/dist/physics/handlers/ThrownComboEffects.d.ts.map +1 -0
  144. package/dist/physics/handlers/ToxicPoolPhysicsHandler.d.ts +17 -3
  145. package/dist/physics/handlers/ToxicPoolPhysicsHandler.d.ts.map +1 -1
  146. package/dist/physics/handlers/VortexPhysicsHandler.d.ts +11 -1
  147. package/dist/physics/handlers/VortexPhysicsHandler.d.ts.map +1 -1
  148. package/dist/pool/EnemyPool.d.ts +5 -1
  149. package/dist/pool/EnemyPool.d.ts.map +1 -1
  150. package/dist/powerups/DefaultPowerUps.d.ts +3 -0
  151. package/dist/powerups/DefaultPowerUps.d.ts.map +1 -0
  152. package/dist/powerups/DefaultPowerUpsDefense.d.ts +3 -0
  153. package/dist/powerups/DefaultPowerUpsDefense.d.ts.map +1 -0
  154. package/dist/powerups/DefaultPowerUpsDuration.d.ts +3 -0
  155. package/dist/powerups/DefaultPowerUpsDuration.d.ts.map +1 -0
  156. package/dist/powerups/DefaultPowerUpsMagnet.d.ts +3 -0
  157. package/dist/powerups/DefaultPowerUpsMagnet.d.ts.map +1 -0
  158. package/dist/powerups/DefaultPowerUpsPower.d.ts +3 -0
  159. package/dist/powerups/DefaultPowerUpsPower.d.ts.map +1 -0
  160. package/dist/powerups/PowerUpRegistry.d.ts +9 -4
  161. package/dist/powerups/PowerUpRegistry.d.ts.map +1 -1
  162. package/dist/powerups/PowerUpTypes.d.ts +9 -2
  163. package/dist/powerups/PowerUpTypes.d.ts.map +1 -1
  164. package/dist/progression/CoreRoster.d.ts +3 -2
  165. package/dist/progression/CoreRoster.d.ts.map +1 -1
  166. package/dist/progression/CoreRosterStorage.d.ts +3 -4
  167. package/dist/progression/CoreRosterStorage.d.ts.map +1 -1
  168. package/dist/progression/CoreRosterValidation.d.ts.map +1 -1
  169. package/dist/progression/CoreWisdomPassives.d.ts.map +1 -1
  170. package/dist/progression/EcosomaDropPolicy.d.ts.map +1 -1
  171. package/dist/progression/GeneticMemory.d.ts +3 -14
  172. package/dist/progression/GeneticMemory.d.ts.map +1 -1
  173. package/dist/progression/GeneticMemoryIconLibrary.d.ts.map +1 -1
  174. package/dist/progression/GeneticMemoryPassives.d.ts.map +1 -1
  175. package/dist/progression/GeneticMemoryPersistence.d.ts +16 -0
  176. package/dist/progression/GeneticMemoryPersistence.d.ts.map +1 -0
  177. package/dist/progression/ProgressionTypes.d.ts.map +1 -1
  178. package/dist/progression/StoragePort.d.ts +6 -0
  179. package/dist/progression/StoragePort.d.ts.map +1 -0
  180. package/dist/render/CanvasRenderer.d.ts +23 -54
  181. package/dist/render/CanvasRenderer.d.ts.map +1 -1
  182. package/dist/render/CanvasRendererDrawings.d.ts +17 -0
  183. package/dist/render/CanvasRendererDrawings.d.ts.map +1 -0
  184. package/dist/render/CanvasRendererDrawingsBase1.d.ts +63 -0
  185. package/dist/render/CanvasRendererDrawingsBase1.d.ts.map +1 -0
  186. package/dist/render/CanvasRendererDrawingsBase10.d.ts +13 -0
  187. package/dist/render/CanvasRendererDrawingsBase10.d.ts.map +1 -0
  188. package/dist/render/CanvasRendererDrawingsBase11.d.ts +22 -0
  189. package/dist/render/CanvasRendererDrawingsBase11.d.ts.map +1 -0
  190. package/dist/render/CanvasRendererDrawingsBase2.d.ts +10 -0
  191. package/dist/render/CanvasRendererDrawingsBase2.d.ts.map +1 -0
  192. package/dist/render/CanvasRendererDrawingsBase3.d.ts +10 -0
  193. package/dist/render/CanvasRendererDrawingsBase3.d.ts.map +1 -0
  194. package/dist/render/CanvasRendererDrawingsBase4.d.ts +13 -0
  195. package/dist/render/CanvasRendererDrawingsBase4.d.ts.map +1 -0
  196. package/dist/render/CanvasRendererDrawingsBase5.d.ts +20 -0
  197. package/dist/render/CanvasRendererDrawingsBase5.d.ts.map +1 -0
  198. package/dist/render/CanvasRendererDrawingsBase6.d.ts +18 -0
  199. package/dist/render/CanvasRendererDrawingsBase6.d.ts.map +1 -0
  200. package/dist/render/CanvasRendererDrawingsBase7.d.ts +15 -0
  201. package/dist/render/CanvasRendererDrawingsBase7.d.ts.map +1 -0
  202. package/dist/render/CanvasRendererDrawingsBase8.d.ts +31 -0
  203. package/dist/render/CanvasRendererDrawingsBase8.d.ts.map +1 -0
  204. package/dist/render/CanvasRendererDrawingsBase9.d.ts +21 -0
  205. package/dist/render/CanvasRendererDrawingsBase9.d.ts.map +1 -0
  206. package/dist/render/ColorMath.d.ts +3 -0
  207. package/dist/render/ColorMath.d.ts.map +1 -0
  208. package/dist/render/CoreDeathEffectRenderer.d.ts +6 -0
  209. package/dist/render/CoreDeathEffectRenderer.d.ts.map +1 -1
  210. package/dist/render/CoreSeedRenderer.d.ts +18 -0
  211. package/dist/render/CoreSeedRenderer.d.ts.map +1 -0
  212. package/dist/render/CosmosBackgroundRenderer.d.ts +18 -1
  213. package/dist/render/CosmosBackgroundRenderer.d.ts.map +1 -1
  214. package/dist/render/EnemyRendererRegistry.d.ts.map +1 -1
  215. package/dist/render/EnemyShapeRenderer.d.ts +2 -3
  216. package/dist/render/EnemyShapeRenderer.d.ts.map +1 -1
  217. package/dist/render/JuiceEffects.d.ts +3 -0
  218. package/dist/render/JuiceEffects.d.ts.map +1 -1
  219. package/dist/render/OffscreenIndicatorRenderer.d.ts +13 -1
  220. package/dist/render/OffscreenIndicatorRenderer.d.ts.map +1 -1
  221. package/dist/render/PulpocrataRenderer.d.ts +31 -0
  222. package/dist/render/PulpocrataRenderer.d.ts.map +1 -0
  223. package/dist/render/PulpocrataTentaclePathRenderer.d.ts +34 -0
  224. package/dist/render/PulpocrataTentaclePathRenderer.d.ts.map +1 -0
  225. package/dist/render/PulpocrataTentacleRenderer.d.ts +31 -0
  226. package/dist/render/PulpocrataTentacleRenderer.d.ts.map +1 -0
  227. package/dist/render/SmasherGeometry.d.ts +14 -0
  228. package/dist/render/SmasherGeometry.d.ts.map +1 -0
  229. package/dist/render/SmasherRenderer.d.ts +14 -6
  230. package/dist/render/SmasherRenderer.d.ts.map +1 -1
  231. package/dist/render/TutorialArrowRenderer.d.ts +9 -0
  232. package/dist/render/TutorialArrowRenderer.d.ts.map +1 -1
  233. package/dist/render/renderers/HeavyEnemyRenderer.d.ts +6 -0
  234. package/dist/render/renderers/HeavyEnemyRenderer.d.ts.map +1 -1
  235. package/dist/render/renderers/MononreuronalVisuals.d.ts.map +1 -1
  236. package/dist/render/renderers/PiercerEnemyRenderer.d.ts.map +1 -1
  237. package/dist/render/renderers/SporeEnemyRenderer.d.ts +2 -0
  238. package/dist/render/renderers/SporeEnemyRenderer.d.ts.map +1 -1
  239. package/dist/strategies/FragmentClusterStrategy.d.ts +10 -0
  240. package/dist/strategies/FragmentClusterStrategy.d.ts.map +1 -1
  241. package/dist/strategies/HeavyShieldStrategy.d.ts +5 -0
  242. package/dist/strategies/HeavyShieldStrategy.d.ts.map +1 -1
  243. package/dist/strategies/PiercingCellStrategy.d.ts.map +1 -1
  244. package/dist/strategies/ToxicSporeStrategy.d.ts.map +1 -1
  245. package/dist/styles.css +1 -1
  246. package/dist/theme/ThemeManager.d.ts +6 -0
  247. package/dist/theme/ThemeManager.d.ts.map +1 -1
  248. package/dist/ui/BossCodexCanvas.d.ts +2 -4
  249. package/dist/ui/BossCodexCanvas.d.ts.map +1 -1
  250. package/dist/ui/CodexCanvasFactories.d.ts +9 -0
  251. package/dist/ui/CodexCanvasFactories.d.ts.map +1 -0
  252. package/dist/ui/CodexOverlay.d.ts +41 -28
  253. package/dist/ui/CodexOverlay.d.ts.map +1 -1
  254. package/dist/ui/CodexOverlayBookMarkup.d.ts +7 -0
  255. package/dist/ui/CodexOverlayBookMarkup.d.ts.map +1 -0
  256. package/dist/ui/CodexOverlayDetailMarkup.d.ts +5 -0
  257. package/dist/ui/CodexOverlayDetailMarkup.d.ts.map +1 -0
  258. package/dist/ui/CodexSpecimenCanvas.d.ts +3 -0
  259. package/dist/ui/CodexSpecimenCanvas.d.ts.map +1 -1
  260. package/dist/ui/CodexVariantCanvas.d.ts +1 -0
  261. package/dist/ui/CodexVariantCanvas.d.ts.map +1 -1
  262. package/dist/ui/CoreRosterOverlay.d.ts +24 -10
  263. package/dist/ui/CoreRosterOverlay.d.ts.map +1 -1
  264. package/dist/ui/CoreRosterRenderer.d.ts +28 -0
  265. package/dist/ui/CoreRosterRenderer.d.ts.map +1 -0
  266. package/dist/ui/CoreRunSummaryOverlay.d.ts.map +1 -1
  267. package/dist/ui/GeneticMemoryMapPan.d.ts.map +1 -1
  268. package/dist/ui/GeneticMemoryMapRenderer.d.ts.map +1 -1
  269. package/dist/ui/GeneticMemoryOverlay.d.ts.map +1 -1
  270. package/dist/ui/MissionEnemyCanvas.d.ts +10 -1
  271. package/dist/ui/MissionEnemyCanvas.d.ts.map +1 -1
  272. package/dist/ui/MissionsDrawer.d.ts +21 -1
  273. package/dist/ui/MissionsDrawer.d.ts.map +1 -1
  274. package/dist/ui/MissionsDrawerClasses.d.ts +5 -0
  275. package/dist/ui/MissionsDrawerClasses.d.ts.map +1 -0
  276. package/dist/ui/ObjectivesOverlay.d.ts +17 -14
  277. package/dist/ui/ObjectivesOverlay.d.ts.map +1 -1
  278. package/dist/ui/ObjectivesOverlayRenderer.d.ts +46 -0
  279. package/dist/ui/ObjectivesOverlayRenderer.d.ts.map +1 -0
  280. package/dist/ui/SettingsModal.d.ts +27 -9
  281. package/dist/ui/SettingsModal.d.ts.map +1 -1
  282. package/dist/ui/SettingsModalView.d.ts +37 -0
  283. package/dist/ui/SettingsModalView.d.ts.map +1 -0
  284. package/dist/ui/SettingsPreferences.d.ts +21 -0
  285. package/dist/ui/SettingsPreferences.d.ts.map +1 -0
  286. package/dist/ui/StartMenu.d.ts +22 -1
  287. package/dist/ui/StartMenu.d.ts.map +1 -1
  288. package/dist/ui/TutorialOverlay.d.ts.map +1 -1
  289. package/dist/ui/UiEnvironment.d.ts +6 -0
  290. package/dist/ui/UiEnvironment.d.ts.map +1 -0
  291. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import type { EnemyEntity } from "../entities/EnemyEntity";
2
+ import type { Vector2D } from "../types/game";
3
+ export declare const applyFlockingBehaviors: (enemies: EnemyEntity[], dt: number, corePos: Vector2D, wave: number) => void;
4
+ //# sourceMappingURL=FlockingBehaviors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FlockingBehaviors.d.ts","sourceRoot":"","sources":["../../src/director/FlockingBehaviors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,sBAAsB,GAAI,SAAS,WAAW,EAAE,EAAE,IAAI,MAAM,EAAE,SAAS,QAAQ,EAAE,MAAM,MAAM,KAAG,IAY5G,CAAC"}
@@ -3,19 +3,38 @@ import type { EntityFactory } from "../factory/EntityFactory";
3
3
  import type { TutorialDefinition } from "../content/ContentTypes";
4
4
  import type { Vector2D } from "../types/game";
5
5
  import type { Translations } from "../i18n/locales";
6
- export declare class InteractiveTutorial {
7
- private readonly factory;
8
- private definition;
9
- constructor(factory: EntityFactory, definition?: TutorialDefinition | null);
6
+ import type { TutorialPreferences } from "./TutorialPreferences";
7
+ import { type TutorialMechanicsFactory } from "./TutorialMechanicsFactory";
8
+ export interface InteractiveTutorialState {
9
+ readonly factory: EntityFactory;
10
+ definition: TutorialDefinition | null;
10
11
  isActive: boolean;
11
12
  showWarning: boolean;
12
- private primary;
13
- private secondary;
14
- private initialPrimaryPos;
15
- private initialSecondaryPos;
16
- private readonly corePosition;
17
- private waveTarget;
18
- private repellentWaveElapsed;
13
+ primary: EnemyEntity | null;
14
+ secondary: EnemyEntity | null;
15
+ initialPrimaryPos: Vector2D;
16
+ initialSecondaryPos: Vector2D;
17
+ readonly corePosition: Vector2D;
18
+ waveTarget: Vector2D | null;
19
+ repellentWaveElapsed: number;
20
+ isTutorialEnabled(): boolean;
21
+ }
22
+ export declare class InteractiveTutorial implements InteractiveTutorialState {
23
+ readonly factory: EntityFactory;
24
+ private readonly preferences;
25
+ definition: TutorialDefinition | null;
26
+ constructor(factory: EntityFactory, preferences: TutorialPreferences, definition?: TutorialDefinition | null, mechanicsFactory?: TutorialMechanicsFactory);
27
+ isActive: boolean;
28
+ showWarning: boolean;
29
+ primary: EnemyEntity | null;
30
+ secondary: EnemyEntity | null;
31
+ initialPrimaryPos: Vector2D;
32
+ initialSecondaryPos: Vector2D;
33
+ readonly corePosition: Vector2D;
34
+ waveTarget: Vector2D | null;
35
+ repellentWaveElapsed: number;
36
+ private readonly setup;
37
+ private readonly updates;
19
38
  setDefinition(definition: TutorialDefinition | null): void;
20
39
  hasDefinition(): boolean;
21
40
  isTutorialEnabled(): boolean;
@@ -23,19 +42,20 @@ export declare class InteractiveTutorial {
23
42
  getPrimary(): EnemyEntity | null;
24
43
  getSecondary(): EnemyEntity | null;
25
44
  getWaveTarget(): Vector2D | null;
45
+ private getPrimaryWaveTarget;
26
46
  getMechanic(): TutorialDefinition["mechanic"] | null;
27
47
  getStep(): 1 | 2;
48
+ private getDefaultStep;
28
49
  getInstructionKey(): keyof Translations;
29
50
  start(width: number, height: number, activeEnemies: EnemyEntity[]): void;
30
- update(dt: number, enemies: EnemyEntity[], width: number, height: number, onComplete: () => void, onForceRelease: () => void): void;
31
- private updateLauncher;
32
- private updateRepellent;
33
- private updateSmasher;
34
- private startRepellent;
35
- private startSmasher;
36
- private createEnemy;
37
- private isTooCloseToCore;
38
- private resetDummies;
51
+ update(options: {
52
+ dt: number;
53
+ enemies: EnemyEntity[];
54
+ width: number;
55
+ height: number;
56
+ onComplete: () => void;
57
+ onForceRelease: () => void;
58
+ }): void;
39
59
  complete(): void;
40
60
  }
41
61
  //# sourceMappingURL=InteractiveTutorial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,qBAAa,mBAAmB;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,UAAU;gBADD,OAAO,EAAE,aAAa,EAC/B,UAAU,GAAE,kBAAkB,GAAG,IAAW;IAGjD,QAAQ,UAAS;IACjB,WAAW,UAAS;IAC3B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,oBAAoB,CAAK;IAE1B,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IAK1D,aAAa,IAAI,OAAO;IAIxB,iBAAiB,IAAI,OAAO;IAQ5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM1C,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC,aAAa,IAAI,QAAQ,GAAG,IAAI;IAchC,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI;IAIpD,OAAO,IAAI,CAAC,GAAG,CAAC;IAWhB,iBAAiB,IAAI,MAAM,YAAY;IAMvC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAoCxE,MAAM,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,IAAI,EACtB,cAAc,EAAE,MAAM,IAAI,GAC3B,IAAI;IAkBP,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,aAAa;IA4CrB,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,YAAY;IA+Cb,QAAQ,IAAI,IAAI;CAQ1B"}
1
+ {"version":3,"file":"InteractiveTutorial.d.ts","sourceRoot":"","sources":["../../src/director/InteractiveTutorial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3G,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,QAAQ,CAAC;IAC5B,mBAAmB,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;IAChC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,IAAI,OAAO,CAAC;CAChC;AAED,qBAAa,mBAAoB,YAAW,wBAAwB;aAE5C,OAAO,EAAE,aAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW;IACrB,UAAU,EAAE,kBAAkB,GAAG,IAAI;gBAF5B,OAAO,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,EAC1C,UAAU,GAAE,kBAAkB,GAAG,IAAW,EACnD,gBAAgB,GAAE,wBAA2D;IAM1E,QAAQ,UAAS;IACjB,WAAW,UAAS;IACpB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAQ;IACnC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAQ;IACrC,iBAAiB,EAAE,QAAQ,CAAkB;IAC7C,mBAAmB,EAAE,QAAQ,CAAkB;IACtD,SAAgB,YAAY,EAAE,QAAQ,CAAkB;IACjD,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACnC,oBAAoB,SAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsD;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEzE,aAAa,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI;IAK1D,aAAa,IAAI,OAAO;IAIxB,iBAAiB,IAAI,OAAO;IAI5B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC,YAAY,IAAI,WAAW,GAAG,IAAI;IAIlC,aAAa,IAAI,QAAQ,GAAG,IAAI;IAMvC,OAAO,CAAC,oBAAoB;IAIrB,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI;IAIpD,OAAO,IAAI,CAAC,GAAG,CAAC;IAOvB,OAAO,CAAC,cAAc;IAIf,iBAAiB,IAAI,MAAM,YAAY;IAMvC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAIxE,MAAM,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI;IAIhJ,QAAQ,IAAI,IAAI;CAQ1B"}
@@ -1,17 +1,30 @@
1
1
  import type { EnemyEntity } from "../entities/EnemyEntity";
2
- import type { EnemyPool } from "../pool/EnemyPool";
2
+ import type { EnemyPoolPort } from "../pool/EnemyPool";
3
3
  import type { EntityFactory } from "../factory/EntityFactory";
4
4
  import type { Vector2D, EnemyType } from "../types/game";
5
5
  export type VariantResolver = (enemyId: EnemyType) => string | undefined;
6
+ export type SpawnerPatternOptions = {
7
+ algorithmId: string;
8
+ factory: EntityFactory;
9
+ pool: EnemyPoolPort;
10
+ enemyIds: readonly EnemyType[];
11
+ corePos: Vector2D;
12
+ width: number;
13
+ height: number;
14
+ variantResolver: VariantResolver;
15
+ };
6
16
  export declare class SpawnerPatterns {
7
17
  private static readonly algorithms;
8
- static spawn(factory: EntityFactory, pool: EnemyPool, algorithmId: string, enemyIds: readonly EnemyType[], corePos: Vector2D, width: number, height: number, variantResolver?: VariantResolver): EnemyEntity[];
18
+ static spawn(options: SpawnerPatternOptions): EnemyEntity[];
9
19
  static getOffscreenPosition(width: number, height: number): Vector2D;
10
- static spawnCircleOfDeath(factory: EntityFactory, pool: EnemyPool, enemyIds: readonly EnemyType[], corePos: Vector2D, width: number, height: number, variantResolver?: VariantResolver): EnemyEntity[];
11
- static spawnDenseCluster(factory: EntityFactory, pool: EnemyPool, enemyIds: readonly EnemyType[], width: number, height: number, corePos: Vector2D, variantResolver?: VariantResolver): EnemyEntity[];
12
- static spawnSineSnake(factory: EntityFactory, pool: EnemyPool, enemyIds: readonly EnemyType[], width: number, height: number, corePos: Vector2D, variantResolver?: VariantResolver): EnemyEntity[];
13
- static spawnDoubleSpiral(factory: EntityFactory, pool: EnemyPool, enemyIds: readonly EnemyType[], width: number, height: number, corePos: Vector2D, variantResolver?: VariantResolver): EnemyEntity[];
14
- static spawnMarchingWall(factory: EntityFactory, pool: EnemyPool, enemyIds: readonly EnemyType[], width: number, height: number, corePos: Vector2D, variantResolver?: VariantResolver): EnemyEntity[];
15
- static spawnCrossfireStreams(factory: EntityFactory, pool: EnemyPool, enemyIds: readonly EnemyType[], width: number, height: number, corePos: Vector2D, variantResolver?: VariantResolver): EnemyEntity[];
20
+ static spawnCircleOfDeath(options: SpawnerPatternOptions): EnemyEntity[];
21
+ static spawnDenseCluster(options: SpawnerPatternOptions): EnemyEntity[];
22
+ static spawnSineSnake(options: SpawnerPatternOptions): EnemyEntity[];
23
+ static spawnDoubleSpiral(options: SpawnerPatternOptions): EnemyEntity[];
24
+ static spawnMarchingWall(options: SpawnerPatternOptions): EnemyEntity[];
25
+ static spawnCrossfireStreams(options: SpawnerPatternOptions): EnemyEntity[];
26
+ private static spawnMany;
27
+ private static spawnEnemy;
28
+ private static getClusterCenter;
16
29
  }
17
30
  //# sourceMappingURL=SpawnerPatterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AAEzE,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAwEhC;WAEY,KAAK,CACf,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;WAcF,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;WAS7D,kBAAkB,CAC5B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;WA2BF,iBAAiB,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;WAoCF,cAAc,CACxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;WAsBF,iBAAiB,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;WAuBF,iBAAiB,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;WA2BF,qBAAqB,CAC/B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,SAAS,SAAS,EAAE,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,EACjB,eAAe,GAAE,eAAiC,GACnD,WAAW,EAAE;CA0BnB"}
1
+ {"version":3,"file":"SpawnerPatterns.d.ts","sourceRoot":"","sources":["../../src/director/SpawnerPatterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;CACpC,CAAC;AAWF,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAOhC;WAEY,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAIpD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;WAc7D,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAkBjE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAiBhE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAU7D,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAgBhE,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;WAahE,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE;IASlF,OAAO,CAAC,MAAM,CAAC,SAAS;IAUxB,OAAO,CAAC,MAAM,CAAC,UAAU;IAWzB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOlC"}
@@ -0,0 +1,9 @@
1
+ import type { InteractiveTutorialState } from "./InteractiveTutorial";
2
+ import { TutorialSetup } from "./TutorialSetup";
3
+ import { TutorialUpdateMechanics } from "./TutorialUpdateMechanics";
4
+ export interface TutorialMechanicsFactory {
5
+ createSetup(state: InteractiveTutorialState): TutorialSetup;
6
+ createUpdates(state: InteractiveTutorialState, setup: TutorialSetup): TutorialUpdateMechanics;
7
+ }
8
+ export declare const createTutorialMechanicsFactory: () => TutorialMechanicsFactory;
9
+ //# sourceMappingURL=TutorialMechanicsFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialMechanicsFactory.d.ts","sourceRoot":"","sources":["../../src/director/TutorialMechanicsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACrC,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,aAAa,CAAC;IAC5D,aAAa,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,aAAa,GAAG,uBAAuB,CAAC;CACjG;AAED,eAAO,MAAM,8BAA8B,QAAO,wBAGhD,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface TutorialPreferences {
2
+ isEnabled(): boolean;
3
+ setEnabled(enabled: boolean): void;
4
+ }
5
+ export declare class BrowserTutorialPreferences implements TutorialPreferences {
6
+ private readonly storage;
7
+ constructor(storage?: Storage | null);
8
+ isEnabled(): boolean;
9
+ setEnabled(enabled: boolean): void;
10
+ private static getStorage;
11
+ }
12
+ //# sourceMappingURL=TutorialPreferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialPreferences.d.ts","sourceRoot":"","sources":["../../src/director/TutorialPreferences.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEtB,OAAO,GAAE,OAAO,GAAG,IAA8C;IAI7E,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,OAAO,CAAC,MAAM,CAAC,UAAU;CAO5B"}
@@ -0,0 +1,17 @@
1
+ import type { EnemyEntity } from "../entities/EnemyEntity";
2
+ import type { Vector2D } from "../types/game";
3
+ import type { EnemyType } from "../types/game";
4
+ import type { InteractiveTutorialState } from "./InteractiveTutorial";
5
+ export declare class TutorialSetup {
6
+ private readonly tutorial;
7
+ constructor(tutorial: InteractiveTutorialState);
8
+ start(width: number, height: number, activeEnemies: EnemyEntity[]): void;
9
+ private startMechanic;
10
+ startRepellent(width: number, height: number, activeEnemies: EnemyEntity[]): void;
11
+ startSmasher(width: number, height: number, activeEnemies: EnemyEntity[]): void;
12
+ createEnemy(type: EnemyType, position: Vector2D, target: Vector2D): EnemyEntity;
13
+ isTooCloseToCore(enemy: EnemyEntity): boolean;
14
+ resetDummies(): void;
15
+ private configurePair;
16
+ }
17
+ //# sourceMappingURL=TutorialSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialSetup.d.ts","sourceRoot":"","sources":["../../src/director/TutorialSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,qBAAa,aAAa;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,wBAAwB;IAE/D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAa/E,OAAO,CAAC,aAAa;IAad,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAsBjF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI;IAY/E,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,WAAW;IAM/E,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAI7C,YAAY,IAAI,IAAI;IAgB3B,OAAO,CAAC,aAAa;CAcxB"}
@@ -0,0 +1,30 @@
1
+ import type { EnemyEntity } from "../entities/EnemyEntity";
2
+ import type { InteractiveTutorialState } from "./InteractiveTutorial";
3
+ import type { TutorialSetup } from "./TutorialSetup";
4
+ export interface TutorialUpdateOptions {
5
+ dt: number;
6
+ enemies: EnemyEntity[];
7
+ width: number;
8
+ height: number;
9
+ onComplete: () => void;
10
+ onForceRelease: () => void;
11
+ }
12
+ export declare class TutorialUpdateMechanics {
13
+ private readonly tutorial;
14
+ private readonly setup;
15
+ constructor(tutorial: InteractiveTutorialState, setup: TutorialSetup);
16
+ update(options: TutorialUpdateOptions): void;
17
+ private ensureEnemies;
18
+ private updateMechanic;
19
+ private updateLauncher;
20
+ private handleLauncherGrab;
21
+ private updateRepellent;
22
+ private completeRepellent;
23
+ private handleRepellentManipulation;
24
+ private updateSmasher;
25
+ private shouldReleaseSmasher;
26
+ private release;
27
+ private releaseWarning;
28
+ private isOutOfBounds;
29
+ }
30
+ //# sourceMappingURL=TutorialUpdateMechanics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TutorialUpdateMechanics.d.ts","sourceRoot":"","sources":["../../src/director/TutorialUpdateMechanics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,qBAAa,uBAAuB;IAE5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,QAAQ,EAAE,wBAAwB,EAClC,KAAK,EAAE,aAAa;IAGlC,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAOnD,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;CAGxB"}
@@ -1,21 +1,26 @@
1
1
  import type { Vector2D, EnemyType } from "../types/game";
2
2
  import type { EnemyEntity } from "../entities/EnemyEntity";
3
+ import type { EnemyPoolPort } from "../pool/EnemyPool";
3
4
  import type { EntityFactory } from "../factory/EntityFactory";
4
- import type { ContentRegistry } from "../content/ContentRegistry";
5
5
  import type { AreaDefinition } from "../content/ContentTypes";
6
- import type { UnlockState } from "../progression/ProgressionTypes";
6
+ import type { WaveSpawnResolver } from "./WaveSpawnResolver";
7
+ type WaveUpdateOptions = {
8
+ dt: number;
9
+ activeEnemies: EnemyEntity[];
10
+ width: number;
11
+ height: number;
12
+ corePos: Vector2D;
13
+ };
7
14
  export declare class WaveDirector {
8
15
  private readonly factory;
9
- private readonly content;
10
- private readonly unlockState?;
16
+ private readonly spawnResolver;
11
17
  wave: number;
12
- private pool;
18
+ private readonly pool;
13
19
  private spawnTimer;
14
20
  private waveTimer;
15
21
  private patternCooldown;
16
22
  private initialGracePeriod;
17
- private area;
18
- constructor(factory: EntityFactory, content: ContentRegistry, unlockState?: UnlockState | undefined);
23
+ constructor(factory: EntityFactory, spawnResolver: WaveSpawnResolver, pool: EnemyPoolPort);
19
24
  reset(): void;
20
25
  setArea(area: AreaDefinition | null): void;
21
26
  getAvailableEnemyIds(): ReadonlySet<EnemyType>;
@@ -23,16 +28,12 @@ export declare class WaveDirector {
23
28
  enemyId: EnemyType;
24
29
  color: string;
25
30
  }>;
31
+ update(options: WaveUpdateOptions): EnemyEntity | null;
26
32
  update(dt: number, activeEnemies: EnemyEntity[], width: number, height: number, corePos: Vector2D): EnemyEntity | null;
33
+ private updateWave;
27
34
  private spawnSingleEnemy;
28
35
  spawnBossMinion(origin: Vector2D, corePos: Vector2D, launchDirection?: Vector2D): EnemyEntity | null;
29
36
  private spawnPatternFormation;
30
- private getAvailableEnemyDefinitions;
31
- private getAvailablePatternEnemyIds;
32
- private getEnemyWeight;
33
- private getPatternWeight;
34
- private getVariantResolver;
35
- private selectVariantForSpawn;
36
- private applyFlockingBehaviors;
37
37
  }
38
+ export {};
38
39
  //# sourceMappingURL=WaveDirector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,qBAAa,YAAY;IAUjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAX1B,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,IAAI,CAA+B;gBAGtB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,WAAW,YAAA;IAKvC,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAK1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9E,MAAM,CACT,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,WAAW,EAAE,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,GAClB,WAAW,GAAG,IAAI;IAgCrB,OAAO,CAAC,gBAAgB;IA6BjB,eAAe,CAClB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,QAAQ,EACjB,eAAe,CAAC,EAAE,QAAQ,GAC3B,WAAW,GAAG,IAAI;IAuCrB,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,sBAAsB;CAqDjC"}
1
+ {"version":3,"file":"WaveDirector.d.ts","sourceRoot":"","sources":["../../src/director/WaveDirector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,KAAK,iBAAiB,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,qBAAa,YAAY;IAQjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAR3B,IAAI,EAAE,MAAM,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,kBAAkB,CAAe;gBAEpB,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,iBAAiB,EACjD,IAAI,EAAE,aAAa;IAKhB,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAK1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAI9E,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,GAAG,IAAI;IACtD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IAe7H,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,gBAAgB;IAejB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI;IAoB3G,OAAO,CAAC,qBAAqB;CAehC"}
@@ -0,0 +1,30 @@
1
+ import type { AreaDefinition, EnemyDefinition, SpawnerPatternDefinition } from "../content/ContentTypes";
2
+ import type { ContentRegistry } from "../content/ContentRegistry";
3
+ import type { UnlockState } from "../progression/ProgressionTypes";
4
+ import type { EnemyType } from "../types/game";
5
+ import type { VariantResolver } from "./SpawnerPatterns";
6
+ export interface SelectedSpawnPattern {
7
+ readonly pattern: SpawnerPatternDefinition;
8
+ readonly enemyIds: EnemyType[];
9
+ }
10
+ export declare class WaveSpawnResolver {
11
+ private readonly content;
12
+ private readonly unlockState;
13
+ private area;
14
+ constructor(content: ContentRegistry, unlockState: UnlockState | undefined);
15
+ setArea(area: AreaDefinition | null): void;
16
+ getAvailableEnemyIds(): ReadonlySet<EnemyType>;
17
+ getBossTentacleTargets(): ReadonlyArray<{
18
+ enemyId: EnemyType;
19
+ color: string;
20
+ }>;
21
+ getAvailableEnemyDefinitions(): EnemyDefinition[];
22
+ selectWeightedEnemy(definitions?: EnemyDefinition[]): EnemyType | null;
23
+ selectPattern(): SelectedSpawnPattern | null;
24
+ getVariantResolver(): VariantResolver;
25
+ private getAvailablePatternEnemyIds;
26
+ private getEnemyWeight;
27
+ private getPatternWeight;
28
+ private selectVariantForSpawn;
29
+ }
30
+ //# sourceMappingURL=WaveSpawnResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaveSpawnResolver.d.ts","sourceRoot":"","sources":["../../src/director/WaveSpawnResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;CAClC;AAED,qBAAa,iBAAiB;IAItB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJhC,OAAO,CAAC,IAAI,CAA+B;gBAGtB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,GAAG,SAAS;IAGlD,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAI1C,oBAAoB,IAAI,WAAW,CAAC,SAAS,CAAC;IAI9C,sBAAsB,IAAI,aAAa,CAAC;QAAE,OAAO,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9E,4BAA4B,IAAI,eAAe,EAAE;IASjD,mBAAmB,CAAC,WAAW,GAAE,eAAe,EAAwC,GAAG,SAAS,GAAG,IAAI;IAW3G,aAAa,IAAI,oBAAoB,GAAG,IAAI;IAe5C,kBAAkB,IAAI,eAAe;IAI5C,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,qBAAqB;CAWhC"}
@@ -0,0 +1,13 @@
1
+ export interface CoreRgbColor {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ }
6
+ export declare class CoreAppearanceController {
7
+ color: CoreRgbColor;
8
+ readonly powerUpColors: string[];
9
+ absorbPowerUpColor(hexColor: string, weight: number): void;
10
+ getColorHex(): string;
11
+ reset(): void;
12
+ }
13
+ //# sourceMappingURL=CoreAppearanceController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreAppearanceController.d.ts","sourceRoot":"","sources":["../../src/entities/CoreAppearanceController.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,wBAAwB;IAC1B,KAAK,EAAE,YAAY,CAA4B;IACtD,SAAgB,aAAa,EAAE,MAAM,EAAE,CAAM;IAEtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1D,WAAW,IAAI,MAAM;IAKrB,KAAK,IAAI,IAAI;CAIvB"}
@@ -1,35 +1,27 @@
1
1
  import type { Vector2D } from "../types/game";
2
- import type { GameConfigManager } from "../config/GameConfig";
2
+ import type { CoreConfig } from "../config/GameConfig";
3
3
  import type { CoreMechanic } from "../progression/CoreProgressionTypes";
4
+ import { type CoreRgbColor } from "./CoreAppearanceController";
4
5
  export declare class CoreEntity {
5
- private readonly configManager;
6
+ private readonly config;
6
7
  position: Vector2D;
7
8
  radius: number;
8
- integrity: number;
9
- maxIntegrity: number;
10
9
  pulsePhase: number;
11
10
  organicSeed: number;
12
- mechanic: CoreMechanic;
13
- repelDirection: Vector2D;
14
- repelHoverDirection: Vector2D;
15
- repelHoverCompression: number;
16
- repelPulse: number;
17
- smasherImpactsRemaining: number;
18
- smasherCooldownTimer: number;
19
- smasherImpactPulse: number;
20
- smasherBreakPulse: number;
21
- smasherRetractionOrigin: Vector2D | null;
22
- smasherArmColor: string;
23
- invulnerabilityTimer: number;
24
11
  maxInvulnerabilityDuration: number;
25
- customColor: {
26
- r: number;
27
- g: number;
28
- b: number;
29
- };
30
- powerUpCount: number;
31
- collectedPowerUpColors: string[];
32
- constructor(x: number, y: number, configManager: GameConfigManager);
12
+ private readonly mechanics;
13
+ private readonly appearance;
14
+ private readonly integrityController;
15
+ get customColor(): CoreRgbColor;
16
+ get powerUpCount(): number;
17
+ get collectedPowerUpColors(): readonly string[];
18
+ get integrity(): number;
19
+ get maxIntegrity(): number;
20
+ get invulnerabilityTimer(): number;
21
+ get mechanic(): CoreMechanic;
22
+ get repairProgress(): number;
23
+ get smasherImpactPulse(): number;
24
+ constructor(x: number, y: number, config: CoreConfig);
33
25
  absorbPowerUpColor(hexColor: string, weight?: number): void;
34
26
  setMechanic(mechanic: CoreMechanic): void;
35
27
  triggerRepel(direction: Vector2D): void;
@@ -46,7 +38,6 @@ export declare class CoreEntity {
46
38
  getColorHex(): string;
47
39
  update(dt: number): void;
48
40
  getMembraneRadius(angle: number): number;
49
- repairProgress: number;
50
41
  addKillRepair(): boolean;
51
42
  heal(amount?: number): boolean;
52
43
  addMaxRing(amount?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEntity.d.ts","sourceRoot":"","sources":["../../src/entities/CoreEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,qBAAa,UAAU;IA6Bf,OAAO,CAAC,QAAQ,CAAC,aAAa;IA5B3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAK;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAc;IACpC,cAAc,EAAE,QAAQ,CAAkB;IAC1C,mBAAmB,EAAE,QAAQ,CAAkB;IAC/C,qBAAqB,EAAE,MAAM,CAAK;IAClC,UAAU,EAAE,MAAM,CAAK;IACvB,uBAAuB,EAAE,MAAM,CAAK;IACpC,oBAAoB,EAAE,MAAM,CAAK;IACjC,kBAAkB,EAAE,MAAM,CAAK;IAC/B,iBAAiB,EAAE,MAAM,CAAK;IAC9B,uBAAuB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChD,eAAe,EAAE,MAAM,CAAa;IAEpC,oBAAoB,EAAE,MAAM,CAAK;IACjC,0BAA0B,EAAE,MAAM,CAAC;IAEnC,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAA4B;IAC5E,YAAY,EAAE,MAAM,CAAK;IACzB,sBAAsB,EAAE,MAAM,EAAE,CAAM;gBAGzC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACQ,aAAa,EAAE,iBAAiB;IAW9C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,IAAI;IAejE,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAUvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAcxD,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAQzB,oBAAoB,IAAI,OAAO;IAU/B,qBAAqB,IAAI,MAAM;IAK/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhE,4BAA4B,IAAI,QAAQ,GAAG,IAAI;IAe/C,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAOzB,WAAW,IAAI,MAAM;IAOrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAoBxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOxC,cAAc,EAAE,MAAM,CAAK;IAE3B,aAAa,IAAI,OAAO;IAgBxB,IAAI,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO;IASjC,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAKpC,UAAU,IAAI,OAAO;IAYrB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;CAwB3C"}
1
+ {"version":3,"file":"CoreEntity.d.ts","sourceRoot":"","sources":["../../src/entities/CoreEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAGzF,qBAAa,UAAU;IA6Cf,OAAO,CAAC,QAAQ,CAAC,MAAM;IA5CpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAK;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0B;IAE9D,IAAW,WAAW,IAAI,YAAY,CAErC;IACD,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,sBAAsB,IAAI,SAAS,MAAM,EAAE,CAErD;IACD,IAAW,SAAS,IAAI,MAAM,CAE7B;IACD,IAAW,YAAY,IAAI,MAAM,CAEhC;IACD,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAED,IAAW,QAAQ,IAAI,YAAY,CAElC;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;gBAGG,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACQ,MAAM,EAAE,UAAU;IAUhC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,IAAI;IAIjE,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAIvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAIxD,mBAAmB,IAAI,MAAM;IAI7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAIzB,oBAAoB,IAAI,OAAO;IAI/B,qBAAqB,IAAI,MAAM;IAI/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIhE,4BAA4B,IAAI,QAAQ,GAAG,IAAI;IAI/C,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAOzB,WAAW,IAAI,MAAM;IAIrB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMxB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOxC,aAAa,IAAI,OAAO;IAIxB,IAAI,CAAC,MAAM,GAAE,MAAU,GAAG,OAAO;IAMjC,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAIpC,UAAU,IAAI,OAAO;IAIrB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;CAS3C"}
@@ -0,0 +1,15 @@
1
+ import type { CoreConfig } from "../config/GameConfig";
2
+ export declare class CoreIntegrityController {
3
+ private readonly config;
4
+ integrity: number;
5
+ maxIntegrity: number;
6
+ invulnerabilityTimer: number;
7
+ constructor(config: CoreConfig);
8
+ update(dt: number): void;
9
+ addKillRepair(rate: number, addRepairProgress: (amount: number) => boolean): boolean;
10
+ heal(amount: number, resetRepairProgress: () => void): boolean;
11
+ addMaxRing(amount?: number): void;
12
+ takeDamage(): boolean;
13
+ reset(): void;
14
+ }
15
+ //# sourceMappingURL=CoreIntegrityController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreIntegrityController.d.ts","sourceRoot":"","sources":["../../src/entities/CoreIntegrityController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,uBAAuB;IAKb,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,SAAK;gBAEI,MAAM,EAAE,UAAU;IAK/C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAOpF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,IAAI,GAAG,OAAO;IAO9D,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,IAAI;IAKpC,UAAU,IAAI,OAAO;IAOrB,KAAK,IAAI,IAAI;CAKvB"}
@@ -0,0 +1,33 @@
1
+ import type { CoreConfig } from "../config/GameConfig";
2
+ import type { CoreMechanic } from "../progression/CoreProgressionTypes";
3
+ import type { Vector2D } from "../types/game";
4
+ export declare class CoreMechanicController {
5
+ private readonly config;
6
+ mechanic: CoreMechanic;
7
+ repelDirection: Vector2D;
8
+ repelHoverDirection: Vector2D;
9
+ repelHoverCompression: number;
10
+ repelPulse: number;
11
+ smasherImpactsRemaining: number;
12
+ smasherCooldownTimer: number;
13
+ smasherImpactPulse: number;
14
+ smasherBreakPulse: number;
15
+ smasherRetractionOrigin: Vector2D | null;
16
+ smasherArmColor: string;
17
+ repairProgress: number;
18
+ constructor(config: CoreConfig);
19
+ setMechanic(mechanic: CoreMechanic): void;
20
+ triggerRepel(direction: Vector2D): void;
21
+ setRepelHoverDirection(direction: Vector2D | null): void;
22
+ getRepelCompression(): number;
23
+ getRepelDirection(): Vector2D;
24
+ canSmasherGrab(): boolean;
25
+ consumeSmasherImpact(): boolean;
26
+ getSmasherArmStrength(): number;
27
+ startSmasherRetraction(origin: Vector2D, armColor: string): void;
28
+ getSmasherRetractionEndpoint(corePosition: Vector2D): Vector2D | null;
29
+ update(dt: number): void;
30
+ addRepairProgress(rate: number): boolean;
31
+ reset(): void;
32
+ }
33
+ //# sourceMappingURL=CoreMechanicController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreMechanicController.d.ts","sourceRoot":"","sources":["../../src/entities/CoreMechanicController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,qBAAa,sBAAsB;IAcZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbnC,QAAQ,EAAE,YAAY,CAAc;IACpC,cAAc,EAAE,QAAQ,CAAkB;IAC1C,mBAAmB,EAAE,QAAQ,CAAkB;IAC/C,qBAAqB,SAAK;IAC1B,UAAU,SAAK;IACf,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,SAAK;IACzB,kBAAkB,SAAK;IACvB,iBAAiB,SAAK;IACtB,uBAAuB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAChD,eAAe,SAAa;IAC5B,cAAc,SAAK;gBAEU,MAAM,EAAE,UAAU;IAI/C,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAIzC,YAAY,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAOvC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAWxD,mBAAmB,IAAI,MAAM;IAK7B,iBAAiB,IAAI,QAAQ;IAI7B,cAAc,IAAI,OAAO;IAIzB,oBAAoB,IAAI,OAAO;IAU/B,qBAAqB,IAAI,MAAM;IAK/B,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhE,4BAA4B,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAUrE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAYxB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQxC,KAAK,IAAI,IAAI;CAavB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EcosomaOrb.d.ts","sourceRoot":"","sources":["../../src/entities/EcosomaOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,UAAU;IACnB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,KAAK;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IAC1B,SAAgB,MAAM,MAAM;IAC5B,SAAgB,KAAK,YAAuB;IACrC,MAAM,UAAQ;IACd,WAAW,UAAS;IACpB,cAAc,UAAS;IAC9B,OAAO,CAAC,eAAe,CAAK;gBAET,QAAQ,EAAE,QAAQ;IAW9B,eAAe,IAAI,IAAI;IAOvB,MAAM,CACT,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,QAAQ,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACtB,IAAI;IAeP,OAAO,CAAC,gBAAgB;CA4B3B"}
1
+ {"version":3,"file":"EcosomaOrb.d.ts","sourceRoot":"","sources":["../../src/entities/EcosomaOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,UAAU;IACnB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,KAAK,KAAK;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IAC1B,SAAgB,MAAM,MAAM;IAC5B,SAAgB,KAAK,YAAuB;IACrC,MAAM,UAAQ;IACd,WAAW,UAAS;IACpB,cAAc,UAAS;IAC9B,OAAO,CAAC,eAAe,CAAK;gBAET,QAAQ,EAAE,QAAQ;IAW9B,eAAe,IAAI,IAAI;IAOvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAelG,OAAO,CAAC,gBAAgB;CAoB3B"}
@@ -58,6 +58,14 @@ export declare class EnemyEntity {
58
58
  triggerDissolveDeath(dropExperience?: boolean, sourceType?: EnemyType | null): void;
59
59
  triggerSliceDeath(angle: number, dropExperience?: boolean, sourceType?: EnemyType | null): void;
60
60
  update(dt: number): void;
61
+ private updateTimers;
62
+ private updateDeath;
63
+ private updateLaunchDelay;
64
+ private limitSpeed;
65
+ private updateRotation;
61
66
  reset(): void;
67
+ private resetFlags;
68
+ private resetEffects;
69
+ private resetVisuals;
62
70
  }
63
71
  //# sourceMappingURL=EnemyEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnemyEntity.d.ts","sourceRoot":"","sources":["../../src/entities/EnemyEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,qBAAa,WAAW;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAkB;IACpC,QAAQ,EAAE,QAAQ,CAAkB;IACpC,MAAM,EAAE,MAAM,CAAM;IACpB,IAAI,EAAE,SAAS,CAAM;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,MAAM,EAAE,OAAO,CAAS;IACxB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,cAAc,EAAE,OAAO,CAAS;IAChC,WAAW,EAAE,OAAO,CAAQ;IAC5B,sBAAsB,EAAE,OAAO,CAAQ;IACvC,kBAAkB,EAAE,OAAO,CAAQ;IACnC,0BAA0B,EAAE,OAAO,CAAS;IAC5C,QAAQ,EAAE,MAAM,CAAK;IACrB,KAAK,EAAE,MAAM,CAAa;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,UAAU,EAAE,eAAe,CAAU;IACrC,aAAa,EAAE,kBAAkB,CAAa;IAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC1C,YAAY,EAAE,QAAQ,EAAE,CAAM;IAC9B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IACxC,QAAQ,EAAE,aAAa,CAA0B;IACjD,UAAU,EAAE,MAAM,CAAM;IAExB,gBAAgB,EAAE,MAAM,CAAO;IAC/B,QAAQ,EAAE,MAAM,CAAO;IACvB,oBAAoB,EAAE,MAAM,CAAK;IACjC,iBAAiB,EAAE,MAAM,CAAK;IAC9B,kBAAkB,EAAE,OAAO,CAAS;IACpC,gBAAgB,EAAE,MAAM,CAAK;IAC7B,6BAA6B,EAAE,MAAM,CAAK;IAE1C,kBAAkB,EAAE,OAAO,CAAS;IACpC,WAAW,EAAE,MAAM,CAAK;IACxB,WAAW,EAAE,MAAM,CAAK;IACxB,eAAe,EAAE,eAAe,CAAU;IAC1C,oBAAoB,EAAE,MAAM,CAAK;IACjC,qBAAqB,EAAE,OAAO,CAAS;IACvC,oBAAoB,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9C,yBAAyB,EAAE,MAAM,CAAK;IACtC,sBAAsB,EAAE,MAAM,CAAK;IAEnC,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,SAAS,CAAU;IAC9B,UAAU,EAAE,MAAM,CAAK;IACvB,aAAa,EAAE,MAAM,CAAO;IAC5B,UAAU,EAAE,MAAM,CAAK;gBAElB,EAAE,EAAE,MAAM;IAIf,YAAY,IAAI,MAAM;IAItB,sBAAsB,IAAI,MAAM;IAIhC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IASlD,oBAAoB,CACvB,cAAc,GAAE,OAAe,EAC/B,UAAU,GAAE,SAAS,GAAG,IAAW,GACpC,IAAI;IAWA,iBAAiB,CACpB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,OAAe,EAC/B,UAAU,GAAE,SAAS,GAAG,IAAW,GACpC,IAAI;IAYA,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAuCxB,KAAK,IAAI,IAAI;CA0CvB"}
1
+ {"version":3,"file":"EnemyEntity.d.ts","sourceRoot":"","sources":["../../src/entities/EnemyEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAE9D,qBAAa,WAAW;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAkB;IACpC,QAAQ,EAAE,QAAQ,CAAkB;IACpC,MAAM,EAAE,MAAM,CAAM;IACpB,IAAI,EAAE,SAAS,CAAM;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACxC,MAAM,EAAE,OAAO,CAAS;IACxB,SAAS,EAAE,OAAO,CAAS;IAC3B,QAAQ,EAAE,OAAO,CAAS;IAC1B,cAAc,EAAE,OAAO,CAAS;IAChC,WAAW,EAAE,OAAO,CAAQ;IAC5B,sBAAsB,EAAE,OAAO,CAAQ;IACvC,kBAAkB,EAAE,OAAO,CAAQ;IACnC,0BAA0B,EAAE,OAAO,CAAS;IAC5C,QAAQ,EAAE,MAAM,CAAK;IACrB,KAAK,EAAE,MAAM,CAAa;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,UAAU,EAAE,eAAe,CAAU;IACrC,aAAa,EAAE,kBAAkB,CAAa;IAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAC1C,YAAY,EAAE,QAAQ,EAAE,CAAM;IAC9B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAQ;IACxC,QAAQ,EAAE,aAAa,CAA0B;IACjD,UAAU,EAAE,MAAM,CAAM;IAExB,gBAAgB,EAAE,MAAM,CAAO;IAC/B,QAAQ,EAAE,MAAM,CAAO;IACvB,oBAAoB,EAAE,MAAM,CAAK;IACjC,iBAAiB,EAAE,MAAM,CAAK;IAC9B,kBAAkB,EAAE,OAAO,CAAS;IACpC,gBAAgB,EAAE,MAAM,CAAK;IAC7B,6BAA6B,EAAE,MAAM,CAAK;IAE1C,kBAAkB,EAAE,OAAO,CAAS;IACpC,WAAW,EAAE,MAAM,CAAK;IACxB,WAAW,EAAE,MAAM,CAAK;IACxB,eAAe,EAAE,eAAe,CAAU;IAC1C,oBAAoB,EAAE,MAAM,CAAK;IACjC,qBAAqB,EAAE,OAAO,CAAS;IACvC,oBAAoB,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9C,yBAAyB,EAAE,MAAM,CAAK;IACtC,sBAAsB,EAAE,MAAM,CAAK;IAEnC,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,SAAS,CAAU;IAC9B,UAAU,EAAE,MAAM,CAAK;IACvB,aAAa,EAAE,MAAM,CAAO;IAC5B,UAAU,EAAE,MAAM,CAAK;gBAElB,EAAE,EAAE,MAAM;IAIf,YAAY,IAAI,MAAM;IAItB,sBAAsB,IAAI,MAAM;IAIhC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IASlD,oBAAoB,CAAC,cAAc,GAAE,OAAe,EAAE,UAAU,GAAE,SAAS,GAAG,IAAW,GAAG,IAAI;IAWhG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,EAAE,UAAU,GAAE,SAAS,GAAG,IAAW,GAAG,IAAI;IAY5G,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAW/B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,cAAc;IAMf,KAAK,IAAI,IAAI;IAMpB,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,YAAY;CAQvB"}
@@ -14,9 +14,7 @@ export declare class ExperienceOrb {
14
14
  mergePulse: number;
15
15
  absorbedByCore: boolean;
16
16
  private readonly config;
17
- private mergeTarget;
18
- private mergeStartPosition;
19
- private mergeElapsed;
17
+ private readonly lifecycle;
20
18
  constructor(position: Vector2D, value?: number, config?: ExperienceConfig);
21
19
  static mergeNearby(orbs: ExperienceOrb[], mergeDistance: number): void;
22
20
  static attractNearby(orbs: ExperienceOrb[], config: ExperienceConfig, dt: number): void;
@@ -24,8 +22,7 @@ export declare class ExperienceOrb {
24
22
  mergeWith(other: ExperienceOrb): void;
25
23
  update(dt: number, corePosition: Vector2D, coreRadius: number, absorptionSpeed: number): void;
26
24
  private updateAppearance;
27
- private getTierColor;
28
- private updateMergeAnimation;
29
- private static getCellKey;
25
+ getBaseRadius(): number;
26
+ private beginMerge;
30
27
  }
31
28
  //# sourceMappingURL=ExperienceOrb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExperienceOrb.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgB7D,qBAAa,aAAa;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,UAAU,EAAE,MAAM,CAAK;IACvB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,YAAY,CAAK;gBAGrB,QAAQ,EAAE,QAAQ,EAClB,KAAK,GAAE,MAAU,EACjB,MAAM,GAAE,gBAA4C;WAkB1C,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;WAsD/D,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IA4DvF,eAAe,IAAI,IAAI;IAMvB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAoCrC,MAAM,CACT,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,QAAQ,EACtB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACxB,IAAI;IAqCP,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,MAAM,CAAC,UAAU;CAG5B"}
1
+ {"version":3,"file":"ExperienceOrb.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAmB7D,qBAAa,aAAa;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,SAAS,EAAE,OAAO,CAAS;IAC3B,WAAW,EAAE,MAAM,CAAK;IACxB,UAAU,EAAE,MAAM,CAAK;IACvB,cAAc,EAAE,OAAO,CAAS;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEvC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,gBAA4C;WAkBzF,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;WAI/D,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIvF,eAAe,IAAI,IAAI;IAMvB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAyBrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAsBpG,OAAO,CAAC,gBAAgB;IAMjB,aAAa,IAAI,MAAM;IAI9B,OAAO,CAAC,UAAU;CAGrB"}
@@ -0,0 +1,7 @@
1
+ import type { ExperienceConfig } from "../config/GameConfig";
2
+ export interface ExperienceOrbAppearanceState {
3
+ readonly radius: number;
4
+ readonly color: string;
5
+ }
6
+ export declare const getExperienceOrbAppearance: (value: number, config: ExperienceConfig) => ExperienceOrbAppearanceState;
7
+ //# sourceMappingURL=ExperienceOrbAppearance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExperienceOrbAppearance.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrbAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,0BAA0B,GAAI,OAAO,MAAM,EAAE,QAAQ,gBAAgB,KAAG,4BAQpF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ExperienceConfig } from "../config/GameConfig";
2
+ import type { Vector2D } from "../types/game";
3
+ import type { ExperienceOrb } from "./ExperienceOrb";
4
+ export declare class ExperienceOrbLifecycle {
5
+ private readonly config;
6
+ private mergeTarget;
7
+ private mergeStartPosition;
8
+ private mergeElapsed;
9
+ constructor(config: ExperienceConfig);
10
+ beginMerge(orb: ExperienceOrb, target: ExperienceOrb): void;
11
+ updateMerge(orb: ExperienceOrb, dt: number): void;
12
+ updateAbsorption(orb: ExperienceOrb, corePosition: Vector2D, coreRadius: number, absorptionSpeed: number): boolean;
13
+ }
14
+ //# sourceMappingURL=ExperienceOrbLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExperienceOrbLifecycle.d.ts","sourceRoot":"","sources":["../../src/entities/ExperienceOrbLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,sBAAsB;IAKZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ1C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,YAAY,CAAK;gBAEW,MAAM,EAAE,gBAAgB;IAErD,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAS3D,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAyBjD,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO;CAc5H"}
@@ -0,0 +1,5 @@
1
+ import type { ExperienceConfig } from "../config/GameConfig";
2
+ import type { ExperienceOrb } from "./ExperienceOrb";
3
+ export declare const mergeNearbyOrbs: (orbs: ExperienceOrb[], mergeDistance: number) => void;
4
+ export declare const attractNearbyOrbs: (orbs: ExperienceOrb[], config: ExperienceConfig, dt: number) => void;
5
+ //# sourceMappingURL=ExperienceOrbSpatial.d.ts.map