@combos-fun/plugin-renderer-nine-patch 0.0.11 → 0.0.12

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.
@@ -19,6 +19,8 @@ let NinePatch$1 = class NinePatch extends engine.Component {
19
19
  }
20
20
  static { this.componentName = 'NinePatch'; }
21
21
  init(obj) {
22
+ if (!obj)
23
+ return;
22
24
  this.resource = obj.resource;
23
25
  this.spriteName = obj.spriteName;
24
26
  this.leftWidth = obj.leftWidth;
@@ -50,7 +52,7 @@ tslib.__decorate([
50
52
  inspectorDecorator.step(1)
51
53
  ], NinePatch$1.prototype, "bottomHeight", void 0);
52
54
 
53
- const resourceKeySplit = '_s|r|c_'; // Notice: This key be created by sprite system.
55
+ const resourceKeySplit = pluginRenderer.RESOURCE_KEY_SPLIT;
54
56
  let NinePatch = class NinePatch extends pluginRenderer.Renderer {
55
57
  constructor() {
56
58
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-renderer-nine-patch.cjs.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { type, step } from '@combos-fun/inspector-decorator';\nimport { NinePatch as NinePatchSprite } from \"@combos-fun/renderer-adapter\";\n\nexport interface NinePatchParams {\n resource: string;\n spriteName?: string;\n leftWidth?: number;\n topHeight?: number;\n rightWidth?: number;\n bottomHeight?: number;\n}\n\nexport default class NinePatch extends Component<NinePatchParams> {\n static componentName: string = 'NinePatch';\n ninePatch: NinePatchSprite;\n @type('string') resource: string = '';\n @type('string') spriteName: string = '';\n\n @type('number') @step(1) leftWidth: number = 0;\n @type('number') @step(1) topHeight: number = 0;\n @type('number') @step(1) rightWidth: number = 0;\n @type('number') @step(1) bottomHeight: number = 0;\n init(obj?: NinePatchParams) {\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n this.leftWidth = obj.leftWidth;\n this.topHeight = obj.topHeight;\n this.rightWidth = obj.rightWidth;\n this.bottomHeight = obj.bottomHeight;\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@combos-fun/plugin-renderer';\nimport { NinePatch as NinePatchSprite } from '@combos-fun/renderer-adapter';\nimport NinePatchComponent from './component';\nimport { Texture } from 'pixi.js';\n\nconst resourceKeySplit = '_s|r|c_'; // Notice: This key be created by sprite system.\n\n@decorators.componentObserver({\n NinePatch: ['resource', 'spriteName', 'leftWidth', 'topHeight', 'rightWidth', 'bottomHeight'],\n})\nexport default class NinePatch extends Renderer {\n static systemName: string = 'NinePatch';\n name: string = 'NinePatch';\n ninePatch: { [propName: number]: NinePatchSprite } = {};\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.ninePatch[gameObject.id]) {\n this.ninePatch[gameObject.id].width = width;\n this.ninePatch[gameObject.id].height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'NinePatch') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n } else {\n this.remove(changed);\n this.add(changed);\n }\n }\n }\n async add(changed: ComponentChanged) {\n const component = changed.component as NinePatchComponent;\n const gameObjectId = changed.gameObject.id;\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { type, data } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!data) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch resource load error`);\n return\n }\n let img: string | Texture;\n if (type === RESOURCE_TYPE.SPRITE) {\n img = component.resource + resourceKeySplit + component.spriteName;\n } else {\n img = Texture.from(data.image as HTMLImageElement);\n }\n const { leftWidth, topHeight, rightWidth, bottomHeight } = component;\n const np = new NinePatchSprite(img, leftWidth, topHeight, rightWidth, bottomHeight);\n\n this.ninePatch[changed.gameObject.id] = np;\n component.ninePatch = np;\n const parent = this.containerManager.getContainer(changed.gameObject.id);\n if (!parent) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch missing display container`);\n return;\n }\n parent.addChildAt(np, 0);\n }\n remove(changed: ComponentChanged) {\n const gameObjectId = changed.gameObject.id;\n this.increaseAsyncId(gameObjectId);\n const sprite = this.ninePatch[gameObjectId];\n if (sprite) {\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite);\n delete this.ninePatch[changed.gameObject.id];\n sprite.destroy({ children: true });\n }\n }\n}\n"],"names":["Component","__decorate","type","NinePatch","step","Renderer","RendererSystem","OBSERVER_TYPE","resource","RESOURCE_TYPE","Texture","NinePatchSprite","decorators"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-renderer-nine-patch.cjs.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { type, step } from '@combos-fun/inspector-decorator';\nimport { NinePatch as NinePatchSprite } from \"@combos-fun/renderer-adapter\";\n\nexport interface NinePatchParams {\n resource: string;\n spriteName?: string;\n leftWidth?: number;\n topHeight?: number;\n rightWidth?: number;\n bottomHeight?: number;\n}\n\nexport default class NinePatch extends Component<NinePatchParams> {\n static componentName: string = 'NinePatch';\n ninePatch: NinePatchSprite;\n @type('string') resource: string = '';\n @type('string') spriteName: string = '';\n\n @type('number') @step(1) leftWidth: number = 0;\n @type('number') @step(1) topHeight: number = 0;\n @type('number') @step(1) rightWidth: number = 0;\n @type('number') @step(1) bottomHeight: number = 0;\n init(obj?: NinePatchParams) {\n if (!obj) return;\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n this.leftWidth = obj.leftWidth;\n this.topHeight = obj.topHeight;\n this.rightWidth = obj.rightWidth;\n this.bottomHeight = obj.bottomHeight;\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';\nimport { NinePatch as NinePatchSprite } from '@combos-fun/renderer-adapter';\nimport NinePatchComponent from './component';\nimport { Texture } from 'pixi.js';\n\nconst resourceKeySplit = RESOURCE_KEY_SPLIT;\n\n@decorators.componentObserver({\n NinePatch: ['resource', 'spriteName', 'leftWidth', 'topHeight', 'rightWidth', 'bottomHeight'],\n})\nexport default class NinePatch extends Renderer {\n static systemName: string = 'NinePatch';\n name: string = 'NinePatch';\n ninePatch: { [propName: number]: NinePatchSprite } = {};\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.ninePatch[gameObject.id]) {\n this.ninePatch[gameObject.id].width = width;\n this.ninePatch[gameObject.id].height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'NinePatch') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n } else {\n this.remove(changed);\n this.add(changed);\n }\n }\n }\n async add(changed: ComponentChanged) {\n const component = changed.component as NinePatchComponent;\n const gameObjectId = changed.gameObject.id;\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { type, data } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!data) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch resource load error`);\n return\n }\n let img: string | Texture;\n if (type === RESOURCE_TYPE.SPRITE) {\n img = component.resource + resourceKeySplit + component.spriteName;\n } else {\n img = Texture.from(data.image as HTMLImageElement);\n }\n const { leftWidth, topHeight, rightWidth, bottomHeight } = component;\n const np = new NinePatchSprite(img, leftWidth, topHeight, rightWidth, bottomHeight);\n\n this.ninePatch[changed.gameObject.id] = np;\n component.ninePatch = np;\n const parent = this.containerManager.getContainer(changed.gameObject.id);\n if (!parent) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch missing display container`);\n return;\n }\n parent.addChildAt(np, 0);\n }\n remove(changed: ComponentChanged) {\n const gameObjectId = changed.gameObject.id;\n this.increaseAsyncId(gameObjectId);\n const sprite = this.ninePatch[gameObjectId];\n if (sprite) {\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite);\n delete this.ninePatch[changed.gameObject.id];\n sprite.destroy({ children: true });\n }\n }\n}\n"],"names":["Component","__decorate","type","NinePatch","step","RESOURCE_KEY_SPLIT","Renderer","RendererSystem","OBSERVER_TYPE","resource","RESOURCE_TYPE","Texture","NinePatchSprite","decorators"],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";var e=require("tslib"),t=require("@combos-fun/engine"),i=require("@combos-fun/inspector-decorator"),r=require("@combos-fun/plugin-renderer"),s=require("@combos-fun/renderer-adapter"),o=require("pixi.js");let n=class extends t.Component{constructor(){super(...arguments),this.resource="",this.spriteName="",this.leftWidth=0,this.topHeight=0,this.rightWidth=0,this.bottomHeight=0}static{this.componentName="NinePatch"}init(e){this.resource=e.resource,this.spriteName=e.spriteName,this.leftWidth=e.leftWidth,this.topHeight=e.topHeight,this.rightWidth=e.rightWidth,this.bottomHeight=e.bottomHeight}};e.__decorate([i.type("string")],n.prototype,"resource",void 0),e.__decorate([i.type("string")],n.prototype,"spriteName",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"leftWidth",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"topHeight",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"rightWidth",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"bottomHeight",void 0);let h=class extends r.Renderer{constructor(){super(...arguments),this.name="NinePatch",this.ninePatch={}}static{this.systemName="NinePatch"}init(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const{width:t,height:i}=e.transform.size;this.ninePatch[e.id]&&(this.ninePatch[e.id].width=t,this.ninePatch[e.id].height=i)}async componentChanged(e){"NinePatch"===e.componentName&&(e.type===t.OBSERVER_TYPE.ADD?this.add(e):e.type===t.OBSERVER_TYPE.REMOVE?this.remove(e):(this.remove(e),this.add(e)))}async add(e){const i=e.component,r=e.gameObject.id,n=this.increaseAsyncId(r),{type:h,data:a}=await t.resource.getResource(i.resource);if(!this.validateAsyncId(r,n))return;if(!a)return void console.error(`GameObject:${e.gameObject.name}'s NinePatch resource load error`);let c;c=h===t.RESOURCE_TYPE.SPRITE?i.resource+"_s|r|c_"+i.spriteName:o.Texture.from(a.image);const{leftWidth:d,topHeight:m,rightWidth:p,bottomHeight:g}=i,u=new s.NinePatch(c,d,m,p,g);this.ninePatch[e.gameObject.id]=u,i.ninePatch=u;const y=this.containerManager.getContainer(e.gameObject.id);y?y.addChildAt(u,0):console.error(`GameObject:${e.gameObject.name}'s NinePatch missing display container`)}remove(e){const t=e.gameObject.id;this.increaseAsyncId(t);const i=this.ninePatch[t];i&&(this.containerManager.getContainer(e.gameObject.id).removeChild(i),delete this.ninePatch[e.gameObject.id],i.destroy({children:!0}))}};h=e.__decorate([t.decorators.componentObserver({NinePatch:["resource","spriteName","leftWidth","topHeight","rightWidth","bottomHeight"]})],h);var a=h;exports.NinePatch=n,exports.NinePatchSystem=a;
1
+ "use strict";var e=require("tslib"),t=require("@combos-fun/engine"),i=require("@combos-fun/inspector-decorator"),r=require("@combos-fun/plugin-renderer"),s=require("@combos-fun/renderer-adapter"),o=require("pixi.js");let n=class extends t.Component{constructor(){super(...arguments),this.resource="",this.spriteName="",this.leftWidth=0,this.topHeight=0,this.rightWidth=0,this.bottomHeight=0}static{this.componentName="NinePatch"}init(e){e&&(this.resource=e.resource,this.spriteName=e.spriteName,this.leftWidth=e.leftWidth,this.topHeight=e.topHeight,this.rightWidth=e.rightWidth,this.bottomHeight=e.bottomHeight)}};e.__decorate([i.type("string")],n.prototype,"resource",void 0),e.__decorate([i.type("string")],n.prototype,"spriteName",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"leftWidth",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"topHeight",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"rightWidth",void 0),e.__decorate([i.type("number"),i.step(1)],n.prototype,"bottomHeight",void 0);const h=r.RESOURCE_KEY_SPLIT;let a=class extends r.Renderer{constructor(){super(...arguments),this.name="NinePatch",this.ninePatch={}}static{this.systemName="NinePatch"}init(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)}rendererUpdate(e){const{width:t,height:i}=e.transform.size;this.ninePatch[e.id]&&(this.ninePatch[e.id].width=t,this.ninePatch[e.id].height=i)}async componentChanged(e){"NinePatch"===e.componentName&&(e.type===t.OBSERVER_TYPE.ADD?this.add(e):e.type===t.OBSERVER_TYPE.REMOVE?this.remove(e):(this.remove(e),this.add(e)))}async add(e){const i=e.component,r=e.gameObject.id,n=this.increaseAsyncId(r),{type:a,data:c}=await t.resource.getResource(i.resource);if(!this.validateAsyncId(r,n))return;if(!c)return void console.error(`GameObject:${e.gameObject.name}'s NinePatch resource load error`);let d;d=a===t.RESOURCE_TYPE.SPRITE?i.resource+h+i.spriteName:o.Texture.from(c.image);const{leftWidth:m,topHeight:p,rightWidth:g,bottomHeight:u}=i,y=new s.NinePatch(d,m,p,g,u);this.ninePatch[e.gameObject.id]=y,i.ninePatch=y;const b=this.containerManager.getContainer(e.gameObject.id);b?b.addChildAt(y,0):console.error(`GameObject:${e.gameObject.name}'s NinePatch missing display container`)}remove(e){const t=e.gameObject.id;this.increaseAsyncId(t);const i=this.ninePatch[t];i&&(this.containerManager.getContainer(e.gameObject.id).removeChild(i),delete this.ninePatch[e.gameObject.id],i.destroy({children:!0}))}};a=e.__decorate([t.decorators.componentObserver({NinePatch:["resource","spriteName","leftWidth","topHeight","rightWidth","bottomHeight"]})],a);var c=a;exports.NinePatch=n,exports.NinePatchSystem=c;
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { Component, OBSERVER_TYPE, resource, RESOURCE_TYPE, decorators } from '@combos-fun/engine';
3
3
  import { type, step } from '@combos-fun/inspector-decorator';
4
- import { Renderer, RendererSystem } from '@combos-fun/plugin-renderer';
4
+ import { Renderer, RendererSystem, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';
5
5
  import { NinePatch as NinePatch$2 } from '@combos-fun/renderer-adapter';
6
6
  import { Texture } from 'pixi.js';
7
7
 
@@ -17,6 +17,8 @@ let NinePatch$1 = class NinePatch extends Component {
17
17
  }
18
18
  static { this.componentName = 'NinePatch'; }
19
19
  init(obj) {
20
+ if (!obj)
21
+ return;
20
22
  this.resource = obj.resource;
21
23
  this.spriteName = obj.spriteName;
22
24
  this.leftWidth = obj.leftWidth;
@@ -48,7 +50,7 @@ __decorate([
48
50
  step(1)
49
51
  ], NinePatch$1.prototype, "bottomHeight", void 0);
50
52
 
51
- const resourceKeySplit = '_s|r|c_'; // Notice: This key be created by sprite system.
53
+ const resourceKeySplit = RESOURCE_KEY_SPLIT;
52
54
  let NinePatch = class NinePatch extends Renderer {
53
55
  constructor() {
54
56
  super(...arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-renderer-nine-patch.esm.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { type, step } from '@combos-fun/inspector-decorator';\nimport { NinePatch as NinePatchSprite } from \"@combos-fun/renderer-adapter\";\n\nexport interface NinePatchParams {\n resource: string;\n spriteName?: string;\n leftWidth?: number;\n topHeight?: number;\n rightWidth?: number;\n bottomHeight?: number;\n}\n\nexport default class NinePatch extends Component<NinePatchParams> {\n static componentName: string = 'NinePatch';\n ninePatch: NinePatchSprite;\n @type('string') resource: string = '';\n @type('string') spriteName: string = '';\n\n @type('number') @step(1) leftWidth: number = 0;\n @type('number') @step(1) topHeight: number = 0;\n @type('number') @step(1) rightWidth: number = 0;\n @type('number') @step(1) bottomHeight: number = 0;\n init(obj?: NinePatchParams) {\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n this.leftWidth = obj.leftWidth;\n this.topHeight = obj.topHeight;\n this.rightWidth = obj.rightWidth;\n this.bottomHeight = obj.bottomHeight;\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@combos-fun/plugin-renderer';\nimport { NinePatch as NinePatchSprite } from '@combos-fun/renderer-adapter';\nimport NinePatchComponent from './component';\nimport { Texture } from 'pixi.js';\n\nconst resourceKeySplit = '_s|r|c_'; // Notice: This key be created by sprite system.\n\n@decorators.componentObserver({\n NinePatch: ['resource', 'spriteName', 'leftWidth', 'topHeight', 'rightWidth', 'bottomHeight'],\n})\nexport default class NinePatch extends Renderer {\n static systemName: string = 'NinePatch';\n name: string = 'NinePatch';\n ninePatch: { [propName: number]: NinePatchSprite } = {};\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.ninePatch[gameObject.id]) {\n this.ninePatch[gameObject.id].width = width;\n this.ninePatch[gameObject.id].height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'NinePatch') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n } else {\n this.remove(changed);\n this.add(changed);\n }\n }\n }\n async add(changed: ComponentChanged) {\n const component = changed.component as NinePatchComponent;\n const gameObjectId = changed.gameObject.id;\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { type, data } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!data) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch resource load error`);\n return\n }\n let img: string | Texture;\n if (type === RESOURCE_TYPE.SPRITE) {\n img = component.resource + resourceKeySplit + component.spriteName;\n } else {\n img = Texture.from(data.image as HTMLImageElement);\n }\n const { leftWidth, topHeight, rightWidth, bottomHeight } = component;\n const np = new NinePatchSprite(img, leftWidth, topHeight, rightWidth, bottomHeight);\n\n this.ninePatch[changed.gameObject.id] = np;\n component.ninePatch = np;\n const parent = this.containerManager.getContainer(changed.gameObject.id);\n if (!parent) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch missing display container`);\n return;\n }\n parent.addChildAt(np, 0);\n }\n remove(changed: ComponentChanged) {\n const gameObjectId = changed.gameObject.id;\n this.increaseAsyncId(gameObjectId);\n const sprite = this.ninePatch[gameObjectId];\n if (sprite) {\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite);\n delete this.ninePatch[changed.gameObject.id];\n sprite.destroy({ children: true });\n }\n }\n}\n"],"names":["NinePatch","NinePatchSprite"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-renderer-nine-patch.esm.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component } from '@combos-fun/engine';\nimport { type, step } from '@combos-fun/inspector-decorator';\nimport { NinePatch as NinePatchSprite } from \"@combos-fun/renderer-adapter\";\n\nexport interface NinePatchParams {\n resource: string;\n spriteName?: string;\n leftWidth?: number;\n topHeight?: number;\n rightWidth?: number;\n bottomHeight?: number;\n}\n\nexport default class NinePatch extends Component<NinePatchParams> {\n static componentName: string = 'NinePatch';\n ninePatch: NinePatchSprite;\n @type('string') resource: string = '';\n @type('string') spriteName: string = '';\n\n @type('number') @step(1) leftWidth: number = 0;\n @type('number') @step(1) topHeight: number = 0;\n @type('number') @step(1) rightWidth: number = 0;\n @type('number') @step(1) bottomHeight: number = 0;\n init(obj?: NinePatchParams) {\n if (!obj) return;\n this.resource = obj.resource;\n this.spriteName = obj.spriteName;\n this.leftWidth = obj.leftWidth;\n this.topHeight = obj.topHeight;\n this.rightWidth = obj.rightWidth;\n this.bottomHeight = obj.bottomHeight;\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer, RESOURCE_KEY_SPLIT } from '@combos-fun/plugin-renderer';\nimport { NinePatch as NinePatchSprite } from '@combos-fun/renderer-adapter';\nimport NinePatchComponent from './component';\nimport { Texture } from 'pixi.js';\n\nconst resourceKeySplit = RESOURCE_KEY_SPLIT;\n\n@decorators.componentObserver({\n NinePatch: ['resource', 'spriteName', 'leftWidth', 'topHeight', 'rightWidth', 'bottomHeight'],\n})\nexport default class NinePatch extends Renderer {\n static systemName: string = 'NinePatch';\n name: string = 'NinePatch';\n ninePatch: { [propName: number]: NinePatchSprite } = {};\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.ninePatch[gameObject.id]) {\n this.ninePatch[gameObject.id].width = width;\n this.ninePatch[gameObject.id].height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'NinePatch') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n } else {\n this.remove(changed);\n this.add(changed);\n }\n }\n }\n async add(changed: ComponentChanged) {\n const component = changed.component as NinePatchComponent;\n const gameObjectId = changed.gameObject.id;\n const asyncId = this.increaseAsyncId(gameObjectId);\n const { type, data } = await resource.getResource(component.resource);\n if (!this.validateAsyncId(gameObjectId, asyncId)) return;\n if (!data) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch resource load error`);\n return\n }\n let img: string | Texture;\n if (type === RESOURCE_TYPE.SPRITE) {\n img = component.resource + resourceKeySplit + component.spriteName;\n } else {\n img = Texture.from(data.image as HTMLImageElement);\n }\n const { leftWidth, topHeight, rightWidth, bottomHeight } = component;\n const np = new NinePatchSprite(img, leftWidth, topHeight, rightWidth, bottomHeight);\n\n this.ninePatch[changed.gameObject.id] = np;\n component.ninePatch = np;\n const parent = this.containerManager.getContainer(changed.gameObject.id);\n if (!parent) {\n console.error(`GameObject:${changed.gameObject.name}'s NinePatch missing display container`);\n return;\n }\n parent.addChildAt(np, 0);\n }\n remove(changed: ComponentChanged) {\n const gameObjectId = changed.gameObject.id;\n this.increaseAsyncId(gameObjectId);\n const sprite = this.ninePatch[gameObjectId];\n if (sprite) {\n this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite);\n delete this.ninePatch[changed.gameObject.id];\n sprite.destroy({ children: true });\n }\n }\n}\n"],"names":["NinePatch","NinePatchSprite"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@combos-fun/plugin-renderer-nine-patch",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "9-patch (nine-slice) panels",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-nine-patch.esm.js",
@@ -37,10 +37,10 @@
37
37
  "author": "sun668 <q947692259@gmail.com>",
38
38
  "dependencies": {
39
39
  "pixi.js": "^8.18.1",
40
- "@combos-fun/plugin-renderer": "0.0.11",
41
- "@combos-fun/engine": "0.0.11",
42
- "@combos-fun/renderer-adapter": "0.0.11",
43
- "@combos-fun/inspector-decorator": "0.0.11"
40
+ "@combos-fun/plugin-renderer": "0.0.12",
41
+ "@combos-fun/renderer-adapter": "0.0.12",
42
+ "@combos-fun/engine": "0.0.12",
43
+ "@combos-fun/inspector-decorator": "0.0.12"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "node ../../scripts/build-package.mjs"