kiwiengine 0.0.1-alpha

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 (145) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -0
  3. package/assets/logo.png +0 -0
  4. package/examples/package.json +13 -0
  5. package/examples/test-dom/index.html +24 -0
  6. package/examples/test-dom/index.ts +21 -0
  7. package/examples/tsconfig.json +22 -0
  8. package/examples/webpack.config.js +31 -0
  9. package/lib/asset/audio.js +158 -0
  10. package/lib/asset/audio.js.map +1 -0
  11. package/lib/asset/loaders/audio.js +35 -0
  12. package/lib/asset/loaders/audio.js.map +1 -0
  13. package/lib/asset/loaders/binary.js +28 -0
  14. package/lib/asset/loaders/binary.js.map +1 -0
  15. package/lib/asset/loaders/font.js +27 -0
  16. package/lib/asset/loaders/font.js.map +1 -0
  17. package/lib/asset/loaders/loader.js +37 -0
  18. package/lib/asset/loaders/loader.js.map +1 -0
  19. package/lib/asset/loaders/spritesheet.js +56 -0
  20. package/lib/asset/loaders/spritesheet.js.map +1 -0
  21. package/lib/asset/loaders/text.js +27 -0
  22. package/lib/asset/loaders/text.js.map +1 -0
  23. package/lib/asset/loaders/texture.js +38 -0
  24. package/lib/asset/loaders/texture.js.map +1 -0
  25. package/lib/asset/preload.js +69 -0
  26. package/lib/asset/preload.js.map +1 -0
  27. package/lib/game-object/game-object-physics.js +188 -0
  28. package/lib/game-object/game-object-physics.js.map +1 -0
  29. package/lib/game-object/game-object-rendering.js +35 -0
  30. package/lib/game-object/game-object-rendering.js.map +1 -0
  31. package/lib/game-object/game-object.js +162 -0
  32. package/lib/game-object/game-object.js.map +1 -0
  33. package/lib/game-object/transform.js +118 -0
  34. package/lib/game-object/transform.js.map +1 -0
  35. package/lib/game-object-ext/animated-sprite.js +117 -0
  36. package/lib/game-object-ext/animated-sprite.js.map +1 -0
  37. package/lib/game-object-ext/dom-container.js +56 -0
  38. package/lib/game-object-ext/dom-container.js.map +1 -0
  39. package/lib/game-object-ext/rect.js +30 -0
  40. package/lib/game-object-ext/rect.js.map +1 -0
  41. package/lib/game-object-ext/spine.js +206 -0
  42. package/lib/game-object-ext/spine.js.map +1 -0
  43. package/lib/game-object-ext/sprite.js +46 -0
  44. package/lib/game-object-ext/sprite.js.map +1 -0
  45. package/lib/game-object-ext/text.js +68 -0
  46. package/lib/game-object-ext/text.js.map +1 -0
  47. package/lib/game-object-ext/tiling-sprite.js +64 -0
  48. package/lib/game-object-ext/tiling-sprite.js.map +1 -0
  49. package/lib/index.js +13 -0
  50. package/lib/index.js.map +1 -0
  51. package/lib/types/asset/audio.d.ts +21 -0
  52. package/lib/types/asset/audio.d.ts.map +1 -0
  53. package/lib/types/asset/loaders/audio.d.ts +7 -0
  54. package/lib/types/asset/loaders/audio.d.ts.map +1 -0
  55. package/lib/types/asset/loaders/binary.d.ts +7 -0
  56. package/lib/types/asset/loaders/binary.d.ts.map +1 -0
  57. package/lib/types/asset/loaders/font.d.ts +7 -0
  58. package/lib/types/asset/loaders/font.d.ts.map +1 -0
  59. package/lib/types/asset/loaders/loader.d.ts +13 -0
  60. package/lib/types/asset/loaders/loader.d.ts.map +1 -0
  61. package/lib/types/asset/loaders/spritesheet.d.ts +11 -0
  62. package/lib/types/asset/loaders/spritesheet.d.ts.map +1 -0
  63. package/lib/types/asset/loaders/text.d.ts +7 -0
  64. package/lib/types/asset/loaders/text.d.ts.map +1 -0
  65. package/lib/types/asset/loaders/texture.d.ts +9 -0
  66. package/lib/types/asset/loaders/texture.d.ts.map +1 -0
  67. package/lib/types/asset/preload.d.ts +8 -0
  68. package/lib/types/asset/preload.d.ts.map +1 -0
  69. package/lib/types/game-object/game-object-physics.d.ts +42 -0
  70. package/lib/types/game-object/game-object-physics.d.ts.map +1 -0
  71. package/lib/types/game-object/game-object-rendering.d.ts +15 -0
  72. package/lib/types/game-object/game-object-rendering.d.ts.map +1 -0
  73. package/lib/types/game-object/game-object.d.ts +81 -0
  74. package/lib/types/game-object/game-object.d.ts.map +1 -0
  75. package/lib/types/game-object/transform.d.ts +43 -0
  76. package/lib/types/game-object/transform.d.ts.map +1 -0
  77. package/lib/types/game-object-ext/animated-sprite.d.ts +29 -0
  78. package/lib/types/game-object-ext/animated-sprite.d.ts.map +1 -0
  79. package/lib/types/game-object-ext/dom-container.d.ts +16 -0
  80. package/lib/types/game-object-ext/dom-container.d.ts.map +1 -0
  81. package/lib/types/game-object-ext/rect.d.ts +17 -0
  82. package/lib/types/game-object-ext/rect.d.ts.map +1 -0
  83. package/lib/types/game-object-ext/spine.d.ts +35 -0
  84. package/lib/types/game-object-ext/spine.d.ts.map +1 -0
  85. package/lib/types/game-object-ext/sprite.d.ts +14 -0
  86. package/lib/types/game-object-ext/sprite.d.ts.map +1 -0
  87. package/lib/types/game-object-ext/text.d.ts +26 -0
  88. package/lib/types/game-object-ext/text.d.ts.map +1 -0
  89. package/lib/types/game-object-ext/tiling-sprite.d.ts +20 -0
  90. package/lib/types/game-object-ext/tiling-sprite.d.ts.map +1 -0
  91. package/lib/types/index.d.ts +14 -0
  92. package/lib/types/index.d.ts.map +1 -0
  93. package/lib/types/utils/debug.d.ts +3 -0
  94. package/lib/types/utils/debug.d.ts.map +1 -0
  95. package/lib/types/utils/go.d.ts +26 -0
  96. package/lib/types/utils/go.d.ts.map +1 -0
  97. package/lib/types/world/world-debug.d.ts +11 -0
  98. package/lib/types/world/world-debug.d.ts.map +1 -0
  99. package/lib/types/world/world-physics.d.ts +16 -0
  100. package/lib/types/world/world-physics.d.ts.map +1 -0
  101. package/lib/types/world/world-rendering.d.ts +28 -0
  102. package/lib/types/world/world-rendering.d.ts.map +1 -0
  103. package/lib/types/world/world.d.ts +38 -0
  104. package/lib/types/world/world.d.ts.map +1 -0
  105. package/lib/utils/debug.js +5 -0
  106. package/lib/utils/debug.js.map +1 -0
  107. package/lib/utils/go.js +33 -0
  108. package/lib/utils/go.js.map +1 -0
  109. package/lib/world/world-debug.js +89 -0
  110. package/lib/world/world-debug.js.map +1 -0
  111. package/lib/world/world-physics.js +45 -0
  112. package/lib/world/world-physics.js.map +1 -0
  113. package/lib/world/world-rendering.js +123 -0
  114. package/lib/world/world-rendering.js.map +1 -0
  115. package/lib/world/world.js +147 -0
  116. package/lib/world/world.js.map +1 -0
  117. package/package.json +23 -0
  118. package/src/asset/audio.ts +176 -0
  119. package/src/asset/loaders/audio.ts +39 -0
  120. package/src/asset/loaders/binary.ts +32 -0
  121. package/src/asset/loaders/font.ts +27 -0
  122. package/src/asset/loaders/loader.ts +39 -0
  123. package/src/asset/loaders/spritesheet.ts +67 -0
  124. package/src/asset/loaders/text.ts +31 -0
  125. package/src/asset/loaders/texture.ts +46 -0
  126. package/src/asset/preload.ts +76 -0
  127. package/src/game-object/game-object-physics.ts +191 -0
  128. package/src/game-object/game-object-rendering.ts +27 -0
  129. package/src/game-object/game-object.ts +190 -0
  130. package/src/game-object/transform.ts +164 -0
  131. package/src/game-object-ext/animated-sprite.ts +140 -0
  132. package/src/game-object-ext/dom-container.ts +67 -0
  133. package/src/game-object-ext/rect.ts +40 -0
  134. package/src/game-object-ext/spine.ts +235 -0
  135. package/src/game-object-ext/sprite.ts +55 -0
  136. package/src/game-object-ext/text.ts +83 -0
  137. package/src/game-object-ext/tiling-sprite.ts +73 -0
  138. package/src/index.ts +14 -0
  139. package/src/utils/debug.ts +5 -0
  140. package/src/utils/go.ts +53 -0
  141. package/src/world/world-debug.ts +114 -0
  142. package/src/world/world-physics.ts +52 -0
  143. package/src/world/world-rendering.ts +145 -0
  144. package/src/world/world.ts +171 -0
  145. package/tsconfig.json +33 -0
