var BuildGameObject = require('../../BuildGameObject'); var GameObjectCreator = require('../../../scene/plugins/GameObjectCreator'); var GetAdvancedValue = require('../../../utils/object/GetAdvancedValue'); var Text = require('./Text'); // When registering a factory function 'this' refers to the GameObjectCreator context. GameObjectCreator.register('text', function (config) { // style Object = { // font: [ 'font', '16px Courier' ], // backgroundColor: [ 'backgroundColor', null ], // fill: [ 'fill', '#fff' ], // stroke: [ 'stroke', '#fff' ], // strokeThickness: [ 'strokeThickness', 0 ], // shadowOffsetX: [ 'shadow.offsetX', 0 ], // shadowOffsetY: [ 'shadow.offsetY', 0 ], // shadowColor: [ 'shadow.color', '#000' ], // shadowBlur: [ 'shadow.blur', 0 ], // shadowStroke: [ 'shadow.stroke', false ], // shadowFill: [ 'shadow.fill', false ], // align: [ 'align', 'left' ], // maxLines: [ 'maxLines', 0 ], // fixedWidth: [ 'fixedWidth', false ], // fixedHeight: [ 'fixedHeight', false ], // rtl: [ 'rtl', false ] // } var content = GetAdvancedValue(config, 'text', ''); var style = GetAdvancedValue(config, 'style', null); var text = new Text(this.scene, 0, 0, content, style); BuildGameObject(this.scene, text, config); // Text specific config options: text.autoRound = GetAdvancedValue(config, 'autoRound', true); text.resolution = GetAdvancedValue(config, 'resolution', 1); // Padding // { padding: 2 } // { padding: { x: , y: }} // { padding: { left: , top: }} // { padding: { left: , right: , top: , bottom: }} var padding = GetAdvancedValue(config, 'padding', null); if (padding !== null) { text.setPadding(padding); } text.updateText(); return text; });