kiwiengine 0.5.4 → 0.5.6
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.
- package/examples/auto-battle/objects/character.ts +1 -1
- package/examples/battle-benchmark-matterjs/objects/character.ts +1 -1
- package/examples/battle-benchmark-separation/objects/character.ts +1 -1
- package/examples/battle-benchmark-separation2/objects/character.ts +1 -1
- package/examples/simple-battle/objects/character.ts +1 -1
- package/lib/asset/preload.js +21 -19
- package/lib/asset/preload.js.map +1 -1
- package/lib/dom/dom-animated-sprite.js.map +1 -1
- package/lib/dom/dom-game-object.js.map +1 -1
- package/lib/dom/dom-sprite.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/node/core/game-object.js.map +1 -1
- package/lib/node/core/renderable.js +2 -0
- package/lib/node/core/renderable.js.map +1 -1
- package/lib/node/core/transformable.js +5 -1
- package/lib/node/core/transformable.js.map +1 -1
- package/lib/node/ext/animated-sprite.js +16 -15
- package/lib/node/ext/animated-sprite.js.map +1 -1
- package/lib/node/ext/bitmap-text.js +29 -19
- package/lib/node/ext/bitmap-text.js.map +1 -1
- package/lib/node/ext/spine.js.map +1 -1
- package/lib/node/ext/sprite.js.map +1 -1
- package/lib/node/physics/physics-object.js +8 -1
- package/lib/node/physics/physics-object.js.map +1 -1
- package/lib/node/physics/physics-world.js.map +1 -1
- package/lib/types/asset/preload.d.ts +2 -0
- package/lib/types/asset/preload.d.ts.map +1 -1
- package/lib/types/dom/dom-animated-sprite.d.ts +1 -1
- package/lib/types/dom/dom-animated-sprite.d.ts.map +1 -1
- package/lib/types/dom/dom-game-object.d.ts +1 -1
- package/lib/types/dom/dom-game-object.d.ts.map +1 -1
- package/lib/types/dom/dom-sprite.d.ts +1 -1
- package/lib/types/dom/dom-sprite.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/node/core/game-object.d.ts +1 -1
- package/lib/types/node/core/game-object.d.ts.map +1 -1
- package/lib/types/node/core/renderable.d.ts +2 -0
- package/lib/types/node/core/renderable.d.ts.map +1 -1
- package/lib/types/node/core/transformable.d.ts +3 -0
- package/lib/types/node/core/transformable.d.ts.map +1 -1
- package/lib/types/node/ext/animated-sprite.d.ts +1 -1
- package/lib/types/node/ext/animated-sprite.d.ts.map +1 -1
- package/lib/types/node/ext/bitmap-text.d.ts +4 -2
- package/lib/types/node/ext/bitmap-text.d.ts.map +1 -1
- package/lib/types/node/ext/spine.d.ts +1 -1
- package/lib/types/node/ext/spine.d.ts.map +1 -1
- package/lib/types/node/ext/sprite.d.ts +1 -1
- package/lib/types/node/ext/sprite.d.ts.map +1 -1
- package/lib/types/node/physics/physics-object.d.ts +2 -1
- package/lib/types/node/physics/physics-object.d.ts.map +1 -1
- package/lib/types/node/physics/physics-world.d.ts +1 -1
- package/lib/types/node/physics/physics-world.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/asset/preload.ts +18 -16
- package/src/dom/dom-animated-sprite.ts +1 -1
- package/src/dom/dom-game-object.ts +1 -1
- package/src/dom/dom-sprite.ts +1 -1
- package/src/index.ts +1 -1
- package/src/node/core/game-object.ts +1 -1
- package/src/node/core/renderable.ts +3 -0
- package/src/node/core/transformable.ts +6 -1
- package/src/node/ext/animated-sprite.ts +18 -17
- package/src/node/ext/bitmap-text.ts +37 -21
- package/src/node/ext/spine.ts +1 -1
- package/src/node/ext/sprite.ts +1 -1
- package/src/node/physics/physics-object.ts +9 -2
- package/src/node/physics/physics-world.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spine.js","sourceRoot":"","sources":["../../../src/node/ext/spine.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtlasAttachmentLoader, Spine as PixiSpine, SkeletonBinary, SkeletonJson, Skin, SpineTexture, TextureAtlas } from '@esotericsoftware/spine-pixi-v8'\nimport { EventMap } from '@webtaku/event-emitter'\nimport { Texture } from 'pixi.js'\nimport { binaryLoader } from '../../asset/loaders/binary'\nimport { textLoader } from '../../asset/loaders/text'\nimport { textureLoader } from '../../asset/loaders/texture'\nimport { GameObject, GameObjectOptions } from '../core/game-object'\n\nexport type SpineNodeOptions = {\n atlas: string\n texture: string | Record<string, string>\n\n rawSkeletonData?: any\n skel?: string\n json?: string\n\n skins?: string[]\n animation?: string\n loop?: boolean\n} & GameObjectOptions\n\nexport class SpineNode<E extends EventMap = EventMap> extends GameObject<E & {\n animationend: (animation: string) => void\n}> {\n #atlas: string\n #texture: string | Record<string, string>\n\n #rawSkeletonData?: any\n #skel?: string\n #json?: string\n\n #skins?: string[]\n #animation?: string\n #loop?: boolean\n\n #spine?: PixiSpine\n\n constructor(options: SpineNodeOptions) {\n super(options)\n this.#atlas = options.atlas\n this.#texture = options.texture\n this.#rawSkeletonData = options.rawSkeletonData\n this.#skel = options.skel\n this.#json = options.json\n this.#skins = options.skins\n this.#animation = options.animation\n this.#loop = options.loop\n this.#load()\n }\n\n #buildSkeletonData(\n atlasText: string,\n texture: Texture | undefined,\n textures: Record<string, Texture> | undefined,\n skeletonBinary: Uint8Array | undefined,\n textSkeletonData: string | undefined\n ) {\n if (!atlasText) return undefined\n if (!texture && !textures) return undefined\n if (!this.rawSkeletonData && !skeletonBinary && !textSkeletonData) return undefined\n\n // Create TextureAtlas and bind pages to provided textures\n const atlas = new TextureAtlas(atlasText)\n atlas.pages.forEach((page) => {\n if (texture) {\n page.setTexture(SpineTexture.from(texture.source))\n } else if (textures) {\n const t = textures[page.name]\n if (!t) throw new Error(`Missing texture for atlas page: ${page.name}`)\n page.setTexture(SpineTexture.from(t.source))\n }\n })\n\n const atlasLoader = new AtlasAttachmentLoader(atlas)\n\n // Parse skeleton data depending on available source\n if (this.rawSkeletonData) {\n const jsonLoader = new SkeletonJson(atlasLoader)\n return jsonLoader.readSkeletonData(this.rawSkeletonData)\n }\n if (skeletonBinary) {\n const binLoader = new SkeletonBinary(atlasLoader)\n return binLoader.readSkeletonData(skeletonBinary)\n }\n if (textSkeletonData) {\n const jsonLoader = new SkeletonJson(atlasLoader)\n return jsonLoader.readSkeletonData(textSkeletonData)\n }\n return undefined\n }\n\n #getCachedSkeletonData() {\n try {\n if (!this.#rawSkeletonData && !this.#skel && !this.#json) return undefined\n if (!textLoader.checkCached(this.#atlas)) return undefined\n\n const atlasText = textLoader.getCached(this.#atlas)!\n\n let texture: Texture | undefined\n let textures: Record<string, Texture> | undefined\n\n if (typeof this.#texture === 'string') {\n if (!textureLoader.checkCached(this.#texture)) return undefined\n texture = textureLoader.getCached(this.#texture)!\n } else if (this.#texture) {\n textures = {}\n for (const [key, path] of Object.entries(this.#texture)) {\n if (!textureLoader.checkCached(path)) return undefined\n textures[key] = textureLoader.getCached(path)!\n }\n } else {\n return undefined\n }\n\n let skeletonBinary: Uint8Array | undefined\n let textSkeletonData: string | undefined\n\n if (!this.#rawSkeletonData) {\n if (this.#skel) {\n if (!binaryLoader.checkCached(this.#skel)) return undefined\n skeletonBinary = binaryLoader.getCached(this.#skel)!\n } else if (this.#json) {\n if (!textLoader.checkCached(this.#json)) return undefined\n textSkeletonData = textLoader.getCached(this.#json)!\n }\n }\n\n return this.#buildSkeletonData(\n atlasText,\n texture,\n textures,\n skeletonBinary,\n textSkeletonData,\n )\n } catch (e) {\n console.error('Failed to build skeleton data from cache:', e)\n return undefined\n }\n }\n\n async #loadSkeletonData() {\n if (!this.#rawSkeletonData && !this.#skel && !this.#json) return undefined\n\n const promises: Promise<any>[] = []\n\n let atlasText: string | undefined\n let skeletonBinary: Uint8Array | undefined\n let textSkeletonData: string | undefined\n let texture: Texture | undefined\n let textures: Record<string, Texture> | undefined\n\n // Load atlas (text)\n if (!textLoader.checkCached(this.#atlas)) console.info(`Atlas not preloaded. Loading now: ${this.#atlas}`)\n promises.push((async () => (atlasText = await textLoader.load(this.#atlas)))())\n\n // Load skeleton (raw / binary / json)\n if (this.#rawSkeletonData) {\n // already provided\n } else if (this.#skel) {\n if (!binaryLoader.checkCached(this.#skel)) console.info(`Skeleton not preloaded. Loading now: ${this.#skel}`)\n promises.push((async () => (skeletonBinary = await binaryLoader.load(this.#skel!)))())\n } else if (this.#json) {\n if (!textLoader.checkCached(this.#json)) console.info(`Skeleton not preloaded. Loading now: ${this.#json}`)\n promises.push((async () => (textSkeletonData = await textLoader.load(this.#json!)))())\n } else {\n console.error('Either skel or json must be provided')\n return undefined\n }\n\n // Load textures (single or multiple)\n if (typeof this.#texture === 'string') {\n if (!textureLoader.checkCached(this.#texture)) console.info(`Texture not preloaded. Loading now: ${this.#texture}`)\n promises.push((async () => (texture = await textureLoader.load(this.#texture as string)))())\n } else if (this.#texture) {\n textures = {}\n for (const [key, path] of Object.entries(this.#texture)) {\n if (!textureLoader.checkCached(path)) console.info(`Texture not preloaded. Loading now: ${path}`)\n promises.push((async () => {\n const t = await textureLoader.load(path)\n if (t) textures![key] = t\n })())\n }\n }\n\n await Promise.all(promises)\n\n if (!atlasText) return undefined\n if (!texture && !(textures && Object.keys(textures).length)) return undefined\n\n return this.#buildSkeletonData(\n atlasText,\n texture,\n textures,\n skeletonBinary,\n textSkeletonData,\n )\n }\n\n async #load() {\n let skeletonData = this.#getCachedSkeletonData()\n if (!skeletonData) {\n skeletonData = await this.#loadSkeletonData()\n }\n\n this.#spine?.destroy()\n this.#spine = undefined\n\n if (skeletonData) {\n const s = new PixiSpine(skeletonData)\n s.state.addListener({\n complete: (e) => (this as any).emit('animationend', e.animation?.name ?? '')\n })\n this.#spine = s\n this.#updateAnimation()\n this.#updateSkins()\n this._pixiContainer.addChild(s)\n }\n }\n\n #updateSkins() {\n const s = this.#spine?.skeleton\n if (s && this.#skins) {\n const newSkin = new Skin('combined-skin')\n for (const skinName of this.#skins) {\n const skin = s.data.findSkin(skinName)\n if (skin) newSkin.addSkin(skin)\n }\n s.setSkin(newSkin)\n s.setSlotsToSetupPose()\n }\n }\n\n #updateAnimation() {\n const s = this.#spine\n if (s && this.#animation) {\n s.state.setAnimation(0, this.#animation, this.#loop ?? true)\n s.state.apply(s.skeleton)\n }\n }\n\n set atlas(atlas) {\n if (this.#atlas !== atlas) {\n this.#atlas = atlas\n this.#load()\n }\n }\n\n get atlas() { return this.#atlas }\n\n set texture(texture) {\n if (this.#texture !== texture) {\n this.#texture = texture\n this.#load()\n }\n }\n\n get texture() { return this.#texture }\n\n set rawSkeletonData(rawSkeletonData) {\n if (this.#rawSkeletonData !== rawSkeletonData) {\n this.#rawSkeletonData = rawSkeletonData\n this.#load()\n }\n }\n\n get rawSkeletonData() { return this.#rawSkeletonData }\n\n set skel(skel) {\n if (this.#skel !== skel) {\n this.#skel = skel\n this.#load()\n }\n }\n\n get skel() { return this.#skel }\n\n set json(json) {\n if (this.#json !== json) {\n this.#json = json\n this.#load()\n }\n }\n\n get json() { return this.#json }\n\n set skins(skins) {\n if (this.#skins !== skins) {\n this.#skins = skins\n this.#updateSkins()\n }\n }\n\n get skins() { return this.#skins }\n\n set animation(animation) {\n if (this.#animation !== animation) {\n this.#animation = animation\n this.#updateAnimation()\n }\n }\n\n get animation() { return this.#animation }\n\n set loop(loop) {\n if (this.#loop !== loop) {\n this.#loop = loop\n this.#updateAnimation()\n }\n }\n\n get loop() { return this.#loop }\n\n remove() {\n if (typeof this.#texture === 'string') {\n textureLoader.release(this.#texture)\n } else if (this.#texture) {\n for (const path of Object.values(this.#texture)) {\n textureLoader.release(path)\n }\n }\n super.remove()\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"spine.js","sourceRoot":"","sources":["../../../src/node/ext/spine.ts"],"names":[],"mappings":"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","sourcesContent":["import { AtlasAttachmentLoader, Spine as PixiSpine, SkeletonBinary, SkeletonJson, Skin, SpineTexture, TextureAtlas } from '@esotericsoftware/spine-pixi-v8'\nimport { EventMap } from '@webtaku/event-emitter'\nimport { Texture } from 'pixi.js'\nimport { binaryLoader } from '../../asset/loaders/binary'\nimport { textLoader } from '../../asset/loaders/text'\nimport { textureLoader } from '../../asset/loaders/texture'\nimport { GameObject, GameObjectOptions } from '../core/game-object'\n\nexport type SpineNodeOptions = {\n atlas: string\n texture: string | Record<string, string>\n\n rawSkeletonData?: any\n skel?: string\n json?: string\n\n skins?: string[]\n animation?: string\n loop?: boolean\n} & GameObjectOptions\n\nexport class SpineNode<E extends EventMap = {}> extends GameObject<E & {\n animationend: (animation: string) => void\n}> {\n #atlas: string\n #texture: string | Record<string, string>\n\n #rawSkeletonData?: any\n #skel?: string\n #json?: string\n\n #skins?: string[]\n #animation?: string\n #loop?: boolean\n\n #spine?: PixiSpine\n\n constructor(options: SpineNodeOptions) {\n super(options)\n this.#atlas = options.atlas\n this.#texture = options.texture\n this.#rawSkeletonData = options.rawSkeletonData\n this.#skel = options.skel\n this.#json = options.json\n this.#skins = options.skins\n this.#animation = options.animation\n this.#loop = options.loop\n this.#load()\n }\n\n #buildSkeletonData(\n atlasText: string,\n texture: Texture | undefined,\n textures: Record<string, Texture> | undefined,\n skeletonBinary: Uint8Array | undefined,\n textSkeletonData: string | undefined\n ) {\n if (!atlasText) return undefined\n if (!texture && !textures) return undefined\n if (!this.rawSkeletonData && !skeletonBinary && !textSkeletonData) return undefined\n\n // Create TextureAtlas and bind pages to provided textures\n const atlas = new TextureAtlas(atlasText)\n atlas.pages.forEach((page) => {\n if (texture) {\n page.setTexture(SpineTexture.from(texture.source))\n } else if (textures) {\n const t = textures[page.name]\n if (!t) throw new Error(`Missing texture for atlas page: ${page.name}`)\n page.setTexture(SpineTexture.from(t.source))\n }\n })\n\n const atlasLoader = new AtlasAttachmentLoader(atlas)\n\n // Parse skeleton data depending on available source\n if (this.rawSkeletonData) {\n const jsonLoader = new SkeletonJson(atlasLoader)\n return jsonLoader.readSkeletonData(this.rawSkeletonData)\n }\n if (skeletonBinary) {\n const binLoader = new SkeletonBinary(atlasLoader)\n return binLoader.readSkeletonData(skeletonBinary)\n }\n if (textSkeletonData) {\n const jsonLoader = new SkeletonJson(atlasLoader)\n return jsonLoader.readSkeletonData(textSkeletonData)\n }\n return undefined\n }\n\n #getCachedSkeletonData() {\n try {\n if (!this.#rawSkeletonData && !this.#skel && !this.#json) return undefined\n if (!textLoader.checkCached(this.#atlas)) return undefined\n\n const atlasText = textLoader.getCached(this.#atlas)!\n\n let texture: Texture | undefined\n let textures: Record<string, Texture> | undefined\n\n if (typeof this.#texture === 'string') {\n if (!textureLoader.checkCached(this.#texture)) return undefined\n texture = textureLoader.getCached(this.#texture)!\n } else if (this.#texture) {\n textures = {}\n for (const [key, path] of Object.entries(this.#texture)) {\n if (!textureLoader.checkCached(path)) return undefined\n textures[key] = textureLoader.getCached(path)!\n }\n } else {\n return undefined\n }\n\n let skeletonBinary: Uint8Array | undefined\n let textSkeletonData: string | undefined\n\n if (!this.#rawSkeletonData) {\n if (this.#skel) {\n if (!binaryLoader.checkCached(this.#skel)) return undefined\n skeletonBinary = binaryLoader.getCached(this.#skel)!\n } else if (this.#json) {\n if (!textLoader.checkCached(this.#json)) return undefined\n textSkeletonData = textLoader.getCached(this.#json)!\n }\n }\n\n return this.#buildSkeletonData(\n atlasText,\n texture,\n textures,\n skeletonBinary,\n textSkeletonData,\n )\n } catch (e) {\n console.error('Failed to build skeleton data from cache:', e)\n return undefined\n }\n }\n\n async #loadSkeletonData() {\n if (!this.#rawSkeletonData && !this.#skel && !this.#json) return undefined\n\n const promises: Promise<any>[] = []\n\n let atlasText: string | undefined\n let skeletonBinary: Uint8Array | undefined\n let textSkeletonData: string | undefined\n let texture: Texture | undefined\n let textures: Record<string, Texture> | undefined\n\n // Load atlas (text)\n if (!textLoader.checkCached(this.#atlas)) console.info(`Atlas not preloaded. Loading now: ${this.#atlas}`)\n promises.push((async () => (atlasText = await textLoader.load(this.#atlas)))())\n\n // Load skeleton (raw / binary / json)\n if (this.#rawSkeletonData) {\n // already provided\n } else if (this.#skel) {\n if (!binaryLoader.checkCached(this.#skel)) console.info(`Skeleton not preloaded. Loading now: ${this.#skel}`)\n promises.push((async () => (skeletonBinary = await binaryLoader.load(this.#skel!)))())\n } else if (this.#json) {\n if (!textLoader.checkCached(this.#json)) console.info(`Skeleton not preloaded. Loading now: ${this.#json}`)\n promises.push((async () => (textSkeletonData = await textLoader.load(this.#json!)))())\n } else {\n console.error('Either skel or json must be provided')\n return undefined\n }\n\n // Load textures (single or multiple)\n if (typeof this.#texture === 'string') {\n if (!textureLoader.checkCached(this.#texture)) console.info(`Texture not preloaded. Loading now: ${this.#texture}`)\n promises.push((async () => (texture = await textureLoader.load(this.#texture as string)))())\n } else if (this.#texture) {\n textures = {}\n for (const [key, path] of Object.entries(this.#texture)) {\n if (!textureLoader.checkCached(path)) console.info(`Texture not preloaded. Loading now: ${path}`)\n promises.push((async () => {\n const t = await textureLoader.load(path)\n if (t) textures![key] = t\n })())\n }\n }\n\n await Promise.all(promises)\n\n if (!atlasText) return undefined\n if (!texture && !(textures && Object.keys(textures).length)) return undefined\n\n return this.#buildSkeletonData(\n atlasText,\n texture,\n textures,\n skeletonBinary,\n textSkeletonData,\n )\n }\n\n async #load() {\n let skeletonData = this.#getCachedSkeletonData()\n if (!skeletonData) {\n skeletonData = await this.#loadSkeletonData()\n }\n\n this.#spine?.destroy()\n this.#spine = undefined\n\n if (skeletonData) {\n const s = new PixiSpine(skeletonData)\n s.state.addListener({\n complete: (e) => (this as any).emit('animationend', e.animation?.name ?? '')\n })\n this.#spine = s\n this.#updateAnimation()\n this.#updateSkins()\n this._pixiContainer.addChild(s)\n }\n }\n\n #updateSkins() {\n const s = this.#spine?.skeleton\n if (s && this.#skins) {\n const newSkin = new Skin('combined-skin')\n for (const skinName of this.#skins) {\n const skin = s.data.findSkin(skinName)\n if (skin) newSkin.addSkin(skin)\n }\n s.setSkin(newSkin)\n s.setSlotsToSetupPose()\n }\n }\n\n #updateAnimation() {\n const s = this.#spine\n if (s && this.#animation) {\n s.state.setAnimation(0, this.#animation, this.#loop ?? true)\n s.state.apply(s.skeleton)\n }\n }\n\n set atlas(atlas) {\n if (this.#atlas !== atlas) {\n this.#atlas = atlas\n this.#load()\n }\n }\n\n get atlas() { return this.#atlas }\n\n set texture(texture) {\n if (this.#texture !== texture) {\n this.#texture = texture\n this.#load()\n }\n }\n\n get texture() { return this.#texture }\n\n set rawSkeletonData(rawSkeletonData) {\n if (this.#rawSkeletonData !== rawSkeletonData) {\n this.#rawSkeletonData = rawSkeletonData\n this.#load()\n }\n }\n\n get rawSkeletonData() { return this.#rawSkeletonData }\n\n set skel(skel) {\n if (this.#skel !== skel) {\n this.#skel = skel\n this.#load()\n }\n }\n\n get skel() { return this.#skel }\n\n set json(json) {\n if (this.#json !== json) {\n this.#json = json\n this.#load()\n }\n }\n\n get json() { return this.#json }\n\n set skins(skins) {\n if (this.#skins !== skins) {\n this.#skins = skins\n this.#updateSkins()\n }\n }\n\n get skins() { return this.#skins }\n\n set animation(animation) {\n if (this.#animation !== animation) {\n this.#animation = animation\n this.#updateAnimation()\n }\n }\n\n get animation() { return this.#animation }\n\n set loop(loop) {\n if (this.#loop !== loop) {\n this.#loop = loop\n this.#updateAnimation()\n }\n }\n\n get loop() { return this.#loop }\n\n remove() {\n if (typeof this.#texture === 'string') {\n textureLoader.release(this.#texture)\n } else if (this.#texture) {\n for (const path of Object.values(this.#texture)) {\n textureLoader.release(path)\n }\n }\n super.remove()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../src/node/ext/sprite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAA;AAMnE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"sprite.js","sourceRoot":"","sources":["../../../src/node/ext/sprite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAA;AAMnE,MAAM,OAAO,UAAoC,SAAQ,UAAa;IACpE,IAAI,CAAQ;IACZ,OAAO,CAAa;IAEpB,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAA;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,OAAO,CAAA;QACX,IAAI,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAChE,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAExB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;YACnE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,GAAG;QACT,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACtB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;YACf,IAAI,CAAC,KAAK,EAAE,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,GAAG,KAAK,OAAO,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC;IAErB,MAAM;QACb,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,KAAK,CAAC,MAAM,EAAE,CAAA;IAChB,CAAC;CACF","sourcesContent":["import { EventMap } from '@webtaku/event-emitter'\nimport { Sprite as PixiSprite } from 'pixi.js'\nimport { textureLoader } from '../../asset/loaders/texture'\nimport { GameObject, GameObjectOptions } from '../core/game-object'\n\nexport type SpriteNodeOptions = {\n src: string\n} & GameObjectOptions\n\nexport class SpriteNode<E extends EventMap = {}> extends GameObject<E> {\n #src: string\n #sprite?: PixiSprite\n\n constructor(options: SpriteNodeOptions) {\n super(options)\n this.#src = options.src\n this.#load()\n }\n\n async #load() {\n let texture\n if (textureLoader.checkCached(this.#src)) {\n texture = textureLoader.getCached(this.#src)\n } else {\n console.info(`Texture not preloaded. Loading now: ${this.#src}`)\n texture = await textureLoader.load(this.#src)\n }\n\n this.#sprite?.destroy()\n this.#sprite = undefined\n\n if (texture) {\n const s = new PixiSprite({ texture, anchor: 0.5, zIndex: -999999 })\n this._pixiContainer.addChild(s)\n this.#sprite = s\n }\n }\n\n set src(src) {\n if (this.#src !== src) {\n textureLoader.release(this.#src)\n this.#src = src\n this.#load()\n }\n }\n\n get src() { return this.#src }\n\n override remove() {\n textureLoader.release(this.#src)\n super.remove()\n }\n}\n"]}
|
|
@@ -8,6 +8,7 @@ export class PhysicsObject extends RenderableNode {
|
|
|
8
8
|
#localTransform = new LocalTransform();
|
|
9
9
|
#matterBody;
|
|
10
10
|
#useYSort = false;
|
|
11
|
+
#collisionsEnabled = true;
|
|
11
12
|
constructor(options) {
|
|
12
13
|
super(new PixiContainer({ sortableChildren: true }));
|
|
13
14
|
const r = options.rigidbody;
|
|
@@ -43,7 +44,8 @@ export class PhysicsObject extends RenderableNode {
|
|
|
43
44
|
: parent.constructor?.name ?? typeof parent;
|
|
44
45
|
throw new Error(`PhysicsObject parent must be PhysicsWorld, but got ${actual}`);
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
if (this.#collisionsEnabled)
|
|
48
|
+
parent.addBody(this.#matterBody);
|
|
47
49
|
super.parent = parent;
|
|
48
50
|
}
|
|
49
51
|
get parent() {
|
|
@@ -86,7 +88,12 @@ export class PhysicsObject extends RenderableNode {
|
|
|
86
88
|
set isStatic(v) { Matter.Body.setStatic(this.#matterBody, v); }
|
|
87
89
|
get isStatic() { return this.#matterBody.isStatic; }
|
|
88
90
|
disableCollisions() {
|
|
91
|
+
this.#collisionsEnabled = false;
|
|
89
92
|
this.#removeFromWorld();
|
|
90
93
|
}
|
|
94
|
+
enableCollisions() {
|
|
95
|
+
this.#collisionsEnabled = true;
|
|
96
|
+
this.parent?.addBody(this.#matterBody);
|
|
97
|
+
}
|
|
91
98
|
}
|
|
92
99
|
//# sourceMappingURL=physics-object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics-object.js","sourceRoot":"","sources":["../../../src/node/physics/physics-object.ts"],"names":[],"mappings":"AACA,OAAO,MAAsC,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAa,aAAa,EAAE,MAAM,eAAe,CAAA;AAgBxD,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"physics-object.js","sourceRoot":"","sources":["../../../src/node/physics/physics-object.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventMap } from '@webtaku/event-emitter'\nimport Matter, { IChamferableBodyDefinition } from 'matter-js'\nimport { Container as PixiContainer } from 'pixi.js'\nimport { GameNode } from '../core/game-node'\nimport { isRenderableNode, RenderableNode } from '../core/renderable'\nimport { LocalTransform } from '../core/transform'\nimport { PhysicsWorld } from './physics-world'\nimport { Rigidbody, RigidbodyType } from './rigidbodies'\n\nexport type PhysicsObjectOptions = {\n rigidbody: Rigidbody\n\n x?: number\n y?: number\n rotation?: number\n fixedRotation?: boolean\n velocityX?: number\n velocityY?: number\n isStatic?: boolean\n\n useYSort?: boolean\n}\n\nexport class PhysicsObject<E extends EventMap = {}> extends RenderableNode<PixiContainer, E> {\n #localTransform = new LocalTransform()\n #matterBody: Matter.Body\n\n #useYSort = false\n #collisionsEnabled = true\n\n constructor(options: PhysicsObjectOptions) {\n super(new PixiContainer({ sortableChildren: true }))\n\n const r = options.rigidbody\n const x = options.x ?? 0\n const y = options.y ?? 0\n\n const bodyOptions: IChamferableBodyDefinition = {\n angle: options.rotation ?? 0,\n velocity: { x: options.velocityX ?? 0, y: options.velocityY ?? 0 },\n isStatic: options.isStatic ?? false\n }\n\n if (options.fixedRotation) {\n bodyOptions.inertia = Infinity\n bodyOptions.angularVelocity = 0\n }\n\n if (r.type === RigidbodyType.Rectangle) {\n this.#matterBody = Matter.Bodies.rectangle(x, y, r.width, r.height, bodyOptions)\n } else if (r.type === RigidbodyType.Circle) {\n this.#matterBody = Matter.Bodies.circle(x, y, r.radius, bodyOptions)\n } else if (r.type === RigidbodyType.Polygon) {\n this.#matterBody = Matter.Bodies.fromVertices(x, y, [r.vertices], bodyOptions)\n } else {\n throw new Error('Invalid rigidbody type')\n }\n\n this.#useYSort = options.useYSort ?? false\n }\n\n protected override set parent(parent: GameNode<EventMap> | undefined) {\n if (!(parent instanceof PhysicsWorld)) {\n const actual = parent === undefined\n ? 'undefined'\n : parent.constructor?.name ?? typeof parent\n throw new Error(`PhysicsObject parent must be PhysicsWorld, but got ${actual}`)\n }\n if (this.#collisionsEnabled) parent.addBody(this.#matterBody)\n super.parent = parent\n }\n\n protected override get parent() {\n return super.parent\n }\n\n override _updateWorldTransform() {\n const mb = this.#matterBody\n\n const pc = this._pixiContainer\n pc.position.set(mb.position.x, mb.position.y)\n if (this.#useYSort) pc.zIndex = mb.position.y\n pc.rotation = mb.angle\n\n const lt = this.#localTransform\n lt.x = mb.position.x\n lt.y = mb.position.y\n lt.rotation = mb.angle\n\n const parent = this.parent\n if (parent && isRenderableNode(parent)) {\n this.worldTransform.update(parent.worldTransform, this.#localTransform)\n }\n\n super._updateWorldTransform()\n }\n\n #removeFromWorld() {\n (this.parent as PhysicsWorld)?.removeBody(this.#matterBody)\n }\n\n override remove() {\n this.#removeFromWorld()\n super.remove()\n }\n\n set x(v) { Matter.Body.setPosition(this.#matterBody, { x: v, y: this.#matterBody.position.y }) }\n get x() { return this.#matterBody.position.x }\n\n set y(v) { Matter.Body.setPosition(this.#matterBody, { x: this.#matterBody.position.x, y: v }) }\n get y() { return this.#matterBody.position.y }\n\n set rotation(v) { Matter.Body.setAngle(this.#matterBody, v) }\n get rotation() { return this.#matterBody.angle }\n\n set velocityX(v) { Matter.Body.setVelocity(this.#matterBody, { x: v, y: this.#matterBody.velocity.y }) }\n get velocityX() { return this.#matterBody.velocity.x }\n\n set velocityY(v) { Matter.Body.setVelocity(this.#matterBody, { x: this.#matterBody.velocity.x, y: v }) }\n get velocityY() { return this.#matterBody.velocity.y }\n\n set isStatic(v) { Matter.Body.setStatic(this.#matterBody, v) }\n get isStatic() { return this.#matterBody.isStatic }\n\n disableCollisions() {\n this.#collisionsEnabled = false\n this.#removeFromWorld()\n }\n\n enableCollisions() {\n this.#collisionsEnabled = true;\n (this.parent as PhysicsWorld)?.addBody(this.#matterBody)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics-world.js","sourceRoot":"","sources":["../../../src/node/physics/physics-world.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAMnD,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"physics-world.js","sourceRoot":"","sources":["../../../src/node/physics/physics-world.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAMnD,MAAM,OAAO,YAAsC,SAAQ,cAAgC;IACzF,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IAEtC,YAAY,OAA6B;QACvC,KAAK,CAAC,IAAI,aAAa,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAEpD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;QAEhC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC;IACnD,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC,CAAC;IAErD,OAAO,CAAC,IAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC;IAC/E,UAAU,CAAC,IAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC;IAElE,MAAM,CAAC,EAAU;QAClC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEhB,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAA;QAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACjF,CAAC;IAEQ,MAAM;QACb,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,KAAK,CAAC,MAAM,EAAE,CAAA;IAChB,CAAC;CACF","sourcesContent":["import { EventMap } from '@webtaku/event-emitter'\nimport Matter from 'matter-js'\nimport { Container as PixiContainer } from 'pixi.js'\nimport { RenderableNode } from '../core/renderable'\n\nexport type PhysicsWorldOptions = {\n gravity?: number\n}\n\nexport class PhysicsWorld<E extends EventMap = {}> extends RenderableNode<PixiContainer, E> {\n #matterEngine = Matter.Engine.create()\n\n constructor(options?: PhysicsWorldOptions) {\n super(new PixiContainer({ sortableChildren: true }))\n\n this.worldTransform.x.v = 0\n this.worldTransform.y.v = 0\n this.worldTransform.resetDirty()\n\n this.gravity = options?.gravity ?? 0\n }\n\n set gravity(v) { this.#matterEngine.gravity.y = v }\n get gravity() { return this.#matterEngine.gravity.y }\n\n addBody(body: Matter.Body) { Matter.World.add(this.#matterEngine.world, body) }\n removeBody(body: Matter.Body) { Matter.World.remove(this.#matterEngine.world, body) }\n\n protected override update(dt: number) {\n if (this.paused) return\n super.update(dt)\n\n const matterDt = dt * 1000\n Matter.Engine.update(this.#matterEngine, matterDt > 16.666 ? 16.666 : matterDt)\n }\n\n override remove() {\n Matter.Engine.clear(this.#matterEngine)\n super.remove()\n }\n}\n"]}
|
|
@@ -6,5 +6,7 @@ export type AssetSource = string | {
|
|
|
6
6
|
fnt: string;
|
|
7
7
|
src: string;
|
|
8
8
|
};
|
|
9
|
+
export declare function loadAsset(asset: AssetSource): Promise<void>;
|
|
10
|
+
export declare function releaseAsset(...assets: AssetSource[]): void;
|
|
9
11
|
export declare function preload(assets: AssetSource[], progressCallback?: (progress: number) => void): Promise<() => void>;
|
|
10
12
|
//# sourceMappingURL=preload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../../src/asset/preload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAUtC,MAAM,MAAM,WAAW,GAAG,MAAM,GAC5B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC7B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../../../src/asset/preload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAUtC,MAAM,MAAM,WAAW,GAAG,MAAM,GAC5B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC7B;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAchC,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBjE;AAED,wBAAgB,YAAY,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAkB3D;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,WAAW,EAAE,EACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAC5C,OAAO,CAAC,MAAM,IAAI,CAAC,CAiBrB"}
|
|
@@ -6,7 +6,7 @@ export type DomAnimatedSpriteNodeOptions = {
|
|
|
6
6
|
atlas: Atlas;
|
|
7
7
|
animation: string;
|
|
8
8
|
} & DomGameObjectOptions;
|
|
9
|
-
export declare class DomAnimatedSpriteNode<E extends EventMap =
|
|
9
|
+
export declare class DomAnimatedSpriteNode<E extends EventMap = {}> extends DomGameObject<E & {
|
|
10
10
|
animationend: (animation: string) => void;
|
|
11
11
|
}> {
|
|
12
12
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-animated-sprite.d.ts","sourceRoot":"","sources":["../../../src/dom/dom-animated-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAa,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAIvE,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,oBAAoB,CAAA;AAExB,qBAAa,qBAAqB,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"dom-animated-sprite.d.ts","sourceRoot":"","sources":["../../../src/dom/dom-animated-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAa,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAIvE,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,oBAAoB,CAAA;AAExB,qBAAa,qBAAqB,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,aAAa,CAAC,CAAC,GAAG;IACpF,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAC;;gBAUY,OAAO,EAAE,4BAA4B;IAiCxC,MAAM,CAAC,EAAE,EAAE,MAAM;IAuC1B,IAAI,GAAG,CAAC,GAAG,QAAA,EAMV;IAED,IAAI,GAAG,WAAuB;IAE9B,IAAI,KAAK,CAAC,KAAK,OAAA,EAMd;IAED,IAAI,KAAK,UAAyB;IAElC,IAAI,SAAS,CAAC,SAAS,QAAA,EAOtB;IAED,IAAI,SAAS,WAA6B;IAEjC,MAAM;CAIhB"}
|
|
@@ -15,7 +15,7 @@ export type DomGameObjectOptions = {
|
|
|
15
15
|
alpha?: number;
|
|
16
16
|
useYSort?: boolean;
|
|
17
17
|
};
|
|
18
|
-
export declare class DomGameObject<E extends EventMap =
|
|
18
|
+
export declare class DomGameObject<E extends EventMap = {}> extends GameNode<E> {
|
|
19
19
|
#private;
|
|
20
20
|
protected el: HTMLDivElement;
|
|
21
21
|
worldTransform: WorldTransform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-game-object.d.ts","sourceRoot":"","sources":["../../../src/dom/dom-game-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAkB,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvE,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAcD,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"dom-game-object.d.ts","sourceRoot":"","sources":["../../../src/dom/dom-game-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAkB,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvE,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAcD,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IACrE,SAAS,CAAC,EAAE,iBAAgC;IAG5C,cAAc,iBAAuB;IACrC,KAAK,SAAI;IACT,UAAU,cAAqB;gBAGnB,OAAO,CAAC,EAAE,oBAAoB;IA0B1C,MAAM,CAAC,EAAE,EAAE,MAAM;IAgCjB,QAAQ,CAAC,MAAM,EAAE,WAAW;IAO5B,IAAI,CAAC,CAAC,CAAC,QAAA,EAAgC;IACvC,IAAI,CAAC,WAAoC;IAEzC,IAAI,CAAC,CAAC,CAAC,QAAA,EAAgC;IACvC,IAAI,CAAC,WAAoC;IAEzC,IAAI,KAAK,CAAC,CAAC,QAAA,EAAsE;IACjF,IAAI,KAAK,WAAyC;IAElD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAqC;IACjD,IAAI,MAAM,WAAyC;IAEnD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAqC;IACjD,IAAI,MAAM,WAAyC;IAEnD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAqC;IACjD,IAAI,MAAM,WAAyC;IAEnD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAqC;IACjD,IAAI,MAAM,WAAyC;IAEnD,IAAI,QAAQ,CAAC,CAAC,QAAA,EAAuC;IACrD,IAAI,QAAQ,WAA2C;CACxD"}
|
|
@@ -3,7 +3,7 @@ import { DomGameObject, DomGameObjectOptions } from './dom-game-object';
|
|
|
3
3
|
export type DomSpriteNodeOptions = {
|
|
4
4
|
src: string;
|
|
5
5
|
} & DomGameObjectOptions;
|
|
6
|
-
export declare class DomSpriteNode<E extends EventMap =
|
|
6
|
+
export declare class DomSpriteNode<E extends EventMap = {}> extends DomGameObject<E> {
|
|
7
7
|
#private;
|
|
8
8
|
constructor(options: DomSpriteNodeOptions);
|
|
9
9
|
set src(src: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-sprite.d.ts","sourceRoot":"","sources":["../../../src/dom/dom-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAIvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,oBAAoB,CAAA;AAExB,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"dom-sprite.d.ts","sourceRoot":"","sources":["../../../src/dom/dom-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAIvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,oBAAoB,CAAA;AAExB,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;;gBAG9D,OAAO,EAAE,oBAAoB;IAuBzC,IAAI,GAAG,CAAC,GAAG,QAAA,EAMV;IAED,IAAI,GAAG,WAAuB;IAErB,MAAM;CAIhB"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { GameObject, GameObjectOptions } from './node/core/game-object';
|
|
|
2
2
|
export { Renderer, RendererOptions } from './renderer/renderer';
|
|
3
3
|
export { Ticker } from './renderer/ticker';
|
|
4
4
|
export { musicPlayer, sfxPlayer } from './asset/audio';
|
|
5
|
-
export { AssetSource, preload } from './asset/preload';
|
|
5
|
+
export { AssetSource, loadAsset, preload, releaseAsset } from './asset/preload';
|
|
6
6
|
export { Atlas } from './types/atlas';
|
|
7
7
|
export { checkCollision } from './collision/check-collision';
|
|
8
8
|
export { CircleCollider, Collider, ColliderType, EllipseCollider, PolygonCollider, RectangleCollider } from './collision/colliders';
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGvE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGvE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGnI,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGjE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG5H,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { EventMap } from '@webtaku/event-emitter';
|
|
|
2
2
|
import { Container as PixiContainer } from 'pixi.js';
|
|
3
3
|
import { TransformableNode, TransformableNodeOptions } from './transformable';
|
|
4
4
|
export type GameObjectOptions = {} & TransformableNodeOptions;
|
|
5
|
-
export declare class GameObject<E extends EventMap =
|
|
5
|
+
export declare class GameObject<E extends EventMap = {}> extends TransformableNode<PixiContainer, E> {
|
|
6
6
|
constructor(options?: GameObjectOptions);
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=game-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game-object.d.ts","sourceRoot":"","sources":["../../../../src/node/core/game-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,EAAE,GAAG,wBAAwB,CAAA;AAE7D,qBAAa,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"game-object.d.ts","sourceRoot":"","sources":["../../../../src/node/core/game-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,EAAE,GAAG,wBAAwB,CAAA;AAE7D,qBAAa,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC9E,OAAO,CAAC,EAAE,iBAAiB;CAGxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../../../../src/node/core/renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAEzF;AAED,8BAAsB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IAEnG,cAAc,EAAE,CAAC,CAAA;IAEjB,cAAc,iBAAuB;IACrC,UAAU,cAAqB;gBAEnB,aAAa,EAAE,CAAC;IAK5B,SAAS,KAAK,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAQpD;IAED,SAAS,KAAK,QAAQ,IAVW,QAAQ,GAAG,SAAS,CAYpD;IAEQ,GAAG,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAarC,MAAM;IAKf,qBAAqB;IAMrB,yBAAyB;IAQzB,IAAI,IAAI,CAAC,CAAC,QAAA,EAAkC;IAC5C,IAAI,IAAI,WAAsC;
|
|
1
|
+
{"version":3,"file":"renderable.d.ts","sourceRoot":"","sources":["../../../../src/node/core/renderable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAEzF;AAED,8BAAsB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IAEnG,cAAc,EAAE,CAAC,CAAA;IAEjB,cAAc,iBAAuB;IACrC,UAAU,cAAqB;gBAEnB,aAAa,EAAE,CAAC;IAK5B,SAAS,KAAK,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAQpD;IAED,SAAS,KAAK,QAAQ,IAVW,QAAQ,GAAG,SAAS,CAYpD;IAEQ,GAAG,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAarC,MAAM;IAKf,qBAAqB;IAMrB,yBAAyB;IAQzB,IAAI,IAAI,CAAC,CAAC,QAAA,EAAkC;IAC5C,IAAI,IAAI,WAAsC;IAE9C,IAAI;IACJ,IAAI;CACL"}
|
|
@@ -12,6 +12,7 @@ export type TransformableNodeOptions = {
|
|
|
12
12
|
pivotX?: number;
|
|
13
13
|
pivotY?: number;
|
|
14
14
|
rotation?: number;
|
|
15
|
+
drawOrder?: number;
|
|
15
16
|
alpha?: number;
|
|
16
17
|
layer?: string;
|
|
17
18
|
useYSort?: boolean;
|
|
@@ -40,5 +41,7 @@ export declare abstract class TransformableNode<C extends PixiContainer, E exten
|
|
|
40
41
|
get pivotY(): number;
|
|
41
42
|
set rotation(v: number);
|
|
42
43
|
get rotation(): number;
|
|
44
|
+
set drawOrder(v: number);
|
|
45
|
+
get drawOrder(): number;
|
|
43
46
|
}
|
|
44
47
|
//# sourceMappingURL=transformable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformable.d.ts","sourceRoot":"","sources":["../../../../src/node/core/transformable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAoB,cAAc,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"transformable.d.ts","sourceRoot":"","sources":["../../../../src/node/core/transformable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAoB,cAAc,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,SAAS,QAAQ,CAAE,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;;IAC/G,SAAS,CAAC,cAAc,iBAAuB;IAE/C,KAAK,SAAI;gBAIG,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,wBAAwB;IAkB/D,cAAuB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAM7D;IAED,cAAuB,QAAQ,IARW,QAAQ,GAAG,SAAS,CAU7D;IAEQ,qBAAqB;IA8B9B,IAAI,CAAC,CAAC,CAAC,QAAA,EAA+B;IACtC,IAAI,CAAC,WAAmC;IAExC,IAAI,CAAC,CAAC,CAAC,QAAA,EAA+B;IACtC,IAAI,CAAC,WAAmC;IAExC,IAAI,KAAK,CAAC,CAAC,QAAA,EAAoE;IAC/E,IAAI,KAAK,WAAwC;IAEjD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAoC;IAChD,IAAI,MAAM,WAAwC;IAElD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAoC;IAChD,IAAI,MAAM,WAAwC;IAElD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAoC;IAChD,IAAI,MAAM,WAAwC;IAElD,IAAI,MAAM,CAAC,CAAC,QAAA,EAAoC;IAChD,IAAI,MAAM,WAAwC;IAElD,IAAI,QAAQ,CAAC,CAAC,QAAA,EAAsC;IACpD,IAAI,QAAQ,WAA0C;IAEtD,IAAI,SAAS,CAAC,CAAC,QAAA,EAAoC;IACnD,IAAI,SAAS,WAAwC;CACtD"}
|
|
@@ -6,7 +6,7 @@ export type AnimatedSpriteNodeOptions = {
|
|
|
6
6
|
atlas: Atlas;
|
|
7
7
|
animation: string;
|
|
8
8
|
} & GameObjectOptions;
|
|
9
|
-
export declare class AnimatedSpriteNode<E extends EventMap =
|
|
9
|
+
export declare class AnimatedSpriteNode<E extends EventMap = {}> extends GameObject<E & {
|
|
10
10
|
animationend: (animation: string) => void;
|
|
11
11
|
}> {
|
|
12
12
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-sprite.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/animated-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,iBAAiB,CAAA;AAErB,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"animated-sprite.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/animated-sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,iBAAiB,CAAA;AAErB,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,UAAU,CAAC,CAAC,GAAG;IAC9E,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAC;;gBASY,OAAO,EAAE,yBAAyB;IA+C9C,IAAI,GAAG,CAAC,GAAG,QAAA,EAMV;IAED,IAAI,GAAG,WAAuB;IAE9B,IAAI,KAAK,CAAC,KAAK,OAAA,EAMd;IAED,IAAI,KAAK,UAAyB;IAElC,IAAI,SAAS,CAAC,SAAS,QAAA,EAKtB;IAED,IAAI,SAAS,WAA6B;IAE1C,MAAM;CAIP"}
|
|
@@ -3,12 +3,14 @@ import { GameObject, GameObjectOptions } from '../core/game-object';
|
|
|
3
3
|
export type BitmapTextNodeOptions = {
|
|
4
4
|
fnt: string;
|
|
5
5
|
src: string;
|
|
6
|
-
text
|
|
6
|
+
text?: string;
|
|
7
7
|
} & GameObjectOptions;
|
|
8
|
-
export declare class BitmapTextNode<E extends EventMap =
|
|
8
|
+
export declare class BitmapTextNode<E extends EventMap = {}> extends GameObject<E> {
|
|
9
9
|
#private;
|
|
10
10
|
constructor(options: BitmapTextNodeOptions);
|
|
11
11
|
changeFont(fnt: string, src: string): void;
|
|
12
|
+
set text(text: string | undefined);
|
|
13
|
+
get text(): string | undefined;
|
|
12
14
|
remove(): void;
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=bitmap-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitmap-text.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/bitmap-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"bitmap-text.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/bitmap-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAIjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,iBAAiB,CAAA;AAErB,qBAAa,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;gBAQ5D,OAAO,EAAE,qBAAqB;IAsF1C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IASnC,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAGhC;IAED,IAAI,IAAI,IALO,MAAM,GAAG,SAAS,CAOhC;IAEQ,MAAM;CAIhB"}
|
|
@@ -10,7 +10,7 @@ export type SpineNodeOptions = {
|
|
|
10
10
|
animation?: string;
|
|
11
11
|
loop?: boolean;
|
|
12
12
|
} & GameObjectOptions;
|
|
13
|
-
export declare class SpineNode<E extends EventMap =
|
|
13
|
+
export declare class SpineNode<E extends EventMap = {}> extends GameObject<E & {
|
|
14
14
|
animationend: (animation: string) => void;
|
|
15
15
|
}> {
|
|
16
16
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spine.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/spine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAKjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAExC,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GAAG,iBAAiB,CAAA;AAErB,qBAAa,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"spine.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/spine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAKjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAExC,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GAAG,iBAAiB,CAAA;AAErB,qBAAa,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,UAAU,CAAC,CAAC,GAAG;IACrE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAC;;gBAcY,OAAO,EAAE,gBAAgB;IA2MrC,IAAI,KAAK,CAAC,KAAK,QAAA,EAKd;IAED,IAAI,KAAK,WAAyB;IAElC,IAAI,OAAO,CAAC,OAAO,iCAAA,EAKlB;IAED,IAAI,OAAO,oCAA2B;IAEtC,IAAI,eAAe,CAAC,eAAe,KAAA,EAKlC;IAED,IAAI,eAAe,QAAmC;IAEtD,IAAI,IAAI,CAAC,IAAI,oBAAA,EAKZ;IAED,IAAI,IAAI,uBAAwB;IAEhC,IAAI,IAAI,CAAC,IAAI,oBAAA,EAKZ;IAED,IAAI,IAAI,uBAAwB;IAEhC,IAAI,KAAK,CAAC,KAAK,sBAAA,EAKd;IAED,IAAI,KAAK,yBAAyB;IAElC,IAAI,SAAS,CAAC,SAAS,oBAAA,EAKtB;IAED,IAAI,SAAS,uBAA6B;IAE1C,IAAI,IAAI,CAAC,IAAI,qBAAA,EAKZ;IAED,IAAI,IAAI,wBAAwB;IAEhC,MAAM;CAUP"}
|
|
@@ -3,7 +3,7 @@ import { GameObject, GameObjectOptions } from '../core/game-object';
|
|
|
3
3
|
export type SpriteNodeOptions = {
|
|
4
4
|
src: string;
|
|
5
5
|
} & GameObjectOptions;
|
|
6
|
-
export declare class SpriteNode<E extends EventMap =
|
|
6
|
+
export declare class SpriteNode<E extends EventMap = {}> extends GameObject<E> {
|
|
7
7
|
#private;
|
|
8
8
|
constructor(options: SpriteNodeOptions);
|
|
9
9
|
set src(src: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,iBAAiB,CAAA;AAErB,qBAAa,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../src/node/ext/sprite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,iBAAiB,CAAA;AAErB,qBAAa,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;gBAIxD,OAAO,EAAE,iBAAiB;IAyBtC,IAAI,GAAG,CAAC,GAAG,QAAA,EAMV;IAED,IAAI,GAAG,WAAuB;IAErB,MAAM;CAIhB"}
|
|
@@ -14,7 +14,7 @@ export type PhysicsObjectOptions = {
|
|
|
14
14
|
isStatic?: boolean;
|
|
15
15
|
useYSort?: boolean;
|
|
16
16
|
};
|
|
17
|
-
export declare class PhysicsObject<E extends EventMap =
|
|
17
|
+
export declare class PhysicsObject<E extends EventMap = {}> extends RenderableNode<PixiContainer, E> {
|
|
18
18
|
#private;
|
|
19
19
|
constructor(options: PhysicsObjectOptions);
|
|
20
20
|
protected set parent(parent: GameNode<EventMap> | undefined);
|
|
@@ -34,5 +34,6 @@ export declare class PhysicsObject<E extends EventMap = EventMap> extends Render
|
|
|
34
34
|
set isStatic(v: boolean);
|
|
35
35
|
get isStatic(): boolean;
|
|
36
36
|
disableCollisions(): void;
|
|
37
|
+
enableCollisions(): void;
|
|
37
38
|
}
|
|
38
39
|
//# sourceMappingURL=physics-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics-object.d.ts","sourceRoot":"","sources":["../../../../src/node/physics/physics-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGrE,OAAO,EAAE,SAAS,EAAiB,MAAM,eAAe,CAAA;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,SAAS,CAAA;IAEpB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"physics-object.d.ts","sourceRoot":"","sources":["../../../../src/node/physics/physics-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGrE,OAAO,EAAE,SAAS,EAAiB,MAAM,eAAe,CAAA;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,SAAS,CAAA;IAEpB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC;;gBAO9E,OAAO,EAAE,oBAAoB;IA+BzC,cAAuB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,EASnE;IAED,cAAuB,MAAM,IAXS,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAanE;IAEQ,qBAAqB;IAyBrB,MAAM;IAKf,IAAI,CAAC,CAAC,CAAC,QAAA,EAAyF;IAChG,IAAI,CAAC,WAAyC;IAE9C,IAAI,CAAC,CAAC,CAAC,QAAA,EAAyF;IAChG,IAAI,CAAC,WAAyC;IAE9C,IAAI,QAAQ,CAAC,CAAC,QAAA,EAA+C;IAC7D,IAAI,QAAQ,WAAoC;IAEhD,IAAI,SAAS,CAAC,CAAC,QAAA,EAAyF;IACxG,IAAI,SAAS,WAAyC;IAEtD,IAAI,SAAS,CAAC,CAAC,QAAA,EAAyF;IACxG,IAAI,SAAS,WAAyC;IAEtD,IAAI,QAAQ,CAAC,CAAC,SAAA,EAAgD;IAC9D,IAAI,QAAQ,YAAuC;IAEnD,iBAAiB;IAKjB,gBAAgB;CAIjB"}
|
|
@@ -5,7 +5,7 @@ import { RenderableNode } from '../core/renderable';
|
|
|
5
5
|
export type PhysicsWorldOptions = {
|
|
6
6
|
gravity?: number;
|
|
7
7
|
};
|
|
8
|
-
export declare class PhysicsWorld<E extends EventMap =
|
|
8
|
+
export declare class PhysicsWorld<E extends EventMap = {}> extends RenderableNode<PixiContainer, E> {
|
|
9
9
|
#private;
|
|
10
10
|
constructor(options?: PhysicsWorldOptions);
|
|
11
11
|
set gravity(v: number);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"physics-world.d.ts","sourceRoot":"","sources":["../../../../src/node/physics/physics-world.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"physics-world.d.ts","sourceRoot":"","sources":["../../../../src/node/physics/physics-world.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,EAAE,CAAE,SAAQ,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC;;gBAG7E,OAAO,CAAC,EAAE,mBAAmB;IAUzC,IAAI,OAAO,CAAC,CAAC,QAAA,EAAsC;IACnD,IAAI,OAAO,WAA0C;IAErD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI;IACzB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI;cAET,MAAM,CAAC,EAAE,EAAE,MAAM;IAQ3B,MAAM;CAIhB"}
|
package/package.json
CHANGED
package/src/asset/preload.ts
CHANGED
|
@@ -24,7 +24,7 @@ function getLoaderForPath(path: string): Loader<any> | undefined {
|
|
|
24
24
|
return loaderForPathMap.find(({ check }) => check(path))?.loader
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
async function loadAsset(asset: AssetSource): Promise<void> {
|
|
27
|
+
export async function loadAsset(asset: AssetSource): Promise<void> {
|
|
28
28
|
if (typeof asset === 'string') {
|
|
29
29
|
const loader = getLoaderForPath(asset)
|
|
30
30
|
if (!loader) {
|
|
@@ -42,21 +42,23 @@ async function loadAsset(asset: AssetSource): Promise<void> {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
function releaseAsset(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
export function releaseAsset(...assets: AssetSource[]): void {
|
|
46
|
+
for (const asset of assets) {
|
|
47
|
+
if (typeof asset === 'string') {
|
|
48
|
+
const loader = getLoaderForPath(asset)
|
|
49
|
+
if (!loader) {
|
|
50
|
+
console.warn(`No loader found for asset: ${asset}`)
|
|
51
|
+
return
|
|
52
|
+
}
|
|
53
|
+
loader.release(asset)
|
|
54
|
+
} else if ('atlas' in asset) {
|
|
55
|
+
const id = getCachedAtlasId(asset.src, asset.atlas)
|
|
56
|
+
spritesheetLoader.release(id)
|
|
57
|
+
} else if ('fnt' in asset) {
|
|
58
|
+
bitmapFontLoader.release(asset.fnt)
|
|
59
|
+
} else {
|
|
60
|
+
console.warn(`Unknown asset type: ${asset}`)
|
|
51
61
|
}
|
|
52
|
-
loader.release(asset)
|
|
53
|
-
} else if ('atlas' in asset) {
|
|
54
|
-
const id = getCachedAtlasId(asset.src, asset.atlas)
|
|
55
|
-
spritesheetLoader.release(id)
|
|
56
|
-
} else if ('fnt' in asset) {
|
|
57
|
-
bitmapFontLoader.release(asset.fnt)
|
|
58
|
-
} else {
|
|
59
|
-
console.warn(`Unknown asset type: ${asset}`)
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
|
|
@@ -79,5 +81,5 @@ export async function preload(
|
|
|
79
81
|
})
|
|
80
82
|
)
|
|
81
83
|
|
|
82
|
-
return () => assets
|
|
84
|
+
return () => releaseAsset(...assets)
|
|
83
85
|
}
|
|
@@ -10,7 +10,7 @@ export type DomAnimatedSpriteNodeOptions = {
|
|
|
10
10
|
animation: string
|
|
11
11
|
} & DomGameObjectOptions
|
|
12
12
|
|
|
13
|
-
export class DomAnimatedSpriteNode<E extends EventMap =
|
|
13
|
+
export class DomAnimatedSpriteNode<E extends EventMap = {}> extends DomGameObject<E & {
|
|
14
14
|
animationend: (animation: string) => void
|
|
15
15
|
}> {
|
|
16
16
|
#src: string
|
|
@@ -34,7 +34,7 @@ class DomRootNode extends GameNode<EventMap> {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export class DomGameObject<E extends EventMap =
|
|
37
|
+
export class DomGameObject<E extends EventMap = {}> extends GameNode<E> {
|
|
38
38
|
protected el = document.createElement('div')
|
|
39
39
|
|
|
40
40
|
#localTransform = new LocalTransform()
|
package/src/dom/dom-sprite.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type DomSpriteNodeOptions = {
|
|
|
7
7
|
src: string
|
|
8
8
|
} & DomGameObjectOptions
|
|
9
9
|
|
|
10
|
-
export class DomSpriteNode<E extends EventMap =
|
|
10
|
+
export class DomSpriteNode<E extends EventMap = {}> extends DomGameObject<E> {
|
|
11
11
|
#src: string
|
|
12
12
|
|
|
13
13
|
constructor(options: DomSpriteNodeOptions) {
|
package/src/index.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { Ticker } from './renderer/ticker'
|
|
|
7
7
|
|
|
8
8
|
// Assets
|
|
9
9
|
export { musicPlayer, sfxPlayer } from './asset/audio'
|
|
10
|
-
export { AssetSource, preload } from './asset/preload'
|
|
10
|
+
export { AssetSource, loadAsset, preload, releaseAsset } from './asset/preload'
|
|
11
11
|
export { Atlas } from './types/atlas'
|
|
12
12
|
|
|
13
13
|
// Collision
|
|
@@ -4,7 +4,7 @@ import { TransformableNode, TransformableNodeOptions } from './transformable'
|
|
|
4
4
|
|
|
5
5
|
export type GameObjectOptions = {} & TransformableNodeOptions
|
|
6
6
|
|
|
7
|
-
export class GameObject<E extends EventMap =
|
|
7
|
+
export class GameObject<E extends EventMap = {}> extends TransformableNode<PixiContainer, E> {
|
|
8
8
|
constructor(options?: GameObjectOptions) {
|
|
9
9
|
super(new PixiContainer({ sortableChildren: true }), options ?? {})
|
|
10
10
|
}
|