@@ -0,0 +1,64 @@
1
+ import { TilingSprite } from 'pixi.js';
2
+ import { textureLoader } from '../asset/loaders/texture';
3
+ import { GameObject } from '../game-object/game-object';
4
+ class TilingSpriteObject extends GameObject {
5
+ #sprite;
6
+ #src;
7
+ scrollSpeedX;
8
+ scrollSpeedY;
9
+ constructor(opts) {
10
+ super();
11
+ if (opts) {
12
+ if (opts.src)
13
+ this.src = opts.src;
14
+ if (opts.scrollSpeedX)
15
+ this.scrollSpeedX = opts.scrollSpeedX;
16
+ if (opts.scrollSpeedY)
17
+ this.scrollSpeedY = opts.scrollSpeedY;
18
+ }
19
+ }
20
+ async #load() {
21
+ if (this.#src) {
22
+ if (!textureLoader.checkLoaded(this.#src)) {
23
+ console.info(`Tiling sprite not preloaded. Loading now: ${this.#src}`);
24
+ }
25
+ const texture = await textureLoader.load(this.#src);
26
+ if (texture) {
27
+ const sprite = new TilingSprite({
28
+ texture,
29
+ anchor: 0.5,
30
+ zIndex: -999999,
31
+ });
32
+ this._addPixiChild(sprite);
33
+ this.#sprite = sprite;
34
+ }
35
+ }
36
+ }
37
+ get src() {
38
+ return this.#src;
39
+ }
40
+ set src(src) {
41
+ this.#sprite?.destroy({ children: true });
42
+ this.#sprite = undefined;
43
+ if (this.#src)
44
+ textureLoader.release(this.#src);
45
+ this.#src = src;
46
+ this.#load();
47
+ }
48
+ _engineUpdate(dt, pt) {
49
+ if (this.#sprite) {
50
+ if (this.scrollSpeedX !== undefined)
51
+ this.#sprite.tilePosition.x += this.scrollSpeedX * dt;
52
+ if (this.scrollSpeedY !== undefined)
53
+ this.#sprite.tilePosition.y += this.scrollSpeedY * dt;
54
+ }
55
+ super._engineUpdate(dt, pt);
56
+ }
57
+ remove() {
58
+ if (this.#src)
59
+ textureLoader.release(this.#src);
60
+ super.remove();
61
+ }
62
+ }
63
+ export { TilingSpriteObject };
64
+ //# sourceMappingURL=tiling-sprite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiling-sprite.js","sourceRoot":"","sources":["../../src/game-object-ext/tiling-sprite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAqB,MAAM,4BAA4B,CAAC;AAS3E,MAAM,kBAAkD,SAAQ,UAAa;IAC3E,OAAO,CAAgB;IACvB,IAAI,CAAU;IAEd,YAAY,CAAU;IACtB,YAAY,CAAU;IAEtB,YAAY,IAA0B;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,GAAG;gBAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAClC,IAAI,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7D,IAAI,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,6CAA6C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;oBAC9B,OAAO;oBACP,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,CAAC,MAAM;iBAChB,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,GAAuB;QAC7B,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI;YAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,EAAkB;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YAC3F,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAC7F,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,IAAI;YAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;CACF;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["import { EventMap } from '@webtaku/event-emitter';\nimport { TilingSprite } from 'pixi.js';\nimport { textureLoader } from '../asset/loaders/texture';\nimport { GameObject, GameObjectOptions } from '../game-object/game-object';\nimport { WorldTransform } from '../game-object/transform';\n\ntype TilingSpriteOptions = {\n src?: string;\n scrollSpeedX?: number;\n scrollSpeedY?: number;\n} & GameObjectOptions;\n\nclass TilingSpriteObject<E extends EventMap = EventMap> extends GameObject<E> {\n #sprite?: TilingSprite;\n #src?: string;\n\n scrollSpeedX?: number;\n scrollSpeedY?: number;\n\n constructor(opts?: TilingSpriteOptions) {\n super();\n if (opts) {\n if (opts.src) this.src = opts.src;\n if (opts.scrollSpeedX) this.scrollSpeedX = opts.scrollSpeedX;\n if (opts.scrollSpeedY) this.scrollSpeedY = opts.scrollSpeedY;\n }\n }\n\n async #load() {\n if (this.#src) {\n if (!textureLoader.checkLoaded(this.#src)) {\n console.info(`Tiling sprite not preloaded. Loading now: ${this.#src}`);\n }\n const texture = await textureLoader.load(this.#src);\n if (texture) {\n const sprite = new TilingSprite({\n texture,\n anchor: 0.5,\n zIndex: -999999,\n });\n this._addPixiChild(sprite);\n this.#sprite = sprite;\n }\n }\n }\n\n get src() {\n return this.#src;\n }\n\n set src(src: string | undefined) {\n this.#sprite?.destroy({ children: true });\n this.#sprite = undefined;\n if (this.#src) textureLoader.release(this.#src);\n this.#src = src;\n this.#load();\n }\n\n _engineUpdate(dt: number, pt: WorldTransform) {\n if (this.#sprite) {\n if (this.scrollSpeedX !== undefined) this.#sprite.tilePosition.x += this.scrollSpeedX * dt;\n if (this.scrollSpeedY !== undefined) this.#sprite.tilePosition.y += this.scrollSpeedY * dt;\n }\n super._engineUpdate(dt, pt);\n }\n\n remove() {\n if (this.#src) textureLoader.release(this.#src);\n super.remove();\n }\n}\n\nexport { TilingSpriteObject };\n"]}
package/lib/index.js ADDED
@@ -0,0 +1,13 @@
1
+ export { musicPlayer, sfxPlayer } from './asset/audio';
2
+ export { preload } from './asset/preload';
3
+ export { AnimatedSpriteObject } from './game-object-ext/animated-sprite';
4
+ export { DomContainerObject } from './game-object-ext/dom-container';
5
+ export { RectangleObject } from './game-object-ext/rect';
6
+ export { SpineObject } from './game-object-ext/spine';
7
+ export { SpriteObject } from './game-object-ext/sprite';
8
+ export { TextObject } from './game-object-ext/text';
9
+ export { GameObject } from './game-object/game-object';
10
+ export { enableDebug } from './utils/debug';
11
+ export { go } from './utils/go';
12
+ export { World } from './world/world';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAe,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAqB,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { musicPlayer, sfxPlayer } from './asset/audio';\nexport { AssetSource, preload } from './asset/preload';\nexport { AnimatedSpriteObject } from './game-object-ext/animated-sprite';\nexport { DomContainerObject } from './game-object-ext/dom-container';\nexport { RectangleObject } from './game-object-ext/rect';\nexport { SpineObject } from './game-object-ext/spine';\nexport { SpriteObject } from './game-object-ext/sprite';\nexport { TextObject } from './game-object-ext/text';\nexport { GameObject, GameObjectOptions } from './game-object/game-object';\nexport { Collider } from './game-object/game-object-physics';\nexport { enableDebug } from './utils/debug';\nexport { go } from './utils/go';\nexport { World } from './world/world';\n\n"]}
@@ -0,0 +1,21 @@
1
+ declare const audioContext: AudioContext;
2
+ declare class MusicPlayer {
3
+ #private;
4
+ constructor();
5
+ get volume(): number;
6
+ set volume(volume: number);
7
+ play(src: string): void;
8
+ pause(): void;
9
+ stop(): void;
10
+ }
11
+ declare class SfxPlayer {
12
+ #private;
13
+ constructor();
14
+ get volume(): number;
15
+ set volume(volume: number);
16
+ play(src: string): void;
17
+ }
18
+ declare const musicPlayer: MusicPlayer;
19
+ declare const sfxPlayer: SfxPlayer;
20
+ export { audioContext, musicPlayer, sfxPlayer };
21
+ //# sourceMappingURL=audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../src/asset/audio.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,YAAY,cAAoE,CAAC;AAuGvF,cAAM,WAAW;;;IAmBf,IAAI,MAAM,IAIS,MAAM,CAFxB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAIxB;IAED,IAAI,CAAC,GAAG,EAAE,MAAM;IAMhB,KAAK;IAIL,IAAI;CAIL;AAED,cAAM,SAAS;;;IAQb,IAAI,MAAM,IAIS,MAAM,CAFxB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAGxB;IAED,IAAI,CAAC,GAAG,EAAE,MAAM;CAGjB;AAED,QAAA,MAAM,WAAW,aAAoB,CAAC;AACtC,QAAA,MAAM,SAAS,WAAkB,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Loader } from './loader';
2
+ declare class AudioLoader extends Loader<AudioBuffer> {
3
+ protected _load(src: string): Promise<AudioBuffer | undefined>;
4
+ }
5
+ export declare const audioLoader: AudioLoader;
6
+ export {};
7
+ //# sourceMappingURL=audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/audio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,cAAM,WAAY,SAAQ,MAAM,CAAC,WAAW,CAAC;cAClB,KAAK,CAAC,GAAG,EAAE,MAAM;CAgC3C;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Loader } from './loader';
2
+ declare class BinaryLoader extends Loader<Uint8Array> {
3
+ protected _load(src: string): Promise<Uint8Array<ArrayBuffer> | undefined>;
4
+ }
5
+ export declare const binaryLoader: BinaryLoader;
6
+ export {};
7
+ //# sourceMappingURL=binary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,cAAM,YAAa,SAAQ,MAAM,CAAC,UAAU,CAAC;cAClB,KAAK,CAAC,GAAG,EAAE,MAAM;CA0B3C;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Loader } from './loader';
2
+ declare class FontFamilyLoader extends Loader<boolean> {
3
+ protected _load(fontName: string): Promise<true | undefined>;
4
+ }
5
+ export declare const fontFamilyLoader: FontFamilyLoader;
6
+ export {};
7
+ //# sourceMappingURL=font.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/font.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,cAAM,gBAAiB,SAAQ,MAAM,CAAC,OAAO,CAAC;cACnB,KAAK,CAAC,QAAQ,EAAE,MAAM;CAqBhD;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ declare abstract class Loader<T> {
2
+ #private;
3
+ protected loadedAssets: Map<string, T>;
4
+ protected loadingPromises: Map<string, Promise<T | undefined>>;
5
+ protected hasActiveRef(id: string): boolean;
6
+ protected abstract _load(id: string, ...args: any[]): Promise<T | undefined>;
7
+ protected _dispose(id: string, asset: T): void;
8
+ checkLoaded(id: string): boolean;
9
+ load(id: string, ...args: any[]): Promise<T | undefined>;
10
+ release(id: string): void;
11
+ }
12
+ export { Loader };
13
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/loader.ts"],"names":[],"mappings":"AAAA,uBAAe,MAAM,CAAC,CAAC;;IACrB,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAa;IACnD,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAa;IAK3E,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5E,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAE9C,WAAW,CAAC,EAAE,EAAE,MAAM;IAIhB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAOrC,OAAO,CAAC,EAAE,EAAE,MAAM;CAcnB;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Spritesheet, SpritesheetData } from 'pixi.js';
2
+ import { Loader } from './loader';
3
+ declare function getCachedId(src: string, atlas: object): string;
4
+ declare class SpritesheetLoader extends Loader<Spritesheet> {
5
+ #private;
6
+ protected _load(id: string, src: string, atlas: SpritesheetData): Promise<Spritesheet<SpritesheetData> | undefined>;
7
+ protected _dispose(id: string, spritesheet: Spritesheet): void;
8
+ }
9
+ declare const spritesheetLoader: SpritesheetLoader;
10
+ export { getCachedId, spritesheetLoader };
11
+ //# sourceMappingURL=spritesheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spritesheet.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/spritesheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMlC,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED,cAAM,iBAAkB,SAAQ,MAAM,CAAC,WAAW,CAAC;;cAGxB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;cAgC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;CAMjE;AAED,QAAA,MAAM,iBAAiB,mBAA0B,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Loader } from './loader';
2
+ declare class TextLoader extends Loader<string> {
3
+ protected _load(src: string): Promise<string | undefined>;
4
+ }
5
+ export declare const textLoader: TextLoader;
6
+ export {};
7
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,cAAM,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC;cACZ,KAAK,CAAC,GAAG,EAAE,MAAM;CAyB3C;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Texture } from 'pixi.js';
2
+ import { Loader } from './loader';
3
+ declare class TextureLoader extends Loader<Texture> {
4
+ protected _load(src: string): Promise<Texture<import("pixi.js").TextureSource<any>> | undefined>;
5
+ protected _dispose(src: string, texture: Texture): void;
6
+ }
7
+ export declare const textureLoader: TextureLoader;
8
+ export {};
9
+ //# sourceMappingURL=texture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texture.d.ts","sourceRoot":"","sources":["../../../../src/asset/loaders/texture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,cAAM,aAAc,SAAQ,MAAM,CAAC,OAAO,CAAC;cAChB,KAAK,CAAC,GAAG,EAAE,MAAM;cAoCvB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CAG1D;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { SpritesheetData } from 'pixi.js';
2
+ type AssetSource = string | {
3
+ src: string;
4
+ atlas: SpritesheetData;
5
+ };
6
+ declare function preload(assets: AssetSource[], progressCallback: (progress: number) => void): Promise<() => void>;
7
+ export { AssetSource, preload };
8
+ //# sourceMappingURL=preload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../../src/asset/preload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM1C,KAAK,WAAW,GAAG,MAAM,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC;AAoBF,iBAAe,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,uBA4CzF;AAED,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { GameObject } from './game-object';
2
+ type BaseCollider = {
3
+ x?: number;
4
+ y?: number;
5
+ };
6
+ type RectangleCollider = BaseCollider & {
7
+ type: 'rect';
8
+ width: number;
9
+ height: number;
10
+ };
11
+ type CircleCollider = BaseCollider & {
12
+ type: 'circle';
13
+ radius: number;
14
+ };
15
+ type VerticesCollider = BaseCollider & {
16
+ type: 'vert';
17
+ vertices: {
18
+ x: number;
19
+ y: number;
20
+ }[];
21
+ };
22
+ export type Collider = RectangleCollider | CircleCollider | VerticesCollider;
23
+ export declare class GameObjectPhysics {
24
+ #private;
25
+ constructor(go: GameObject);
26
+ applyChanges(): void;
27
+ destroy(): void;
28
+ get collider(): Collider | undefined;
29
+ set collider(value: Collider | undefined);
30
+ get isStatic(): boolean;
31
+ set isStatic(value: boolean);
32
+ get isSensor(): boolean;
33
+ set isSensor(value: boolean);
34
+ get velocityX(): number;
35
+ set velocityX(value: number);
36
+ get velocityY(): number;
37
+ set velocityY(value: number);
38
+ get fixedRotation(): boolean;
39
+ set fixedRotation(value: boolean);
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=game-object-physics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-object-physics.d.ts","sourceRoot":"","sources":["../../../src/game-object/game-object-physics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,KAAK,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;CAAE,CAAC;AAChD,KAAK,iBAAiB,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACxF,KAAK,cAAc,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACxE,KAAK,gBAAgB,GAAG,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,QAAQ,GAAG,iBAAiB,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE7E,qBAAa,iBAAiB;;gBAWhB,EAAE,EAAE,UAAU;IAkD1B,YAAY;IAqCZ,OAAO;IAIP,IAAI,QAAQ,IACQ,QAAQ,GAAG,SAAS,CADC;IACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAGvC;IAED,IAAI,QAAQ,IAIQ,OAAO,CAD1B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAI1B;IAED,IAAI,QAAQ,IAIQ,OAAO,CAD1B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAI1B;IAED,IAAI,SAAS,IAIQ,MAAM,CAD1B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAG1B;IAED,IAAI,SAAS,IAIQ,MAAM,CAD1B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAG1B;IAED,IAAI,aAAa,IACQ,OAAO,CADmB;IACnD,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAW/B;CAqBF"}
@@ -0,0 +1,15 @@
1
+ import { Container } from 'pixi.js';
2
+ import { LocalTransform } from './transform';
3
+ export declare class GameObjectRendering {
4
+ #private;
5
+ _container: Container<import("pixi.js").ContainerChild>;
6
+ addChild(child: GameObjectRendering): void;
7
+ removeChild(child: GameObjectRendering): void;
8
+ destroy(): void;
9
+ applyChanges(lt: LocalTransform): void;
10
+ get drawOrder(): number;
11
+ set drawOrder(v: number);
12
+ get yBasedDrawOrder(): boolean;
13
+ set yBasedDrawOrder(v: boolean);
14
+ }
15
+ //# sourceMappingURL=game-object-rendering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-object-rendering.d.ts","sourceRoot":"","sources":["../../../src/game-object/game-object-rendering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,mBAAmB;;IAC9B,UAAU,8CAA6C;IAGvD,QAAQ,CAAC,KAAK,EAAE,mBAAmB;IACnC,WAAW,CAAC,KAAK,EAAE,mBAAmB;IACtC,OAAO;IAEP,YAAY,CAAC,EAAE,EAAE,cAAc;IAW/B,IAAI,SAAS,IACI,MAAM,CAD2B;IAClD,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,EAAiC;IACxD,IAAI,eAAe,IACI,OAAO,CADyB;IACvD,IAAI,eAAe,CAAC,CAAC,EAAE,OAAO,EAA2E;CAC1G"}
@@ -0,0 +1,81 @@
1
+ import { EventEmitter, EventMap } from '@webtaku/event-emitter';
2
+ import { Container } from 'pixi.js';
3
+ import { World } from '../world/world';
4
+ import { Collider } from './game-object-physics';
5
+ import { GameObjectRendering } from './game-object-rendering';
6
+ import { LocalTransform, WorldTransform } from './transform';
7
+ export declare class GameObject<E extends EventMap = EventMap> extends EventEmitter<E & {
8
+ update: (dt: number) => void;
9
+ }> {
10
+ #private;
11
+ _lt: LocalTransform;
12
+ _wt: WorldTransform;
13
+ _rendering: GameObjectRendering;
14
+ data: Record<string, any>;
15
+ protected _setWorld(world: World): void;
16
+ _getWorld(): World | undefined;
17
+ add(...children: GameObject[]): void;
18
+ remove(): void;
19
+ protected update(dt: number): void;
20
+ protected _afterRender(): void;
21
+ _engineUpdate(dt: number, pt: WorldTransform): void;
22
+ constructor(opts?: GameObjectOptions);
23
+ get x(): number;
24
+ set x(v: number);
25
+ get y(): number;
26
+ set y(v: number);
27
+ get pivotX(): number;
28
+ set pivotX(v: number);
29
+ get pivotY(): number;
30
+ set pivotY(v: number);
31
+ get scale(): number;
32
+ set scale(v: number);
33
+ get scaleX(): number;
34
+ set scaleX(v: number);
35
+ get scaleY(): number;
36
+ set scaleY(v: number);
37
+ get rotation(): number;
38
+ set rotation(v: number);
39
+ get alpha(): number;
40
+ set alpha(v: number);
41
+ get drawOrder(): number;
42
+ set drawOrder(v: number);
43
+ get yBasedDrawOrder(): boolean;
44
+ set yBasedDrawOrder(v: boolean);
45
+ get collider(): Collider | undefined;
46
+ set collider(v: Collider | undefined);
47
+ get isStatic(): boolean;
48
+ set isStatic(v: boolean);
49
+ get isSensor(): boolean;
50
+ set isSensor(v: boolean);
51
+ get velocityX(): number;
52
+ set velocityX(v: number);
53
+ get velocityY(): number;
54
+ set velocityY(v: number);
55
+ get fixedRotation(): boolean;
56
+ set fixedRotation(v: boolean);
57
+ _addPixiChild(child: Container): void;
58
+ get image(): string | undefined;
59
+ set image(value: string | undefined);
60
+ }
61
+ export type GameObjectOptions = {
62
+ x?: number;
63
+ y?: number;
64
+ pivotX?: number;
65
+ pivotY?: number;
66
+ scale?: number;
67
+ scaleX?: number;
68
+ scaleY?: number;
69
+ rotation?: number;
70
+ alpha?: number;
71
+ drawOrder?: number;
72
+ yBasedDrawOrder?: boolean;
73
+ collider?: Collider;
74
+ isStatic?: boolean;
75
+ isSensor?: boolean;
76
+ velocityX?: number;
77
+ velocityY?: number;
78
+ fixedRotation?: boolean;
79
+ image?: string;
80
+ };
81
+ //# sourceMappingURL=game-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-object.d.ts","sourceRoot":"","sources":["../../../src/game-object/game-object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ declare class DirtyNumber {
2
+ #private;
3
+ constructor(v: number);
4
+ get dirty(): boolean;
5
+ get v(): number;
6
+ set v(v: number);
7
+ markClean(): void;
8
+ }
9
+ export declare class LocalTransform {
10
+ x: DirtyNumber;
11
+ y: DirtyNumber;
12
+ pivotX: DirtyNumber;
13
+ pivotY: DirtyNumber;
14
+ scaleX: DirtyNumber;
15
+ scaleY: DirtyNumber;
16
+ rotation: DirtyNumber;
17
+ alpha: DirtyNumber;
18
+ markClean(): void;
19
+ }
20
+ export declare class WorldTransform {
21
+ x: DirtyNumber;
22
+ y: DirtyNumber;
23
+ scaleX: DirtyNumber;
24
+ scaleY: DirtyNumber;
25
+ rotation: DirtyNumber;
26
+ alpha: DirtyNumber;
27
+ update(parent: WorldTransform, local: LocalTransform): void;
28
+ markClean(): void;
29
+ }
30
+ export declare function localOffsetToWorld(world: WorldTransform, ox: number, oy: number): {
31
+ x: number;
32
+ y: number;
33
+ };
34
+ export declare function worldToLocalWithNewWorld(world: WorldTransform, local: LocalTransform, targetWorldX: number, targetWorldY: number, targetWorldRotation: number): {
35
+ x: number;
36
+ y: number;
37
+ rotation: number;
38
+ newWorldX: number;
39
+ newWorldY: number;
40
+ newWorldRotation: number;
41
+ };
42
+ export {};
43
+ //# sourceMappingURL=transform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/game-object/transform.ts"],"names":[],"mappings":"AAAA,cAAM,WAAW;;gBAIH,CAAC,EAAE,MAAM;IAKrB,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,CAAC,IAAI,MAAM,CAEd;IAED,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAGd;IAED,SAAS;CAGV;AAED,qBAAa,cAAc;IACzB,CAAC,cAAsB;IACvB,CAAC,cAAsB;IACvB,MAAM,cAAsB;IAC5B,MAAM,cAAsB;IAC5B,MAAM,cAAsB;IAC5B,MAAM,cAAsB;IAC5B,QAAQ,cAAsB;IAC9B,KAAK,cAAsB;IAE3B,SAAS;CAUV;AAED,qBAAa,cAAc;IACzB,CAAC,cAAsB;IACvB,CAAC,cAAsB;IACvB,MAAM,cAAsB;IAC5B,MAAM,cAAsB;IAC5B,QAAQ,cAAsB;IAC9B,KAAK,cAAsB;IAE3B,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;IAqBpD,SAAS;CAQV;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAS1B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAC1B;IACD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CA+CA"}
@@ -0,0 +1,29 @@
1
+ import { EventMap } from '@webtaku/event-emitter';
2
+ import { SpritesheetData } from 'pixi.js';
3
+ import { GameObject, GameObjectOptions } from '../game-object/game-object';
4
+ type AnimatedSpriteOptions = {
5
+ src?: string;
6
+ atlas?: SpritesheetData;
7
+ animation?: string;
8
+ fps?: number;
9
+ loop?: boolean;
10
+ } & GameObjectOptions;
11
+ declare class AnimatedSpriteObject<E extends EventMap = EventMap> extends GameObject<E & {
12
+ animationend: (animation: string) => void;
13
+ }> {
14
+ #private;
15
+ constructor(opts?: AnimatedSpriteOptions);
16
+ get src(): string | undefined;
17
+ set src(src: string | undefined);
18
+ get atlas(): SpritesheetData | undefined;
19
+ set atlas(atlas: SpritesheetData | undefined);
20
+ get animation(): string | undefined;
21
+ set animation(animation: string | undefined);
22
+ get fps(): number | undefined;
23
+ set fps(fps: number | undefined);
24
+ get loop(): boolean | undefined;
25
+ set loop(loop: boolean | undefined);
26
+ remove(): void;
27
+ }
28
+ export { AnimatedSpriteObject };
29
+ //# sourceMappingURL=animated-sprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-sprite.d.ts","sourceRoot":"","sources":["../../../src/game-object-ext/animated-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAA+B,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,qBAAqB,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,iBAAiB,CAAC;AAEtB,cAAM,oBAAoB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,UAAU,CAAC,CAAC,GAAG;IAC/E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,CAAC;;gBAWY,IAAI,CAAC,EAAE,qBAAqB;IAoDxC,IAAI,GAAG,IAIM,MAAM,GAAG,SAAS,CAF9B;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAK9B;IAED,IAAI,KAAK,IAIQ,eAAe,GAAG,SAAS,CAF3C;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,EAK3C;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,GAAG,IAIM,MAAM,GAAG,SAAS,CAF9B;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAK9B;IAED,IAAI,IAAI,IAIO,OAAO,GAAG,SAAS,CAFjC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAKjC;IAED,MAAM;CAIP;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { EventMap } from '@webtaku/event-emitter';
2
+ import { GameObject, GameObjectOptions } from "../game-object/game-object";
3
+ import { World } from '../world/world';
4
+ type DomContainerObjectOptions = {
5
+ el?: HTMLElement;
6
+ } & GameObjectOptions;
7
+ export declare class DomContainerObject<E extends EventMap = EventMap> extends GameObject<E> {
8
+ #private;
9
+ constructor(opts?: DomContainerObjectOptions);
10
+ protected _setWorld(world: World): void;
11
+ get el(): HTMLElement | undefined;
12
+ set el(el: HTMLElement | undefined);
13
+ _afterRender(): void;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=dom-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-container.d.ts","sourceRoot":"","sources":["../../../src/game-object-ext/dom-container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,KAAK,yBAAyB,GAAG;IAC/B,EAAE,CAAC,EAAE,WAAW,CAAC;CAClB,GAAG,iBAAiB,CAAC;AAEtB,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;gBAGtE,IAAI,CAAC,EAAE,yBAAyB;IAO5C,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKvC,IAAI,EAAE,IAIK,WAAW,GAAG,SAAS,CAFjC;IAED,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,EAWjC;IAED,YAAY;CA0Bb"}
@@ -0,0 +1,17 @@
1
+ import { EventMap } from '@webtaku/event-emitter';
2
+ import { FillInput, StrokeInput } from 'pixi.js';
3
+ import { GameObject } from '../game-object/game-object';
4
+ declare class RectangleObject<E extends EventMap = EventMap> extends GameObject<E> {
5
+ #private;
6
+ constructor();
7
+ get width(): number;
8
+ set width(value: number);
9
+ get height(): number;
10
+ set height(value: number);
11
+ get fill(): FillInput | undefined;
12
+ set fill(value: FillInput | undefined);
13
+ get stroke(): StrokeInput | undefined;
14
+ set stroke(value: StrokeInput | undefined);
15
+ }
16
+ export { RectangleObject };
17
+ //# sourceMappingURL=rect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rect.d.ts","sourceRoot":"","sources":["../../../src/game-object-ext/rect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAY,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,cAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;;IAuBxE,IAAI,KAAK,IAAI,MAAM,CAAwB;IAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAwC;IAC/D,IAAI,MAAM,IAAI,MAAM,CAAyB;IAC7C,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAyC;IAEjE,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAAuB;IACxD,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAuC;IAE5E,IAAI,MAAM,IAAI,WAAW,GAAG,SAAS,CAAyB;IAC9D,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAyC;CACnF;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { EventMap } from '@webtaku/event-emitter';
2
+ import { GameObject, GameObjectOptions } from '../game-object/game-object';
3
+ type SpineOptions = {
4
+ atlas?: string;
5
+ skeletonData?: any;
6
+ skel?: string;
7
+ json?: string;
8
+ texture?: string | Record<string, string>;
9
+ skins?: string[];
10
+ animation?: string;
11
+ loop?: boolean;
12
+ } & GameObjectOptions;
13
+ declare class SpineObject<E extends EventMap = EventMap> extends GameObject<E> {
14
+ #private;
15
+ constructor(opts?: SpineOptions);
16
+ get atlas(): string | undefined;
17
+ set atlas(atlas: string | undefined);
18
+ get skeletonData(): any | undefined;
19
+ set skeletonData(skeletonData: any | undefined);
20
+ get skel(): string | undefined;
21
+ set skel(skel: string | undefined);
22
+ get json(): string | undefined;
23
+ set json(json: string | undefined);
24
+ get texture(): string | Record<string, string> | undefined;
25
+ set texture(texture: string | Record<string, string> | undefined);
26
+ get skins(): string[] | undefined;
27
+ set skins(skins: string[] | undefined);
28
+ get animation(): string | undefined;
29
+ set animation(animation: string | undefined);
30
+ get loop(): boolean | undefined;
31
+ set loop(loop: boolean | undefined);
32
+ remove(): void;
33
+ }
34
+ export { SpineObject };
35
+ //# sourceMappingURL=spine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spine.d.ts","sourceRoot":"","sources":["../../../src/game-object-ext/spine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKlD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,YAAY,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,iBAAiB,CAAC;AAEtB,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;gBAYxD,IAAI,CAAC,EAAE,YAAY;IAuH/B,IAAI,KAAK,IAIQ,MAAM,GAAG,SAAS,CAFlC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAGlC;IAED,IAAI,YAAY,IAIe,GAAG,GAAG,SAAS,CAF7C;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,EAG7C;IAED,IAAI,IAAI,IAIO,MAAM,GAAG,SAAS,CAFhC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAGhC;IAED,IAAI,IAAI,IAIO,MAAM,GAAG,SAAS,CAFhC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAGhC;IAED,IAAI,OAAO,IAIU,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAF/D;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAG/D;IAED,IAAI,KAAK,IAIQ,MAAM,EAAE,GAAG,SAAS,CAFpC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAGpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAG1C;IAED,IAAI,IAAI,IAIO,OAAO,GAAG,SAAS,CAFjC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAGjC;IAED,MAAM;CAUP;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { EventMap } from '@webtaku/event-emitter';
2
+ import { GameObject, GameObjectOptions } from '../game-object/game-object';
3
+ type SpriteOptions = {
4
+ src?: string;
5
+ } & GameObjectOptions;
6
+ declare class SpriteObject<E extends EventMap = EventMap> extends GameObject<E> {
7
+ #private;
8
+ constructor(opts?: SpriteOptions);
9
+ get src(): string | undefined;
10
+ set src(src: string | undefined);
11
+ remove(): void;
12
+ }
13
+ export { SpriteObject };
14
+ //# sourceMappingURL=sprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../src/game-object-ext/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,aAAa,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,iBAAiB,CAAC;AAEtB,cAAM,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;gBAIzD,IAAI,CAAC,EAAE,aAAa;IAuBhC,IAAI,GAAG,IAIM,MAAM,GAAG,SAAS,CAF9B;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAM9B;IAED,MAAM;CAIP;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { EventMap } from '@webtaku/event-emitter';
2
+ import { GameObject, GameObjectOptions } from '../game-object/game-object';
3
+ type TextObjectOptions = {
4
+ text: string;
5
+ textAlign?: 'left' | 'center' | 'right';
6
+ fontSize?: number;
7
+ color?: string;
8
+ } & GameObjectOptions;
9
+ declare class TextObject<E extends EventMap = EventMap> extends GameObject<E> {
10
+ #private;
11
+ constructor(opts?: TextObjectOptions);
12
+ get text(): string | undefined;
13
+ set text(text: string | undefined);
14
+ get textAlign(): "left" | "center" | "right" | undefined;
15
+ set textAlign(textAlign: 'left' | 'center' | 'right' | undefined);
16
+ get fontSize(): number | undefined;
17
+ set fontSize(fontSize: number | undefined);
18
+ get color(): string | undefined;
19
+ set color(color: string | undefined);
20
+ get anchorX(): number;
21
+ set anchorX(value: number);
22
+ get anchorY(): number;
23
+ set anchorY(value: number);
24
+ }
25
+ export { TextObject };
26
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/game-object-ext/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC;AAEtB,cAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;gBAOvD,IAAI,CAAC,EAAE,iBAAiB;IAWpC,IAAI,IAAI,IAIO,MAAM,GAAG,SAAS,CAFhC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAGhC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAF/D;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,EAG/D;IAED,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAGxC;IAED,IAAI,KAAK,IAIQ,MAAM,GAAG,SAAS,CAFlC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAGlC;IAED,IAAI,OAAO,IAIQ,MAAM,CAFxB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED,IAAI,OAAO,IAIQ,MAAM,CAFxB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;CACF;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}