@jolly-pixel/engine 1.3.0 → 2.1.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 (118) hide show
  1. package/README.md +19 -19
  2. package/dist/actor/Actor.d.ts +26 -15
  3. package/dist/actor/Actor.d.ts.map +1 -1
  4. package/dist/actor/Actor.js +108 -78
  5. package/dist/actor/Actor.js.map +1 -1
  6. package/dist/actor/ActorComponent.d.ts +12 -5
  7. package/dist/actor/ActorComponent.d.ts.map +1 -1
  8. package/dist/actor/ActorComponent.js +34 -11
  9. package/dist/actor/ActorComponent.js.map +1 -1
  10. package/dist/actor/ActorTree.d.ts +4 -3
  11. package/dist/actor/ActorTree.d.ts.map +1 -1
  12. package/dist/actor/ActorTree.js +10 -3
  13. package/dist/actor/ActorTree.js.map +1 -1
  14. package/dist/actor/Transform.d.ts +40 -27
  15. package/dist/actor/Transform.d.ts.map +1 -1
  16. package/dist/actor/Transform.js +150 -68
  17. package/dist/actor/Transform.js.map +1 -1
  18. package/dist/actor/index.d.ts +1 -0
  19. package/dist/actor/index.d.ts.map +1 -1
  20. package/dist/actor/index.js +1 -0
  21. package/dist/actor/index.js.map +1 -1
  22. package/dist/adapters/global.d.ts +3 -3
  23. package/dist/adapters/global.d.ts.map +1 -1
  24. package/dist/adapters/global.js +1 -1
  25. package/dist/adapters/global.js.map +1 -1
  26. package/dist/audio/AudioManager.d.ts +2 -2
  27. package/dist/audio/AudioManager.d.ts.map +1 -1
  28. package/dist/audio/AudioManager.js +2 -2
  29. package/dist/audio/AudioManager.js.map +1 -1
  30. package/dist/components/camera/Camera3DControls.js +4 -4
  31. package/dist/components/camera/Camera3DControls.js.map +1 -1
  32. package/dist/components/renderers/model/ModelRenderer.js +2 -2
  33. package/dist/components/renderers/model/ModelRenderer.js.map +1 -1
  34. package/dist/components/renderers/sprite/SpriteRenderer.class.js +2 -2
  35. package/dist/components/renderers/sprite/SpriteRenderer.class.js.map +1 -1
  36. package/dist/components/renderers/text/TextRenderer.class.js +3 -3
  37. package/dist/components/renderers/text/TextRenderer.class.js.map +1 -1
  38. package/dist/components/renderers/tiled/TileMapRenderer.js +2 -2
  39. package/dist/components/renderers/tiled/TileMapRenderer.js.map +1 -1
  40. package/dist/components/renderers/tiled/TileObject.js +4 -4
  41. package/dist/components/renderers/tiled/TileObject.js.map +1 -1
  42. package/dist/components/script/Behavior.d.ts +4 -3
  43. package/dist/components/script/Behavior.d.ts.map +1 -1
  44. package/dist/components/script/Behavior.js +0 -1
  45. package/dist/components/script/Behavior.js.map +1 -1
  46. package/dist/components/script/BehaviorInitializer.d.ts +5 -4
  47. package/dist/components/script/BehaviorInitializer.d.ts.map +1 -1
  48. package/dist/components/script/BehaviorInitializer.js +1 -2
  49. package/dist/components/script/BehaviorInitializer.js.map +1 -1
  50. package/dist/components/types.d.ts +2 -0
  51. package/dist/components/types.d.ts.map +1 -1
  52. package/dist/index.d.ts +1 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +1 -0
  55. package/dist/index.js.map +1 -1
  56. package/dist/systems/SceneManager.d.ts +28 -0
  57. package/dist/systems/SceneManager.d.ts.map +1 -0
  58. package/dist/systems/{Scene.js → SceneManager.js} +61 -22
  59. package/dist/systems/SceneManager.js.map +1 -0
  60. package/dist/systems/World.d.ts +46 -0
  61. package/dist/systems/World.d.ts.map +1 -0
  62. package/dist/systems/World.js +96 -0
  63. package/dist/systems/World.js.map +1 -0
  64. package/dist/systems/generators/IntegerIncrement.d.ts +6 -0
  65. package/dist/systems/generators/IntegerIncrement.d.ts.map +1 -0
  66. package/dist/systems/generators/IntegerIncrement.js +10 -0
  67. package/dist/systems/generators/IntegerIncrement.js.map +1 -0
  68. package/dist/systems/generators/PersistentIdIncrement.d.ts +8 -0
  69. package/dist/systems/generators/PersistentIdIncrement.d.ts.map +1 -0
  70. package/dist/systems/generators/PersistentIdIncrement.js +23 -0
  71. package/dist/systems/generators/PersistentIdIncrement.js.map +1 -0
  72. package/dist/systems/index.d.ts +4 -2
  73. package/dist/systems/index.d.ts.map +1 -1
  74. package/dist/systems/index.js +4 -2
  75. package/dist/systems/index.js.map +1 -1
  76. package/dist/systems/rendering/Renderer.d.ts +2 -0
  77. package/dist/systems/rendering/Renderer.d.ts.map +1 -1
  78. package/dist/systems/rendering/ThreeRenderer.d.ts +10 -6
  79. package/dist/systems/rendering/ThreeRenderer.d.ts.map +1 -1
  80. package/dist/systems/rendering/ThreeRenderer.js +64 -40
  81. package/dist/systems/rendering/ThreeRenderer.js.map +1 -1
  82. package/dist/{utils/types.d.ts → types.d.ts} +1 -0
  83. package/dist/types.d.ts.map +1 -0
  84. package/dist/types.js.map +1 -0
  85. package/dist/ui/UINode.d.ts +3 -2
  86. package/dist/ui/UINode.d.ts.map +1 -1
  87. package/dist/ui/UINode.js +6 -6
  88. package/dist/ui/UINode.js.map +1 -1
  89. package/dist/ui/UIRenderer.d.ts +6 -6
  90. package/dist/ui/UIRenderer.d.ts.map +1 -1
  91. package/dist/ui/UIRenderer.js +16 -17
  92. package/dist/ui/UIRenderer.js.map +1 -1
  93. package/dist/ui/UISprite.d.ts +3 -2
  94. package/dist/ui/UISprite.d.ts.map +1 -1
  95. package/dist/ui/UISprite.js +2 -3
  96. package/dist/ui/UISprite.js.map +1 -1
  97. package/dist/ui/UIText.d.ts +4 -3
  98. package/dist/ui/UIText.d.ts.map +1 -1
  99. package/dist/ui/UIText.js.map +1 -1
  100. package/dist/ui/common.d.ts +2 -0
  101. package/dist/ui/common.d.ts.map +1 -0
  102. package/dist/ui/common.js +2 -0
  103. package/dist/ui/common.js.map +1 -0
  104. package/dist/utils/createViewHelper.d.ts +1 -1
  105. package/dist/utils/createViewHelper.d.ts.map +1 -1
  106. package/dist/utils/createViewHelper.js +4 -4
  107. package/dist/utils/createViewHelper.js.map +1 -1
  108. package/package.json +1 -1
  109. package/dist/systems/GameInstance.d.ts +0 -34
  110. package/dist/systems/GameInstance.d.ts.map +0 -1
  111. package/dist/systems/GameInstance.js +0 -63
  112. package/dist/systems/GameInstance.js.map +0 -1
  113. package/dist/systems/Scene.d.ts +0 -30
  114. package/dist/systems/Scene.d.ts.map +0 -1
  115. package/dist/systems/Scene.js.map +0 -1
  116. package/dist/utils/types.d.ts.map +0 -1
  117. package/dist/utils/types.js.map +0 -1
  118. /package/dist/{utils/types.js → types.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AudioManager.d.ts","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAMrC,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChF,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpG,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;CACpE,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,kBAAmB,YAAW,YAAY;;IAIrD,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,YAAY,GACzB,kBAAkB;gBAOnB,OAAO,GAAE,yBAA8B;IAyBnC,SAAS,CACb,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAOjB,mBAAmB,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;IAOjC,YAAY,CACV,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe;CAQ7C"}
1
+ {"version":3,"file":"AudioManager.d.ts","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAMrC,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChF,mBAAmB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACpG,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;CACpE,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,kBAAmB,YAAW,YAAY;;IAIrD,MAAM,CAAC,SAAS,CACd,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GACrB,kBAAkB;gBAOnB,OAAO,GAAE,yBAA8B;IAyBnC,SAAS,CACb,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAOjB,mBAAmB,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;IAOjC,YAAY,CACV,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,eAAe;CAQ7C"}
@@ -8,9 +8,9 @@ const kDefaultLoop = false;
8
8
  export class GlobalAudioManager {
9
9
  #listener;
10
10
  #audioService;
11
- static fromGameInstance(gameInstance) {
11
+ static fromWorld(world) {
12
12
  return new GlobalAudioManager({
13
- listener: gameInstance.audio.listener
13
+ listener: world.audio.listener
14
14
  });
15
15
  }
16
16
  constructor(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"AudioManager.js","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,YAAY,EAEb,MAAM,6BAA6B,CAAC;AAErC,YAAY;AACZ,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,YAAY,GAAG,KAAK,CAAC;AAyB3B,MAAM,OAAO,kBAAkB;IAC7B,SAAS,CAAuB;IAChC,aAAa,CAAe;IAE5B,MAAM,CAAC,gBAAgB,CACrB,YAA0B;QAE1B,OAAO,IAAI,kBAAkB,CAAC;YAC5B,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;SACtC,CAAC,CAAC;IACL,CAAC;IAED,YACE,UAAqC,EAAE;QAEvC,MAAM,EACJ,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,EACpC,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC9C,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,eAAe,CACb,KAA0C,EAC1C,OAA4B;QAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QAEvE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;QAE3D,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAW,EACX,UAA+B,EAAE;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,GAAW,EACX,UAA+B,EAAE;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CACV,KAA0C;QAE1C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"AudioManager.js","sourceRoot":"","sources":["../../src/audio/AudioManager.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAEN,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,YAAY,EAEb,MAAM,6BAA6B,CAAC;AAErC,YAAY;AACZ,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,YAAY,GAAG,KAAK,CAAC;AAyB3B,MAAM,OAAO,kBAAkB;IAC7B,SAAS,CAAuB;IAChC,aAAa,CAAe;IAE5B,MAAM,CAAC,SAAS,CACd,KAAsB;QAEtB,OAAO,IAAI,kBAAkB,CAAC;YAC5B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,YACE,UAAqC,EAAE;QAEvC,MAAM,EACJ,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE,EACpC,YAAY,GAAG,IAAI,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC9C,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,eAAe,CACb,KAA0C,EAC1C,OAA4B;QAE5B,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,YAAY,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;QAEvE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC;QAE3D,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAW,EACX,UAA+B,EAAE;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,GAAW,EACX,UAA+B,EAAE;QAEjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CACV,KAA0C;QAE1C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACtB,CAAC;CACF"}
@@ -25,8 +25,8 @@ export class Camera3DControls extends Behavior {
25
25
  this.maxRollDown = options.maxRollDown ?? -Math.PI / 2;
26
26
  this.#rotationSpeed = options.rotationSpeed ?? 0.004;
27
27
  this.#movementSpeed = options.speed ?? 20;
28
- this.actor.gameInstance.renderer.addRenderComponent(this.camera);
29
- this.camera.add(this.actor.gameInstance.audio.threeAudioListener);
28
+ this.actor.world.renderer.addRenderComponent(this.camera);
29
+ this.camera.add(this.actor.world.audio.threeAudioListener);
30
30
  }
31
31
  set speed(speed) {
32
32
  this.#movementSpeed = THREE.MathUtils.clamp(speed, 0.1, Infinity);
@@ -35,7 +35,7 @@ export class Camera3DControls extends Behavior {
35
35
  this.#rotationSpeed = THREE.MathUtils.clamp(speed, 0.1, Infinity);
36
36
  }
37
37
  #rotate() {
38
- const mouseDelta = this.actor.gameInstance.input.getMouseDelta(true);
38
+ const mouseDelta = this.actor.world.input.getMouseDelta(true);
39
39
  const euler = new THREE.Euler(0, 0, 0, "YXZ");
40
40
  euler.setFromQuaternion(this.camera.quaternion);
41
41
  euler.y -= mouseDelta.x * this.#rotationSpeed;
@@ -44,7 +44,7 @@ export class Camera3DControls extends Behavior {
44
44
  this.camera.quaternion.setFromEuler(euler);
45
45
  }
46
46
  update() {
47
- const { input } = this.actor.gameInstance;
47
+ const { input } = this.actor.world;
48
48
  const vector = new THREE.Vector3(0);
49
49
  if (input.isKeyDown(this.#bindings.forward)) {
50
50
  vector.z -= 1;
@@ -1 +1 @@
1
- {"version":3,"file":"Camera3DControls.js","sourceRoot":"","sources":["../../../src/components/camera/Camera3DControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Camera3DControls.js","sourceRoot":"","sources":["../../../src/components/camera/Camera3DControls.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export class ModelRenderer extends ActorComponent {
30
30
  if (this.#debug) {
31
31
  console.log({ object, animations });
32
32
  }
33
- this.actor.threeObject.add(object);
33
+ this.actor.object3D.add(object);
34
34
  this.#object = object;
35
35
  this.animation.setMixer(new THREE.AnimationMixer(this.#object));
36
36
  this.animation.setClips(animations);
@@ -42,7 +42,7 @@ export class ModelRenderer extends ActorComponent {
42
42
  this.animation.update(deltaTime);
43
43
  }
44
44
  destroy() {
45
- this.actor.threeObject.remove(this.#object);
45
+ this.actor.object3D.remove(this.#object);
46
46
  super.destroy();
47
47
  }
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/model/ModelRenderer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAgB7B,MAAM,OAAO,aAAc,SAAQ,cAAmB;IACpD,MAAM,CAA2B;IACjC,OAAO,CAAsC;IAC7C,MAAM,GAAG,KAAK,CAAC;IAEf,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAEjC,YACE,KAAiB,EACjB,OAA6B;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QAErC,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACpC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CACJ,SAAiB;QAEjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"ModelRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/model/ModelRenderer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAgB7B,MAAM,OAAO,aAAc,SAAQ,cAAmB;IACpD,MAAM,CAA2B;IACjC,OAAO,CAAsC;IAC7C,MAAM,GAAG,KAAK,CAAC;IAEf,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAEjC,YACE,KAAiB,EACjB,OAA6B;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QAErC,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QACpC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CACrB,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,CACJ,SAAiB;QAEjB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -48,7 +48,7 @@ export class SpriteRenderer extends ActorComponent {
48
48
  this.threeObject.material.needsUpdate = true;
49
49
  }
50
50
  start() {
51
- this.actor.threeObject.add(this.threeObject);
51
+ this.actor.object3D.add(this.threeObject);
52
52
  this.threeObject.updateMatrixWorld(false);
53
53
  this.setFrame(0);
54
54
  }
@@ -67,7 +67,7 @@ export class SpriteRenderer extends ActorComponent {
67
67
  }
68
68
  }
69
69
  destroy() {
70
- this.actor.threeObject.remove(this.threeObject);
70
+ this.actor.object3D.remove(this.threeObject);
71
71
  this.texture.dispose();
72
72
  this.threeObject.clear();
73
73
  super.destroy();
@@ -1 +1 @@
1
- {"version":3,"file":"SpriteRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/sprite/SpriteRenderer.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpriteRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/sprite/SpriteRenderer.class.ts"],"names":[],"mappings":"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"}
@@ -32,12 +32,12 @@ export class TextRenderer extends ActorComponent {
32
32
  this.text.dispose();
33
33
  }
34
34
  updateMesh() {
35
- for (const child of this.actor.threeObject.children) {
36
- isMeshWithGeometry(child) && this.actor.threeObject.remove(child);
35
+ for (const child of this.actor.object3D.children) {
36
+ isMeshWithGeometry(child) && this.actor.object3D.remove(child);
37
37
  }
38
38
  const mesh = this.text.mesh;
39
39
  if (mesh) {
40
- this.actor.threeObject.add(mesh);
40
+ this.actor.object3D.add(mesh);
41
41
  }
42
42
  }
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TextRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/text/TextRenderer.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,MAAM,EAEP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAa,MAAM,aAAa,CAAC;AAO9C,MAAM,OAAO,YAAa,SAAQ,cAAmB;IACnD,MAAM,CAA0B;IAEhC,IAAI,CAAS;IAEb,YACE,KAAiB,EACjB,OAA4B;QAE5B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;QAEH,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,EACzC,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC;YACrB,QAAQ;YACR,mBAAmB;SACpB,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YACpD,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,MAAsB;IAEtB,OAAO,MAAM,YAAY,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,CAAC,cAAc,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"TextRenderer.class.js","sourceRoot":"","sources":["../../../../src/components/renderers/text/TextRenderer.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,MAAM,EAEP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAa,MAAM,aAAa,CAAC;AAO9C,MAAM,OAAO,YAAa,SAAQ,cAAmB;IACnD,MAAM,CAA0B;IAEhC,IAAI,CAAS;IAEb,YACE,KAAiB,EACjB,OAA4B;QAE5B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;QAEH,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,mBAAmB,EACnB,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,EACzC,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC;YACrB,QAAQ;YACR,mBAAmB;SACpB,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAED,UAAU;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACjD,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,MAAsB;IAEtB,OAAO,MAAM,YAAY,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,CAAC,cAAc,CAAC;AACzF,CAAC"}
@@ -27,14 +27,14 @@ export class TiledMapRenderer extends ActorComponent {
27
27
  const texture = TileSet.find(tilesets, tileId)?.getTileTexture(tileId) ?? null;
28
28
  const cube = new TileMapCube(texture);
29
29
  cube.position.set(position.x, position.y, position.z);
30
- this.actor.threeObject.add(cube);
30
+ this.actor.object3D.add(cube);
31
31
  }
32
32
  }
33
33
  for (const layer of TileObject.fromTileMap(tilemap)) {
34
34
  layer.createActors(this.actor);
35
35
  }
36
36
  if (this.#orientation === "top-down") {
37
- this.actor.threeObject.rotateX(-Math.PI / 2);
37
+ this.actor.object3D.rotateX(-Math.PI / 2);
38
38
  }
39
39
  }
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TileMapRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileMapRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMapRenderer.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileMapRenderer.ts"],"names":[],"mappings":"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"}
@@ -26,18 +26,18 @@ export class TileObject {
26
26
  }
27
27
  createActors(parent) {
28
28
  for (const object of this.layer.objects) {
29
- const childrenActor = new Actor(parent.gameInstance, {
29
+ const childrenActor = new Actor(parent.world, {
30
30
  name: object.name,
31
31
  parent
32
32
  });
33
- childrenActor.threeObject.position.set(object.x / this.width, object.y / this.height, this.zIndex);
33
+ childrenActor.object3D.position.set(object.x / this.width, object.y / this.height, this.zIndex);
34
34
  if (object.rotation !== 0) {
35
35
  const rotationRadians = (object.rotation * Math.PI) / 180;
36
- childrenActor.threeObject.rotation.z = -rotationRadians;
36
+ childrenActor.object3D.rotation.z = -rotationRadians;
37
37
  }
38
38
  if (object.width > 0 && object.height > 0) {
39
39
  const visualBox = this.#createObjectVisualization(object);
40
- childrenActor.threeObject.add(visualBox);
40
+ childrenActor.object3D.add(visualBox);
41
41
  }
42
42
  }
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TileObject.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileObject.js","sourceRoot":"","sources":["../../../../src/components/renderers/tiled/TileObject.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import * as THREE from "three";
2
+ import type { WorldDefaultContext } from "../../systems/World.ts";
2
3
  import { Actor, ActorComponent } from "../../actor/index.ts";
3
4
  export type BehaviorPropertiesValue = string | string[] | number | number[] | boolean | boolean[] | THREE.Vector2 | THREE.Vector3;
4
5
  export type BehaviorProperties = Record<string, BehaviorPropertiesValue>;
5
6
  export interface BehaviorOptions {
6
- initializer?: (behavior: Behavior) => void;
7
+ initializer?: (behavior: Behavior<any, any>) => void;
7
8
  }
8
- export declare class Behavior<T extends BehaviorProperties = Record<string, BehaviorPropertiesValue>, TContext = Record<string, unknown>> extends ActorComponent<TContext> {
9
+ export declare class Behavior<T extends BehaviorProperties = Record<string, BehaviorPropertiesValue>, TContext = WorldDefaultContext> extends ActorComponent<TContext> {
9
10
  #private;
10
- constructor(actor: Actor<any>, options?: BehaviorOptions);
11
+ constructor(actor: Actor<TContext>, options?: BehaviorOptions);
11
12
  setProperty<K extends keyof T = keyof T>(propertyName: K, value: T[K]): void;
12
13
  getProperty<K extends keyof T = keyof T>(propertyName: K, defaultValue: T[K]): T[K];
13
14
  mergeProperties(defaultProperties?: Partial<T>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Behavior.d.ts","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,MAAM,EAAE,GACR,OAAO,GACP,OAAO,EAAE,GACT,KAAK,CAAC,OAAO,GACb,KAAK,CAAC,OAAO,CAAC;AAClB,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC5C;AAED,qBAAa,QAAQ,CACnB,CAAC,SAAS,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACtE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAClC,SAAQ,cAAc,CAAC,QAAQ,CAAC;;gBAI9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,GAAE,eAAoB;IAkB/B,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GACV,IAAI;IAIP,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC;IAIP,eAAe,CACb,iBAAiB,GAAE,OAAO,CAAC,CAAC,CAAuB;IAK5C,OAAO,IAAI,IAAI;CAezB"}
1
+ {"version":3,"file":"Behavior.d.ts","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,MAAM,EAAE,GACR,MAAM,GACN,MAAM,EAAE,GACR,OAAO,GACP,OAAO,EAAE,GACT,KAAK,CAAC,OAAO,GACb,KAAK,CAAC,OAAO,CAAC;AAClB,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,QAAQ,CACnB,CAAC,SAAS,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACtE,QAAQ,GAAG,mBAAmB,CAC9B,SAAQ,cAAc,CAAC,QAAQ,CAAC;;gBAI9B,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EACtB,OAAO,GAAE,eAAoB;IAkB/B,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,CAAC,EACf,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GACV,IAAI;IAIP,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC;IAIP,eAAe,CACb,iBAAiB,GAAE,OAAO,CAAC,CAAC,CAAuB;IAK5C,OAAO,IAAI,IAAI;CAezB"}
@@ -1,6 +1,5 @@
1
1
  // Import Third-party Dependencies
2
2
  import * as THREE from "three";
3
- // Import Internal Dependencies
4
3
  import { Actor, ActorComponent } from "../../actor/index.js";
5
4
  import { BehaviorInitializer } from "./BehaviorInitializer.js";
6
5
  export class Behavior extends ActorComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"Behavior.js","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,+BAA+B;AAC/B,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiB/D,MAAM,OAAO,QAGX,SAAQ,cAAwB;IAChC,WAAW,GAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,YACE,KAAiB,EACjB,UAA2B,EAAE;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,WAAW,GAAG,0BAA0B,EAAE,GAAG,OAAO,CAAC;QAE7D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,WAAW,CACT,YAAe,EACf,KAAW;QAEX,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,WAAW,CACT,YAAe,EACf,YAAkB;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC;IACxD,CAAC;IAED,eAAe,CACb,oBAAgC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAEQ,OAAO;QACd,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAED,SAAS,0BAA0B,CACjC,QAAkB;IAElB,kEAAkE;IAClE,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"Behavior.js","sourceRoot":"","sources":["../../../src/components/script/Behavior.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EACL,KAAK,EACL,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAiB/D,MAAM,OAAO,QAGX,SAAQ,cAAwB;IAChC,WAAW,GAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,YACE,KAAsB,EACtB,UAA2B,EAAE;QAE7B,KAAK,CAAC;YACJ,KAAK;YACL,QAAQ,EAAE,gBAAgB;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,WAAW,GAAG,0BAA0B,EAAE,GAAG,OAAO,CAAC;QAE7D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,WAAW,CACT,YAAe,EACf,KAAW;QAEX,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,WAAW,CACT,YAAe,EACf,YAAkB;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC;IACxD,CAAC;IAED,eAAe,CACb,oBAAgC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QAEnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAEQ,OAAO;QACd,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAED,SAAS,0BAA0B,CACjC,QAA4B;IAE5B,kEAAkE;IAClE,UAAU,CAAC,GAAG,EAAE;QACd,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,14 +1,15 @@
1
1
  import "reflect-metadata";
2
2
  import { Behavior } from "./Behavior.ts";
3
3
  import { type BehaviorMetadata } from "./BehaviorDecorators.ts";
4
- import { type ConsoleAdapter } from "../../adapters/console.ts";
4
+ import type { WorldDefaultContext } from "../../systems/World.ts";
5
+ import type { ConsoleAdapter } from "../../adapters/console.ts";
5
6
  export interface BehaviorInitializerOptions {
6
7
  consoleAdapter?: ConsoleAdapter;
7
8
  }
8
- export declare class BehaviorInitializer {
9
+ export declare class BehaviorInitializer<TContext extends WorldDefaultContext> {
9
10
  #private;
10
- static for(behavior: Behavior): BehaviorInitializer | null;
11
- constructor(behavior: Behavior, metadata: BehaviorMetadata, options?: BehaviorInitializerOptions);
11
+ static for<TContext extends WorldDefaultContext>(behavior: Behavior<any, TContext>): BehaviorInitializer<TContext> | null;
12
+ constructor(behavior: Behavior<any, any>, metadata: BehaviorMetadata, options?: BehaviorInitializerOptions);
12
13
  get behaviorName(): string;
13
14
  load(): void;
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviorInitializer.d.ts","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgBhE,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,mBAAmB;;IAK9B,MAAM,CAAC,GAAG,CACR,QAAQ,EAAE,QAAQ,GACjB,mBAAmB,GAAG,IAAI;gBAW3B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE,0BAA+B;IAS1C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,IAAI,IAAI;CAgFb"}
1
+ {"version":3,"file":"BehaviorInitializer.d.ts","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgBhE,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,mBAAmB,CAC9B,QAAQ,SAAS,mBAAmB;;IAMpC,MAAM,CAAC,GAAG,CAAC,QAAQ,SAAS,mBAAmB,EAC7C,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAChC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;gBAWrC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,GAAE,0BAA+B;IAS1C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,IAAI,IAAI;CAgFb"}
@@ -5,7 +5,6 @@ import "reflect-metadata";
5
5
  import { Input } from "../../controls/Input.class.js";
6
6
  import { Behavior } from "./Behavior.js";
7
7
  import { getBehaviorMetadata } from "./BehaviorDecorators.js";
8
- import {} from "../../adapters/console.js";
9
8
  // CONSTANTS
10
9
  const kDefaultValues = {
11
10
  string: "",
@@ -46,7 +45,7 @@ export class BehaviorInitializer {
46
45
  this.#resolveInputListeners();
47
46
  }
48
47
  #resolveInputListeners() {
49
- const { input } = this.#behavior.actor.gameInstance;
48
+ const { input } = this.#behavior.actor.world;
50
49
  const metadata = Reflect.getMetadata(Input.Metadata, this.#behavior) ?? [];
51
50
  for (const { type, methodName } of metadata) {
52
51
  if (!(methodName in this.#behavior)) {
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviorInitializer.js","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BehaviorInitializer.js","sourceRoot":"","sources":["../../../src/components/script/BehaviorInitializer.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ export type FreeComponentEnum = StrictComponentEnum | (string & {});
4
4
  export interface Component {
5
5
  actor: Actor<any>;
6
6
  typeName: FreeComponentEnum;
7
+ needUpdate: boolean;
7
8
  awake?(): void;
8
9
  start?(): void;
9
10
  update?(deltaTime: number): void;
11
+ fixedUpdate?(deltaTime: number): void;
10
12
  destroy(): void;
11
13
  }
12
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAE5B,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,cAAc,CAAC;AAEnB,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IAEpB,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export * from "./audio/GlobalAudio.ts";
8
8
  export * from "./controls/CombinedInput.ts";
9
9
  export * from "./ui/index.ts";
10
10
  export * from "./utils/index.ts";
11
+ export * as Types from "./types.ts";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -8,4 +8,5 @@ export * from "./audio/GlobalAudio.js";
8
8
  export * from "./controls/CombinedInput.js";
9
9
  export * from "./ui/index.js";
10
10
  export * from "./utils/index.js";
11
+ export * as Types from "./types.js";
11
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
@@ -0,0 +1,28 @@
1
+ import * as THREE from "three";
2
+ import { EventEmitter } from "@posva/event-emitter";
3
+ import { Actor, ActorComponent, ActorTree } from "../actor/index.ts";
4
+ import type { WorldDefaultContext } from "./World.ts";
5
+ import type { Component } from "../components/types.ts";
6
+ export type SceneEvents = {
7
+ awake: [];
8
+ };
9
+ export declare class SceneManager<TContext = WorldDefaultContext> extends EventEmitter<SceneEvents> {
10
+ #private;
11
+ default: THREE.Scene;
12
+ componentsToBeStarted: Component[];
13
+ componentsToBeDestroyed: Component[];
14
+ readonly tree: ActorTree<TContext>;
15
+ constructor(scene?: THREE.Scene);
16
+ getSource(): THREE.Scene<THREE.Object3DEventMap>;
17
+ awake(): void;
18
+ beginFrame(): void;
19
+ fixedUpdate(deltaTime: number): void;
20
+ update(deltaTime: number): void;
21
+ endFrame(): void;
22
+ destroyActor(actor: Actor<TContext>): void;
23
+ registerActor(actor: Actor<TContext>): void;
24
+ unregisterActor(actor: Actor<TContext>): void;
25
+ getActor(name: string): Actor<TContext> | null;
26
+ destroyComponent(component: ActorComponent<TContext>): void;
27
+ }
28
+ //# sourceMappingURL=SceneManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneManager.d.ts","sourceRoot":"","sources":["../../src/systems/SceneManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACL,KAAK,EACL,cAAc,EACd,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,qBAAa,YAAY,CACvB,QAAQ,GAAG,mBAAmB,CAC9B,SAAQ,YAAY,CAAC,WAAW,CAAC;;IACjC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;IAErB,qBAAqB,EAAE,SAAS,EAAE,CAAM;IACxC,uBAAuB,EAAE,SAAS,EAAE,CAAM;IAM1C,QAAQ,CAAC,IAAI,sBAGV;gBAGD,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK;IAMrB,SAAS;IAIT,KAAK;IAUL,UAAU;IAmBV,WAAW,CACT,SAAS,EAAE,MAAM;IAOnB,MAAM,CACJ,SAAS,EAAE,MAAM;IAOnB,QAAQ;IAkBR,YAAY,CACV,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IAexB,aAAa,CACX,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IAaxB,eAAe,CACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IAgBxB,QAAQ,CACN,IAAI,EAAE,MAAM,GACX,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI;IAezB,gBAAgB,CACd,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;CActC"}
@@ -3,14 +3,16 @@ import * as THREE from "three";
3
3
  import { EventEmitter } from "@posva/event-emitter";
4
4
  // Import Internal Dependencies
5
5
  import { Actor, ActorComponent, ActorTree } from "../actor/index.js";
6
- export class SceneEngine extends EventEmitter {
6
+ export class SceneManager extends EventEmitter {
7
7
  default;
8
8
  componentsToBeStarted = [];
9
9
  componentsToBeDestroyed = [];
10
+ #registeredActors = new Set();
11
+ #actorsByName = new Map();
10
12
  #cachedActors = [];
11
13
  tree = new ActorTree({
12
- addCallback: (actor) => this.default.add(actor.threeObject),
13
- removeCallback: (actor) => this.default.remove(actor.threeObject)
14
+ addCallback: (actor) => this.default.add(actor.object3D),
15
+ removeCallback: (actor) => this.default.remove(actor.object3D)
14
16
  });
15
17
  constructor(scene) {
16
18
  super();
@@ -28,37 +30,42 @@ export class SceneEngine extends EventEmitter {
28
30
  }
29
31
  this.emit("awake");
30
32
  }
31
- update(deltaTime) {
32
- this.#cachedActors.length = 0;
33
- for (const { actor } of this.tree.walk()) {
34
- this.#cachedActors.push(actor);
35
- }
36
- const cachedActors = this.#cachedActors;
33
+ beginFrame() {
34
+ this.#cachedActors = Array.from(this.#registeredActors);
37
35
  let i = 0;
38
36
  while (i < this.componentsToBeStarted.length) {
39
37
  const component = this.componentsToBeStarted[i];
40
38
  // If the component to be started is part of an actor
41
39
  // which will not be updated, skip it until next loop
42
- if (cachedActors.indexOf(component.actor) === -1) {
40
+ if (!this.#registeredActors.has(component.actor)) {
43
41
  i++;
44
42
  continue;
45
43
  }
46
44
  component.start?.();
47
45
  this.componentsToBeStarted.splice(i, 1);
48
46
  }
49
- // Update all actors
50
- const actorToBeDestroyed = [];
51
- cachedActors.forEach((actor) => {
47
+ }
48
+ fixedUpdate(deltaTime) {
49
+ this.#cachedActors.forEach((actor) => {
50
+ actor.fixedUpdate(deltaTime);
51
+ });
52
+ }
53
+ update(deltaTime) {
54
+ this.#cachedActors.forEach((actor) => {
52
55
  actor.update(deltaTime);
53
- if (actor.pendingForDestruction || actor.isDestroyed()) {
54
- actorToBeDestroyed.push(actor);
55
- }
56
56
  });
57
- // Apply pending component / actor destructions
57
+ }
58
+ endFrame() {
58
59
  this.componentsToBeDestroyed.forEach((component) => {
59
60
  component.destroy();
60
61
  });
61
62
  this.componentsToBeDestroyed.length = 0;
63
+ const actorToBeDestroyed = [];
64
+ this.#cachedActors.forEach((actor) => {
65
+ if (actor.pendingForDestruction || actor.isDestroyed()) {
66
+ actorToBeDestroyed.push(actor);
67
+ }
68
+ });
62
69
  actorToBeDestroyed.forEach((actor) => {
63
70
  this.destroyActor(actor);
64
71
  });
@@ -68,14 +75,46 @@ export class SceneEngine extends EventEmitter {
68
75
  childrenToDestroy.forEach((child) => {
69
76
  this.destroyActor(child);
70
77
  });
71
- const cachedIndex = this.#cachedActors.indexOf(actor);
72
- if (cachedIndex !== -1) {
73
- this.#cachedActors.splice(cachedIndex, 1);
74
- }
78
+ this.unregisterActor(actor);
75
79
  // NOTE: make sure to remove deeply into the tree
76
80
  this.tree.remove(actor);
77
81
  actor.destroy();
78
82
  }
83
+ registerActor(actor) {
84
+ this.#registeredActors.add(actor);
85
+ const actors = this.#actorsByName.get(actor.name);
86
+ if (actors) {
87
+ actors.push(actor);
88
+ }
89
+ else {
90
+ this.#actorsByName.set(actor.name, [actor]);
91
+ }
92
+ }
93
+ unregisterActor(actor) {
94
+ this.#registeredActors.delete(actor);
95
+ const actors = this.#actorsByName.get(actor.name);
96
+ if (actors) {
97
+ const index = actors.indexOf(actor);
98
+ if (index !== -1) {
99
+ actors.splice(index, 1);
100
+ }
101
+ if (actors.length === 0) {
102
+ this.#actorsByName.delete(actor.name);
103
+ }
104
+ }
105
+ }
106
+ getActor(name) {
107
+ const actors = this.#actorsByName.get(name);
108
+ if (!actors) {
109
+ return null;
110
+ }
111
+ for (const actor of actors) {
112
+ if (!actor.pendingForDestruction) {
113
+ return actor;
114
+ }
115
+ }
116
+ return null;
117
+ }
79
118
  destroyComponent(component) {
80
119
  if (component.pendingForDestruction) {
81
120
  return;
@@ -88,4 +127,4 @@ export class SceneEngine extends EventEmitter {
88
127
  }
89
128
  }
90
129
  }
91
- //# sourceMappingURL=Scene.js.map
130
+ //# sourceMappingURL=SceneManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SceneManager.js","sourceRoot":"","sources":["../../src/systems/SceneManager.ts"],"names":[],"mappings":"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"}