diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 3e58a00..025fef0 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -120,6 +120,15 @@ this._transformID = -1; this._textureID = -1; + + /** + * Plugin that is responsible for rendering this element. + * Allows to customize the rendering process without overriding '_renderWebGL' & '_renderCanvas' methods. + * + * @member {string} + * @default 'sprite' + */ + this.pluginName = 'sprite'; } /** @@ -282,8 +291,8 @@ { this.calculateVertices(); - renderer.setObjectRenderer(renderer.plugins.sprite); - renderer.plugins.sprite.render(this); + renderer.setObjectRenderer(renderer.plugins[this.pluginName]); + renderer.plugins[this.pluginName].render(this); } /** @@ -294,7 +303,7 @@ */ _renderCanvas(renderer) { - renderer.plugins.sprite.render(this); + renderer.plugins[this.pluginName].render(this); } /** diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 3e58a00..025fef0 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -120,6 +120,15 @@ this._transformID = -1; this._textureID = -1; + + /** + * Plugin that is responsible for rendering this element. + * Allows to customize the rendering process without overriding '_renderWebGL' & '_renderCanvas' methods. + * + * @member {string} + * @default 'sprite' + */ + this.pluginName = 'sprite'; } /** @@ -282,8 +291,8 @@ { this.calculateVertices(); - renderer.setObjectRenderer(renderer.plugins.sprite); - renderer.plugins.sprite.render(this); + renderer.setObjectRenderer(renderer.plugins[this.pluginName]); + renderer.plugins[this.pluginName].render(this); } /** @@ -294,7 +303,7 @@ */ _renderCanvas(renderer) { - renderer.plugins.sprite.render(this); + renderer.plugins[this.pluginName].render(this); } /** diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index b9352e6..a8bcfba 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -61,6 +61,15 @@ * @member {PIXI.extras.TextureTransform} */ this.uvTransform = texture.transform || new TextureTransform(texture); + + /** + * Plugin that is responsible for rendering this element. + * Allows to customize the rendering process without overriding '_renderWebGL' method. + * + * @member {string} + * @default 'tilingSprite' + */ + this.pluginName = 'tilingSprite'; } /** * Changes frame clamping in corresponding textureTransform, shortcut @@ -158,8 +167,8 @@ this.tileTransform.updateLocalTransform(); this.uvTransform.update(); - renderer.setObjectRenderer(renderer.plugins.tilingSprite); - renderer.plugins.tilingSprite.render(this); + renderer.setObjectRenderer(renderer.plugins[this.pluginName]); + renderer.plugins[this.pluginName].render(this); } /** diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 3e58a00..025fef0 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -120,6 +120,15 @@ this._transformID = -1; this._textureID = -1; + + /** + * Plugin that is responsible for rendering this element. + * Allows to customize the rendering process without overriding '_renderWebGL' & '_renderCanvas' methods. + * + * @member {string} + * @default 'sprite' + */ + this.pluginName = 'sprite'; } /** @@ -282,8 +291,8 @@ { this.calculateVertices(); - renderer.setObjectRenderer(renderer.plugins.sprite); - renderer.plugins.sprite.render(this); + renderer.setObjectRenderer(renderer.plugins[this.pluginName]); + renderer.plugins[this.pluginName].render(this); } /** @@ -294,7 +303,7 @@ */ _renderCanvas(renderer) { - renderer.plugins.sprite.render(this); + renderer.plugins[this.pluginName].render(this); } /** diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index b9352e6..a8bcfba 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -61,6 +61,15 @@ * @member {PIXI.extras.TextureTransform} */ this.uvTransform = texture.transform || new TextureTransform(texture); + + /** + * Plugin that is responsible for rendering this element. + * Allows to customize the rendering process without overriding '_renderWebGL' method. + * + * @member {string} + * @default 'tilingSprite' + */ + this.pluginName = 'tilingSprite'; } /** * Changes frame clamping in corresponding textureTransform, shortcut @@ -158,8 +167,8 @@ this.tileTransform.updateLocalTransform(); this.uvTransform.update(); - renderer.setObjectRenderer(renderer.plugins.tilingSprite); - renderer.plugins.tilingSprite.render(this); + renderer.setObjectRenderer(renderer.plugins[this.pluginName]); + renderer.plugins[this.pluginName].render(this); } /** diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 21e5a61..bbb0938 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -122,6 +122,15 @@ * @member {object} */ this._glDatas = {}; + + /** + * Plugin that is responsible for rendering this element. + * Allows to customize the rendering process without overriding '_renderWebGL' & '_renderCanvas' methods. + * + * @member {string} + * @default 'mesh' + */ + this.pluginName = 'mesh'; } /** @@ -132,8 +141,8 @@ */ _renderWebGL(renderer) { - renderer.setObjectRenderer(renderer.plugins.mesh); - renderer.plugins.mesh.render(this); + renderer.setObjectRenderer(renderer.plugins[this.pluginName]); + renderer.plugins[this.pluginName].render(this); } /** @@ -144,7 +153,7 @@ */ _renderCanvas(renderer) { - renderer.plugins.mesh.render(this); + renderer.plugins[this.pluginName].render(this); } /**