@combos-fun/plugin-renderer-sprite 0.0.54 → 0.1.1

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/agent-skill.md CHANGED
@@ -28,4 +28,4 @@ Pixi `Spritesheet.parse()` also registers these keys in the Texture cache, so
28
28
  icon.addComponent(new Sprite({ resource: 'icons', spriteName: 'coin' }));
29
29
  ```
30
30
 
31
- Display dimensions follow `Transform.size`, not the source frame. The system observes `spriteName`, not `resource`; treat `resource` as construction-time configuration rather than expecting assignment to it alone to redraw.
31
+ Display dimensions follow `Transform2D.size`, not the source frame. The system observes `spriteName`, not `resource`; treat `resource` as construction-time configuration rather than expecting assignment to it alone to redraw.
@@ -85,7 +85,7 @@ let Sprite = class Sprite extends pluginRenderer.Renderer {
85
85
  this.renderSystem.rendererManager.register(this);
86
86
  }
87
87
  rendererUpdate(gameObject) {
88
- const { width, height } = gameObject.transform.size;
88
+ const { width, height } = gameObject.getComponent(pluginRenderer.Transform2D)?.size ?? { width: 0, height: 0 };
89
89
  if (this.sprites[gameObject.id]) {
90
90
  this.sprites[gameObject.id].sprite.width = width;
91
91
  this.sprites[gameObject.id].sprite.height = height;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-renderer-sprite.cjs.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { Field } from '@combos-fun/inspector-decorator';\n\nexport interface SpriteParams {\n resource: string;\n spriteName: string;\n}\n\nexport default class Sprite extends Component<SpriteParams> {\n static componentName: string = 'Sprite';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'resource',\n description: 'Atlas or sprite sheet resource id.',\n editor: 'text',\n })\n resource: string = '';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'spriteName',\n description: 'Frame name inside the atlas resource.',\n editor: 'text',\n })\n spriteName: string = '';\n\n init(obj?: SpriteParams) {\n if (obj && obj.resource) {\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n }\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE, normalizeSpritesheetData } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';\n\nimport SpriteComponent from './component';\nimport { Sprite as SpriteEngine } from '@combos-fun/renderer-adapter';\nimport { Spritesheet, Texture } from 'pixi.js';\n\nconst resourceKeySplit = RESOURCE_KEY_SPLIT;\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {\n const textureObj = normalizeSpritesheetData(data.json);\n const texture = Texture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n const textures = await spriteSheet.parse();\n return textures;\n});\n\nresource.registerDestroy(RESOURCE_TYPE.SPRITE, ({ instance }) => {\n if (!instance) return;\n for (const key in instance) {\n instance[key].destroy(true);\n }\n});\n\n@decorators.componentObserver({\n Sprite: ['spriteName'],\n})\nexport default class Sprite extends Renderer {\n static systemName = 'Sprite';\n name: string = 'Sprite';\n sprites: { [propName: number]: SpriteEngine } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.sprites[gameObject.id]) {\n this.sprites[gameObject.id].sprite.width = width;\n this.sprites[gameObject.id].sprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Sprite') {\n const gameObjectId = changed.gameObject.id;\n const component: SpriteComponent = changed.component as SpriteComponent;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const sprite = new SpriteEngine(null);\n this.sprites[changed.gameObject.id] = sprite;\n this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n this.sprites[changed.gameObject.id].image =\n instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.increaseAsyncId(gameObjectId);\n const sprite = this.sprites[changed.gameObject.id];\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);\n sprite.sprite.destroy({ children: true });\n delete this.sprites[changed.gameObject.id];\n }\n }\n }\n}\n"],"names":["Component","__decorate","Field","Sprite","RESOURCE_KEY_SPLIT","resource","RESOURCE_TYPE","normalizeSpritesheetData","Texture","Spritesheet","Renderer","RendererSystem","OBSERVER_TYPE","SpriteEngine","decorators"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-renderer-sprite.cjs.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { Field } from '@combos-fun/inspector-decorator';\n\nexport interface SpriteParams {\n resource: string;\n spriteName: string;\n}\n\nexport default class Sprite extends Component<SpriteParams> {\n static componentName: string = 'Sprite';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'resource',\n description: 'Atlas or sprite sheet resource id.',\n editor: 'text',\n })\n resource: string = '';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'spriteName',\n description: 'Frame name inside the atlas resource.',\n editor: 'text',\n })\n spriteName: string = '';\n\n init(obj?: SpriteParams) {\n if (obj && obj.resource) {\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n }\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE, normalizeSpritesheetData } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer, RESOURCE_KEY_SPLIT, Transform2D } from '@combos-fun/plugin-renderer';\n\nimport SpriteComponent from './component';\nimport { Sprite as SpriteEngine } from '@combos-fun/renderer-adapter';\nimport { Spritesheet, Texture } from 'pixi.js';\n\nconst resourceKeySplit = RESOURCE_KEY_SPLIT;\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {\n const textureObj = normalizeSpritesheetData(data.json);\n const texture = Texture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n const textures = await spriteSheet.parse();\n return textures;\n});\n\nresource.registerDestroy(RESOURCE_TYPE.SPRITE, ({ instance }) => {\n if (!instance) return;\n for (const key in instance) {\n instance[key].destroy(true);\n }\n});\n\n@decorators.componentObserver({\n Sprite: ['spriteName'],\n})\nexport default class Sprite extends Renderer {\n static systemName = 'Sprite';\n name: string = 'Sprite';\n sprites: { [propName: number]: SpriteEngine } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.getComponent(Transform2D)?.size ?? { width: 0, height: 0 };\n if (this.sprites[gameObject.id]) {\n this.sprites[gameObject.id].sprite.width = width;\n this.sprites[gameObject.id].sprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Sprite') {\n const gameObjectId = changed.gameObject.id;\n const component: SpriteComponent = changed.component as SpriteComponent;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const sprite = new SpriteEngine(null);\n this.sprites[changed.gameObject.id] = sprite;\n this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n this.sprites[changed.gameObject.id].image =\n instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.increaseAsyncId(gameObjectId);\n const sprite = this.sprites[changed.gameObject.id];\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);\n sprite.sprite.destroy({ children: true });\n delete this.sprites[changed.gameObject.id];\n }\n }\n }\n}\n"],"names":["Component","__decorate","Field","Sprite","RESOURCE_KEY_SPLIT","resource","RESOURCE_TYPE","normalizeSpritesheetData","Texture","Spritesheet","Renderer","RendererSystem","Transform2D","OBSERVER_TYPE","SpriteEngine","decorators"],"mappings":";;;;;;;;;eAQc,MAAO,MAAO,SAAQA,gBAAuB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QAUE,IAAA,CAAA,QAAQ,GAAW,EAAE;QASrB,IAAA,CAAA,UAAU,GAAW,EAAE;IAQzB;aA1BS,IAAA,CAAA,aAAa,GAAW,QAAX,CAAoB;AAoBxC,IAAA,IAAI,CAAC,GAAkB,EAAA;AACrB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ;AAC5B,YAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU;QAClC;IACF;;AAhBAC,gBAAA,CAAA;AAPC,IAAAC,wBAAK,CAAC;AACL,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,WAAW,EAAE,oCAAoC;AACjD,QAAA,MAAM,EAAE,MAAM;KACf;AACqB,CAAA,EAAAC,QAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAStBF,gBAAA,CAAA;AAPC,IAAAC,wBAAK,CAAC;AACL,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,WAAW,EAAE,uCAAuC;AACpD,QAAA,MAAM,EAAE,MAAM;KACf;AACuB,CAAA,EAAAC,QAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA;;ACpB1B,MAAM,gBAAgB,GAAGC,iCAAkB;AAE3CC,eAAQ,CAAC,gBAAgB,CAACC,oBAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI;IACvE,MAAM,UAAU,GAAGC,+BAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;IACtD,MAAM,OAAO,GAAGC,eAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE;AACtC,IAAA,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE;IAC9C,MAAM,SAAS,GAAG,EAAE;AACpB,IAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,QAAA,MAAM,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,GAAG;QAC5C,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IACjC;AACA,IAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;QAC5B,MAAM,UAAU,GAAG,EAAE;AACrB,QAAA,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAClD,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACxC,gBAAA,MAAM,aAAa,GAAG,IAAI,GAAG,gBAAgB,GAAG,UAAU;AAC1D,gBAAA,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;YAChC;QACF;AACA,QAAA,UAAU,CAAC,GAAG,CAAC,GAAG,UAAU;IAC9B;AACA,IAAA,UAAU,CAAC,MAAM,GAAG,SAAS;IAC7B,MAAM,WAAW,GAAG,IAAIC,mBAAW,CAAC,OAAO,EAAE,UAAU,CAAC;AACxD,IAAA,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE;AAC1C,IAAA,OAAO,QAAQ;AACjB,CAAC,CAAC;AAEFJ,eAAQ,CAAC,eAAe,CAACC,oBAAa,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAI;AAC9D,IAAA,IAAI,CAAC,QAAQ;QAAE;AACf,IAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B;AACF,CAAC,CAAC;AAKa,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQI,uBAAQ,CAAA;AAA7B,IAAA,WAAA,GAAA;;QAEb,IAAA,CAAA,IAAI,GAAW,QAAQ;QACvB,IAAA,CAAA,OAAO,GAAyC,EAAE;IAkDpD;aApDS,IAAA,CAAA,UAAU,GAAG,QAAH,CAAY;IAM7B,IAAI,GAAA;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAACC,6BAAc,CAAmB;QACzE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClD;AACA,IAAA,cAAc,CAAC,UAAsB,EAAA;QACnC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAACC,0BAAW,CAAC,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAC/F,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK;AAChD,YAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;QACpD;IACF;IACA,MAAM,gBAAgB,CAAC,OAAyB,EAAA;AAC9C,QAAA,IAAI,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE;AACtC,YAAA,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE;AAC1C,YAAA,MAAM,SAAS,GAAoB,OAAO,CAAC,SAA4B;YACvE,IAAI,OAAO,CAAC,IAAI,KAAKC,oBAAa,CAAC,GAAG,EAAE;AACtC,gBAAA,MAAM,MAAM,GAAG,IAAIC,sBAAY,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;AAClD,gBAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAMT,eAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC;oBAAE;gBAClD,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,CAAA,WAAA,EAAc,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA,6BAAA,CAA+B,CAAC;oBACnF;gBACF;AACA,gBAAA,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;YACvF;iBAAO,IAAI,OAAO,CAAC,IAAI,KAAKQ,oBAAa,CAAC,MAAM,EAAE;gBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;AAClD,gBAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAMR,eAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC;oBAAE;gBAClD,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,CAAC,KAAK,CAAC,CAAA,WAAA,EAAc,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA,6BAAA,CAA+B,CAAC;oBACnF;gBACF;gBACA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK;oBACvC,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;YAC1E;iBAAO,IAAI,OAAO,CAAC,IAAI,KAAKQ,oBAAa,CAAC,MAAM,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;AAClC,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AAClD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C;QACF;IACF;;AApDmB,MAAM,GAAAZ,gBAAA,CAAA;IAH1Bc,iBAAU,CAAC,iBAAiB,CAAC;QAC5B,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB;AACoB,CAAA,EAAA,MAAM,CAqD1B;qBArDoB,MAAM;;;;;"}
@@ -1 +1 @@
1
- "use strict";var e=require("tslib"),r=require("@combos-fun/engine"),t=require("@combos-fun/inspector-decorator"),s=require("@combos-fun/plugin-renderer"),i=require("@combos-fun/renderer-adapter"),o=require("pixi.js");let n=class extends r.Component{constructor(){super(...arguments),this.resource="",this.spriteName=""}static{this.componentName="Sprite"}init(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)}};e.__decorate([t.Field({type:"string",group:"Sprite",label:"resource",description:"Atlas or sprite sheet resource id.",editor:"text"})],n.prototype,"resource",void 0),e.__decorate([t.Field({type:"string",group:"Sprite",label:"spriteName",description:"Frame name inside the atlas resource.",editor:"text"})],n.prototype,"spriteName",void 0);const a=s.RESOURCE_KEY_SPLIT;r.resource.registerInstance(r.RESOURCE_TYPE.SPRITE,async({name:e,data:t})=>{const s=r.normalizeSpritesheetData(t.json),i=o.Texture.from(t.image),n=s.frames||{},c=s.animations||{},p={};for(const r in n){p[e+a+r]=n[r]}for(const r in c){const t=[];if(c[r]&&c[r].length>=0)for(const s of c[r]){const r=e+a+s;t.push(r)}c[r]=t}s.frames=p;const d=new o.Spritesheet(i,s);return await d.parse()}),r.resource.registerDestroy(r.RESOURCE_TYPE.SPRITE,({instance:e})=>{if(e)for(const r in e)e[r].destroy(!0)});let c=class extends s.Renderer{constructor(){super(...arguments),this.name="Sprite",this.sprites={}}static{this.systemName="Sprite"}init(){this.renderSystem=this.game.getSystem(s.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const{width:r,height:t}=e.transform.size;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=r,this.sprites[e.id].sprite.height=t)}async componentChanged(e){if("Sprite"===e.componentName){const t=e.gameObject.id,s=e.component;if(e.type===r.OBSERVER_TYPE.ADD){const o=new i.Sprite(null);this.sprites[e.gameObject.id]=o,this.containerManager.getContainer(e.gameObject.id).addChildAt(o.sprite,0);const n=this.increaseAsyncId(t),{instance:c}=await r.resource.getResource(s.resource);if(!this.validateAsyncId(t,n))return;if(!c)return void console.error(`GameObject:${e.gameObject.name}'s Sprite resource load error`);o.image=c[s.resource+a+s.spriteName]}else if(e.type===r.OBSERVER_TYPE.CHANGE){const i=this.increaseAsyncId(t),{instance:o}=await r.resource.getResource(s.resource);if(!this.validateAsyncId(t,i))return;if(!o)return void console.error(`GameObject:${e.gameObject.name}'s Sprite resource load error`);this.sprites[e.gameObject.id].image=o[s.resource+a+s.spriteName]}else if(e.type===r.OBSERVER_TYPE.REMOVE){this.increaseAsyncId(t);const r=this.sprites[e.gameObject.id];this.containerManager.getContainer(e.gameObject.id).removeChild(r.sprite),r.sprite.destroy({children:!0}),delete this.sprites[e.gameObject.id]}}}};c=e.__decorate([r.decorators.componentObserver({Sprite:["spriteName"]})],c);var p=c;exports.Sprite=n,exports.SpriteSystem=p;
1
+ "use strict";var e=require("tslib"),t=require("@combos-fun/engine"),r=require("@combos-fun/inspector-decorator"),s=require("@combos-fun/plugin-renderer"),i=require("@combos-fun/renderer-adapter"),o=require("pixi.js");let n=class extends t.Component{constructor(){super(...arguments),this.resource="",this.spriteName=""}static{this.componentName="Sprite"}init(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)}};e.__decorate([r.Field({type:"string",group:"Sprite",label:"resource",description:"Atlas or sprite sheet resource id.",editor:"text"})],n.prototype,"resource",void 0),e.__decorate([r.Field({type:"string",group:"Sprite",label:"spriteName",description:"Frame name inside the atlas resource.",editor:"text"})],n.prototype,"spriteName",void 0);const a=s.RESOURCE_KEY_SPLIT;t.resource.registerInstance(t.RESOURCE_TYPE.SPRITE,async({name:e,data:r})=>{const s=t.normalizeSpritesheetData(r.json),i=o.Texture.from(r.image),n=s.frames||{},c=s.animations||{},p={};for(const t in n){p[e+a+t]=n[t]}for(const t in c){const r=[];if(c[t]&&c[t].length>=0)for(const s of c[t]){const t=e+a+s;r.push(t)}c[t]=r}s.frames=p;const d=new o.Spritesheet(i,s);return await d.parse()}),t.resource.registerDestroy(t.RESOURCE_TYPE.SPRITE,({instance:e})=>{if(e)for(const t in e)e[t].destroy(!0)});let c=class extends s.Renderer{constructor(){super(...arguments),this.name="Sprite",this.sprites={}}static{this.systemName="Sprite"}init(){this.renderSystem=this.game.getSystem(s.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const{width:t,height:r}=e.getComponent(s.Transform2D)?.size??{width:0,height:0};this.sprites[e.id]&&(this.sprites[e.id].sprite.width=t,this.sprites[e.id].sprite.height=r)}async componentChanged(e){if("Sprite"===e.componentName){const r=e.gameObject.id,s=e.component;if(e.type===t.OBSERVER_TYPE.ADD){const o=new i.Sprite(null);this.sprites[e.gameObject.id]=o,this.containerManager.getContainer(e.gameObject.id).addChildAt(o.sprite,0);const n=this.increaseAsyncId(r),{instance:c}=await t.resource.getResource(s.resource);if(!this.validateAsyncId(r,n))return;if(!c)return void console.error(`GameObject:${e.gameObject.name}'s Sprite resource load error`);o.image=c[s.resource+a+s.spriteName]}else if(e.type===t.OBSERVER_TYPE.CHANGE){const i=this.increaseAsyncId(r),{instance:o}=await t.resource.getResource(s.resource);if(!this.validateAsyncId(r,i))return;if(!o)return void console.error(`GameObject:${e.gameObject.name}'s Sprite resource load error`);this.sprites[e.gameObject.id].image=o[s.resource+a+s.spriteName]}else if(e.type===t.OBSERVER_TYPE.REMOVE){this.increaseAsyncId(r);const t=this.sprites[e.gameObject.id];this.containerManager.getContainer(e.gameObject.id).removeChild(t.sprite),t.sprite.destroy({children:!0}),delete this.sprites[e.gameObject.id]}}}};c=e.__decorate([t.decorators.componentObserver({Sprite:["spriteName"]})],c);var p=c;exports.Sprite=n,exports.SpriteSystem=p;
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { Component, resource, RESOURCE_TYPE, normalizeSpritesheetData, OBSERVER_TYPE, decorators } from '@combos-fun/engine';
3
3
  import { Field } from '@combos-fun/inspector-decorator';
4
- import { Renderer, RendererSystem, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';
4
+ import { Renderer, RendererSystem, Transform2D, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';
5
5
  import { Sprite as Sprite$2 } from '@combos-fun/renderer-adapter';
6
6
  import { Texture, Spritesheet } from 'pixi.js';
7
7
 
@@ -83,7 +83,7 @@ let Sprite = class Sprite extends Renderer {
83
83
  this.renderSystem.rendererManager.register(this);
84
84
  }
85
85
  rendererUpdate(gameObject) {
86
- const { width, height } = gameObject.transform.size;
86
+ const { width, height } = gameObject.getComponent(Transform2D)?.size ?? { width: 0, height: 0 };
87
87
  if (this.sprites[gameObject.id]) {
88
88
  this.sprites[gameObject.id].sprite.width = width;
89
89
  this.sprites[gameObject.id].sprite.height = height;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-renderer-sprite.esm.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { Field } from '@combos-fun/inspector-decorator';\n\nexport interface SpriteParams {\n resource: string;\n spriteName: string;\n}\n\nexport default class Sprite extends Component<SpriteParams> {\n static componentName: string = 'Sprite';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'resource',\n description: 'Atlas or sprite sheet resource id.',\n editor: 'text',\n })\n resource: string = '';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'spriteName',\n description: 'Frame name inside the atlas resource.',\n editor: 'text',\n })\n spriteName: string = '';\n\n init(obj?: SpriteParams) {\n if (obj && obj.resource) {\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n }\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE, normalizeSpritesheetData } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';\n\nimport SpriteComponent from './component';\nimport { Sprite as SpriteEngine } from '@combos-fun/renderer-adapter';\nimport { Spritesheet, Texture } from 'pixi.js';\n\nconst resourceKeySplit = RESOURCE_KEY_SPLIT;\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {\n const textureObj = normalizeSpritesheetData(data.json);\n const texture = Texture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n const textures = await spriteSheet.parse();\n return textures;\n});\n\nresource.registerDestroy(RESOURCE_TYPE.SPRITE, ({ instance }) => {\n if (!instance) return;\n for (const key in instance) {\n instance[key].destroy(true);\n }\n});\n\n@decorators.componentObserver({\n Sprite: ['spriteName'],\n})\nexport default class Sprite extends Renderer {\n static systemName = 'Sprite';\n name: string = 'Sprite';\n sprites: { [propName: number]: SpriteEngine } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.sprites[gameObject.id]) {\n this.sprites[gameObject.id].sprite.width = width;\n this.sprites[gameObject.id].sprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Sprite') {\n const gameObjectId = changed.gameObject.id;\n const component: SpriteComponent = changed.component as SpriteComponent;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const sprite = new SpriteEngine(null);\n this.sprites[changed.gameObject.id] = sprite;\n this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n this.sprites[changed.gameObject.id].image =\n instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.increaseAsyncId(gameObjectId);\n const sprite = this.sprites[changed.gameObject.id];\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);\n sprite.sprite.destroy({ children: true });\n delete this.sprites[changed.gameObject.id];\n }\n }\n }\n}\n"],"names":["Sprite","SpriteEngine"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-renderer-sprite.esm.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { Field } from '@combos-fun/inspector-decorator';\n\nexport interface SpriteParams {\n resource: string;\n spriteName: string;\n}\n\nexport default class Sprite extends Component<SpriteParams> {\n static componentName: string = 'Sprite';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'resource',\n description: 'Atlas or sprite sheet resource id.',\n editor: 'text',\n })\n resource: string = '';\n\n @Field({\n type: 'string',\n group: 'Sprite',\n label: 'spriteName',\n description: 'Frame name inside the atlas resource.',\n editor: 'text',\n })\n spriteName: string = '';\n\n init(obj?: SpriteParams) {\n if (obj && obj.resource) {\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n }\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE, normalizeSpritesheetData } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer, RESOURCE_KEY_SPLIT, Transform2D } from '@combos-fun/plugin-renderer';\n\nimport SpriteComponent from './component';\nimport { Sprite as SpriteEngine } from '@combos-fun/renderer-adapter';\nimport { Spritesheet, Texture } from 'pixi.js';\n\nconst resourceKeySplit = RESOURCE_KEY_SPLIT;\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {\n const textureObj = normalizeSpritesheetData(data.json);\n const texture = Texture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n const textures = await spriteSheet.parse();\n return textures;\n});\n\nresource.registerDestroy(RESOURCE_TYPE.SPRITE, ({ instance }) => {\n if (!instance) return;\n for (const key in instance) {\n instance[key].destroy(true);\n }\n});\n\n@decorators.componentObserver({\n Sprite: ['spriteName'],\n})\nexport default class Sprite extends Renderer {\n static systemName = 'Sprite';\n name: string = 'Sprite';\n sprites: { [propName: number]: SpriteEngine } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.getComponent(Transform2D)?.size ?? { width: 0, height: 0 };\n if (this.sprites[gameObject.id]) {\n this.sprites[gameObject.id].sprite.width = width;\n this.sprites[gameObject.id].sprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Sprite') {\n const gameObjectId = changed.gameObject.id;\n const component: SpriteComponent = changed.component as SpriteComponent;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const sprite = new SpriteEngine(null);\n this.sprites[changed.gameObject.id] = sprite;\n this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { instance } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!instance) {\n console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);\n return;\n }\n this.sprites[changed.gameObject.id].image =\n instance[component.resource + resourceKeySplit + component.spriteName];\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.increaseAsyncId(gameObjectId);\n const sprite = this.sprites[changed.gameObject.id];\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);\n sprite.sprite.destroy({ children: true });\n delete this.sprites[changed.gameObject.id];\n }\n }\n }\n}\n"],"names":["Sprite","SpriteEngine"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@combos-fun/plugin-renderer-sprite",
3
- "version": "0.0.54",
3
+ "version": "0.1.1",
4
4
  "description": "Sprite atlas rendering",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-sprite.esm.js",
@@ -36,10 +36,10 @@
36
36
  "author": "sun668 <q947692259@gmail.com>",
37
37
  "dependencies": {
38
38
  "pixi.js": "^8.18.1",
39
- "@combos-fun/renderer-adapter": "0.0.54",
40
- "@combos-fun/engine": "0.0.54",
41
- "@combos-fun/inspector-decorator": "0.0.54",
42
- "@combos-fun/plugin-renderer": "0.0.54"
39
+ "@combos-fun/renderer-adapter": "0.1.1",
40
+ "@combos-fun/inspector-decorator": "0.1.1",
41
+ "@combos-fun/engine": "0.1.1",
42
+ "@combos-fun/plugin-renderer": "0.1.1"
43
43
  },
44
44
  "scripts": {
45
45
  "build": "node ../../scripts/build-package.mjs"