@combos-fun/plugin-renderer-sprite 0.0.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/README.md +3 -0
- package/dist/plugin-renderer-sprite.cjs.js +131 -0
- package/dist/plugin-renderer-sprite.cjs.js.map +1 -0
- package/dist/plugin-renderer-sprite.cjs.prod.js +1 -0
- package/dist/plugin-renderer-sprite.d.ts +31 -0
- package/dist/plugin-renderer-sprite.esm.js +128 -0
- package/dist/plugin-renderer-sprite.esm.js.map +1 -0
- package/index.js +7 -0
- package/package.json +29 -0
package/README.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var engine = require('@combos-fun/engine');
|
|
5
|
+
var inspectorDecorator = require('@combos-fun/inspector-decorator');
|
|
6
|
+
var pluginRenderer = require('@combos-fun/plugin-renderer');
|
|
7
|
+
var rendererAdapter = require('@combos-fun/renderer-adapter');
|
|
8
|
+
var pixi_js = require('pixi.js');
|
|
9
|
+
|
|
10
|
+
let Sprite$1 = class Sprite extends engine.Component {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.resource = '';
|
|
14
|
+
this.spriteName = '';
|
|
15
|
+
}
|
|
16
|
+
static { this.componentName = 'Sprite'; }
|
|
17
|
+
init(obj) {
|
|
18
|
+
if (obj && obj.resource) {
|
|
19
|
+
this.resource = obj.resource;
|
|
20
|
+
this.spriteName = obj.spriteName;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
tslib.__decorate([
|
|
25
|
+
inspectorDecorator.type('string')
|
|
26
|
+
], Sprite$1.prototype, "resource", void 0);
|
|
27
|
+
tslib.__decorate([
|
|
28
|
+
inspectorDecorator.type('string')
|
|
29
|
+
], Sprite$1.prototype, "spriteName", void 0);
|
|
30
|
+
|
|
31
|
+
const resourceKeySplit = '_s|r|c_'; // Notice: This key be used in ninepatch system.
|
|
32
|
+
engine.resource.registerInstance(engine.RESOURCE_TYPE.SPRITE, async ({ name, data }) => {
|
|
33
|
+
const textureObj = data.json;
|
|
34
|
+
const texture = pixi_js.Texture.from(data.image);
|
|
35
|
+
const frames = textureObj.frames || {};
|
|
36
|
+
const animations = textureObj.animations || {};
|
|
37
|
+
const newFrames = {};
|
|
38
|
+
for (const key in frames) {
|
|
39
|
+
const newKey = name + resourceKeySplit + key;
|
|
40
|
+
newFrames[newKey] = frames[key];
|
|
41
|
+
}
|
|
42
|
+
for (const key in animations) {
|
|
43
|
+
const spriteList = [];
|
|
44
|
+
if (animations[key] && animations[key].length >= 0) {
|
|
45
|
+
for (const spriteName of animations[key]) {
|
|
46
|
+
const newSpriteName = name + resourceKeySplit + spriteName;
|
|
47
|
+
spriteList.push(newSpriteName);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
animations[key] = spriteList;
|
|
51
|
+
}
|
|
52
|
+
textureObj.frames = newFrames;
|
|
53
|
+
const spriteSheet = new pixi_js.Spritesheet(texture, textureObj);
|
|
54
|
+
const textures = await spriteSheet.parse();
|
|
55
|
+
return textures;
|
|
56
|
+
});
|
|
57
|
+
engine.resource.registerDestroy(engine.RESOURCE_TYPE.SPRITE, ({ instance }) => {
|
|
58
|
+
if (!instance)
|
|
59
|
+
return;
|
|
60
|
+
for (const key in instance) {
|
|
61
|
+
instance[key].destroy(true);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
let Sprite = class Sprite extends pluginRenderer.Renderer {
|
|
65
|
+
constructor() {
|
|
66
|
+
super(...arguments);
|
|
67
|
+
this.name = 'Sprite';
|
|
68
|
+
this.sprites = {};
|
|
69
|
+
}
|
|
70
|
+
static { this.systemName = 'Sprite'; }
|
|
71
|
+
init() {
|
|
72
|
+
this.renderSystem = this.game.getSystem(pluginRenderer.RendererSystem);
|
|
73
|
+
this.renderSystem.rendererManager.register(this);
|
|
74
|
+
}
|
|
75
|
+
rendererUpdate(gameObject) {
|
|
76
|
+
const { width, height } = gameObject.transform.size;
|
|
77
|
+
if (this.sprites[gameObject.id]) {
|
|
78
|
+
this.sprites[gameObject.id].sprite.width = width;
|
|
79
|
+
this.sprites[gameObject.id].sprite.height = height;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async componentChanged(changed) {
|
|
83
|
+
if (changed.componentName === 'Sprite') {
|
|
84
|
+
const gameObjectId = changed.gameObject.id;
|
|
85
|
+
const component = changed.component;
|
|
86
|
+
if (changed.type === engine.OBSERVER_TYPE.ADD) {
|
|
87
|
+
const sprite = new rendererAdapter.Sprite(null);
|
|
88
|
+
this.sprites[changed.gameObject.id] = sprite;
|
|
89
|
+
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);
|
|
90
|
+
const asyncId = this.increaseAsyncId(gameObjectId);
|
|
91
|
+
const { instance } = await engine.resource.getResource(component.resource);
|
|
92
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
93
|
+
return;
|
|
94
|
+
if (!instance) {
|
|
95
|
+
console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];
|
|
99
|
+
}
|
|
100
|
+
else if (changed.type === engine.OBSERVER_TYPE.CHANGE) {
|
|
101
|
+
const asyncId = this.increaseAsyncId(gameObjectId);
|
|
102
|
+
const { instance } = await engine.resource.getResource(component.resource);
|
|
103
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
104
|
+
return;
|
|
105
|
+
if (!instance) {
|
|
106
|
+
console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.sprites[changed.gameObject.id].image =
|
|
110
|
+
instance[component.resource + resourceKeySplit + component.spriteName];
|
|
111
|
+
}
|
|
112
|
+
else if (changed.type === engine.OBSERVER_TYPE.REMOVE) {
|
|
113
|
+
this.increaseAsyncId(gameObjectId);
|
|
114
|
+
const sprite = this.sprites[changed.gameObject.id];
|
|
115
|
+
this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
|
|
116
|
+
sprite.sprite.destroy({ children: true });
|
|
117
|
+
delete this.sprites[changed.gameObject.id];
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
Sprite = tslib.__decorate([
|
|
123
|
+
engine.decorators.componentObserver({
|
|
124
|
+
Sprite: ['spriteName'],
|
|
125
|
+
})
|
|
126
|
+
], Sprite);
|
|
127
|
+
var Sprite_default = Sprite;
|
|
128
|
+
|
|
129
|
+
exports.Sprite = Sprite$1;
|
|
130
|
+
exports.SpriteSystem = Sprite_default;
|
|
131
|
+
//# sourceMappingURL=plugin-renderer-sprite.cjs.js.map
|
|
@@ -0,0 +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 { type } 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 @type('string') resource: string = '';\n @type('string') spriteName: string = '';\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 } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } 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 = '_s|r|c_'; // Notice: This key be used in ninepatch system.\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {\n const textureObj = 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","type","Sprite","resource","RESOURCE_TYPE","Texture","Spritesheet","Renderer","RendererSystem","OBSERVER_TYPE","SpriteEngine","decorators"],"mappings":"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"}
|
|
@@ -0,0 +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"),n=require("pixi.js");let o=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.type("string")],o.prototype,"resource",void 0),e.__decorate([t.type("string")],o.prototype,"spriteName",void 0);const c="_s|r|c_";r.resource.registerInstance(r.RESOURCE_TYPE.SPRITE,async({name:e,data:r})=>{const t=r.json,s=n.Texture.from(r.image),i=t.frames||{},o=t.animations||{},a={};for(const r in i){a[e+c+r]=i[r]}for(const r in o){const t=[];if(o[r]&&o[r].length>=0)for(const s of o[r]){const r=e+c+s;t.push(r)}o[r]=t}t.frames=a;const p=new n.Spritesheet(s,t);return await p.parse()}),r.resource.registerDestroy(r.RESOURCE_TYPE.SPRITE,({instance:e})=>{if(e)for(const r in e)e[r].destroy(!0)});let a=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 n=new i.Sprite(null);this.sprites[e.gameObject.id]=n,this.containerManager.getContainer(e.gameObject.id).addChildAt(n.sprite,0);const o=this.increaseAsyncId(t),{instance:a}=await r.resource.getResource(s.resource);if(!this.validateAsyncId(t,o))return;if(!a)return void console.error(`GameObject:${e.gameObject.name}'s Sprite resource load error`);n.image=a[s.resource+c+s.spriteName]}else if(e.type===r.OBSERVER_TYPE.CHANGE){const i=this.increaseAsyncId(t),{instance:n}=await r.resource.getResource(s.resource);if(!this.validateAsyncId(t,i))return;if(!n)return void console.error(`GameObject:${e.gameObject.name}'s Sprite resource load error`);this.sprites[e.gameObject.id].image=n[s.resource+c+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]}}}};a=e.__decorate([r.decorators.componentObserver({Sprite:["spriteName"]})],a);var p=a;exports.Sprite=o,exports.SpriteSystem=p;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, GameObject, ComponentChanged } from '@combos-fun/engine';
|
|
2
|
+
import { Renderer, RendererSystem, RendererManager, ContainerManager } from '@combos-fun/plugin-renderer';
|
|
3
|
+
import { Sprite as Sprite$2 } from '@combos-fun/renderer-adapter';
|
|
4
|
+
|
|
5
|
+
interface SpriteParams {
|
|
6
|
+
resource: string;
|
|
7
|
+
spriteName: string;
|
|
8
|
+
}
|
|
9
|
+
declare class Sprite$1 extends Component<SpriteParams> {
|
|
10
|
+
static componentName: string;
|
|
11
|
+
resource: string;
|
|
12
|
+
spriteName: string;
|
|
13
|
+
init(obj?: SpriteParams): void;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare class Sprite extends Renderer {
|
|
17
|
+
static systemName: string;
|
|
18
|
+
name: string;
|
|
19
|
+
sprites: {
|
|
20
|
+
[propName: number]: Sprite$2;
|
|
21
|
+
};
|
|
22
|
+
renderSystem: RendererSystem;
|
|
23
|
+
rendererManager: RendererManager;
|
|
24
|
+
containerManager: ContainerManager;
|
|
25
|
+
init(): void;
|
|
26
|
+
rendererUpdate(gameObject: GameObject): void;
|
|
27
|
+
componentChanged(changed: ComponentChanged): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { Sprite$1 as Sprite, Sprite as SpriteSystem };
|
|
31
|
+
export type { SpriteParams };
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
|
+
import { Component, resource, RESOURCE_TYPE, OBSERVER_TYPE, decorators } from '@combos-fun/engine';
|
|
3
|
+
import { type } from '@combos-fun/inspector-decorator';
|
|
4
|
+
import { Renderer, RendererSystem } from '@combos-fun/plugin-renderer';
|
|
5
|
+
import { Sprite as Sprite$2 } from '@combos-fun/renderer-adapter';
|
|
6
|
+
import { Texture, Spritesheet } from 'pixi.js';
|
|
7
|
+
|
|
8
|
+
let Sprite$1 = class Sprite extends Component {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.resource = '';
|
|
12
|
+
this.spriteName = '';
|
|
13
|
+
}
|
|
14
|
+
static { this.componentName = 'Sprite'; }
|
|
15
|
+
init(obj) {
|
|
16
|
+
if (obj && obj.resource) {
|
|
17
|
+
this.resource = obj.resource;
|
|
18
|
+
this.spriteName = obj.spriteName;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
__decorate([
|
|
23
|
+
type('string')
|
|
24
|
+
], Sprite$1.prototype, "resource", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
type('string')
|
|
27
|
+
], Sprite$1.prototype, "spriteName", void 0);
|
|
28
|
+
|
|
29
|
+
const resourceKeySplit = '_s|r|c_'; // Notice: This key be used in ninepatch system.
|
|
30
|
+
resource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {
|
|
31
|
+
const textureObj = data.json;
|
|
32
|
+
const texture = Texture.from(data.image);
|
|
33
|
+
const frames = textureObj.frames || {};
|
|
34
|
+
const animations = textureObj.animations || {};
|
|
35
|
+
const newFrames = {};
|
|
36
|
+
for (const key in frames) {
|
|
37
|
+
const newKey = name + resourceKeySplit + key;
|
|
38
|
+
newFrames[newKey] = frames[key];
|
|
39
|
+
}
|
|
40
|
+
for (const key in animations) {
|
|
41
|
+
const spriteList = [];
|
|
42
|
+
if (animations[key] && animations[key].length >= 0) {
|
|
43
|
+
for (const spriteName of animations[key]) {
|
|
44
|
+
const newSpriteName = name + resourceKeySplit + spriteName;
|
|
45
|
+
spriteList.push(newSpriteName);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
animations[key] = spriteList;
|
|
49
|
+
}
|
|
50
|
+
textureObj.frames = newFrames;
|
|
51
|
+
const spriteSheet = new Spritesheet(texture, textureObj);
|
|
52
|
+
const textures = await spriteSheet.parse();
|
|
53
|
+
return textures;
|
|
54
|
+
});
|
|
55
|
+
resource.registerDestroy(RESOURCE_TYPE.SPRITE, ({ instance }) => {
|
|
56
|
+
if (!instance)
|
|
57
|
+
return;
|
|
58
|
+
for (const key in instance) {
|
|
59
|
+
instance[key].destroy(true);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
let Sprite = class Sprite extends Renderer {
|
|
63
|
+
constructor() {
|
|
64
|
+
super(...arguments);
|
|
65
|
+
this.name = 'Sprite';
|
|
66
|
+
this.sprites = {};
|
|
67
|
+
}
|
|
68
|
+
static { this.systemName = 'Sprite'; }
|
|
69
|
+
init() {
|
|
70
|
+
this.renderSystem = this.game.getSystem(RendererSystem);
|
|
71
|
+
this.renderSystem.rendererManager.register(this);
|
|
72
|
+
}
|
|
73
|
+
rendererUpdate(gameObject) {
|
|
74
|
+
const { width, height } = gameObject.transform.size;
|
|
75
|
+
if (this.sprites[gameObject.id]) {
|
|
76
|
+
this.sprites[gameObject.id].sprite.width = width;
|
|
77
|
+
this.sprites[gameObject.id].sprite.height = height;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async componentChanged(changed) {
|
|
81
|
+
if (changed.componentName === 'Sprite') {
|
|
82
|
+
const gameObjectId = changed.gameObject.id;
|
|
83
|
+
const component = changed.component;
|
|
84
|
+
if (changed.type === OBSERVER_TYPE.ADD) {
|
|
85
|
+
const sprite = new Sprite$2(null);
|
|
86
|
+
this.sprites[changed.gameObject.id] = sprite;
|
|
87
|
+
this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);
|
|
88
|
+
const asyncId = this.increaseAsyncId(gameObjectId);
|
|
89
|
+
const { instance } = await resource.getResource(component.resource);
|
|
90
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
91
|
+
return;
|
|
92
|
+
if (!instance) {
|
|
93
|
+
console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];
|
|
97
|
+
}
|
|
98
|
+
else if (changed.type === OBSERVER_TYPE.CHANGE) {
|
|
99
|
+
const asyncId = this.increaseAsyncId(gameObjectId);
|
|
100
|
+
const { instance } = await resource.getResource(component.resource);
|
|
101
|
+
if (!this.validateAsyncId(gameObjectId, asyncId))
|
|
102
|
+
return;
|
|
103
|
+
if (!instance) {
|
|
104
|
+
console.error(`GameObject:${changed.gameObject.name}'s Sprite resource load error`);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.sprites[changed.gameObject.id].image =
|
|
108
|
+
instance[component.resource + resourceKeySplit + component.spriteName];
|
|
109
|
+
}
|
|
110
|
+
else if (changed.type === OBSERVER_TYPE.REMOVE) {
|
|
111
|
+
this.increaseAsyncId(gameObjectId);
|
|
112
|
+
const sprite = this.sprites[changed.gameObject.id];
|
|
113
|
+
this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
|
|
114
|
+
sprite.sprite.destroy({ children: true });
|
|
115
|
+
delete this.sprites[changed.gameObject.id];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
Sprite = __decorate([
|
|
121
|
+
decorators.componentObserver({
|
|
122
|
+
Sprite: ['spriteName'],
|
|
123
|
+
})
|
|
124
|
+
], Sprite);
|
|
125
|
+
var Sprite_default = Sprite;
|
|
126
|
+
|
|
127
|
+
export { Sprite$1 as Sprite, Sprite_default as SpriteSystem };
|
|
128
|
+
//# sourceMappingURL=plugin-renderer-sprite.esm.js.map
|
|
@@ -0,0 +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 { type } 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 @type('string') resource: string = '';\n @type('string') spriteName: string = '';\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 } from '@combos-fun/engine';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } 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 = '_s|r|c_'; // Notice: This key be used in ninepatch system.\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE, async ({ name, data }) => {\n const textureObj = 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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"}
|
package/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@combos-fun/plugin-renderer-sprite",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "@combos-fun/plugin-renderer-sprite",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"module": "dist/plugin-renderer-sprite.esm.js",
|
|
7
|
+
"bundle": "CombosFun.plugin.renderer.sprite",
|
|
8
|
+
"unpkg": "dist/CombosFun.plugin.renderer.sprite.min.js",
|
|
9
|
+
"files": [
|
|
10
|
+
"index.js",
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"types": "dist/plugin-renderer-sprite.d.ts",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"combos-fun",
|
|
16
|
+
"game"
|
|
17
|
+
],
|
|
18
|
+
"author": "sun668 <q947692259@gmail.com>",
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"pixi.js": "^8.18.1",
|
|
21
|
+
"@combos-fun/plugin-renderer": "0.0.1",
|
|
22
|
+
"@combos-fun/engine": "0.0.1",
|
|
23
|
+
"@combos-fun/inspector-decorator": "0.0.1",
|
|
24
|
+
"@combos-fun/renderer-adapter": "0.0.1"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "node ../../scripts/build-package.mjs"
|
|
28
|
+
}
|
|
29
|
+
}
|