2017-09-14 01:27:29 +00:00
|
|
|
var BuildGameObject = require('../BuildGameObject');
|
2017-04-20 23:54:52 +00:00
|
|
|
var EffectLayer = require('./EffectLayer');
|
2018-01-16 22:28:29 +00:00
|
|
|
var GameObjectCreator = require('../GameObjectCreator');
|
2017-04-20 23:54:52 +00:00
|
|
|
var GetAdvancedValue = require('../../utils/object/GetAdvancedValue');
|
|
|
|
|
2017-09-14 01:27:29 +00:00
|
|
|
// When registering a factory function 'this' refers to the GameObjectCreator context.
|
|
|
|
|
|
|
|
GameObjectCreator.register('effectLayer', function (config)
|
2017-04-20 23:54:52 +00:00
|
|
|
{
|
|
|
|
var x = GetAdvancedValue(config, 'x', 0);
|
|
|
|
var y = GetAdvancedValue(config, 'y', 0);
|
|
|
|
var width = GetAdvancedValue(config, 'width', 512);
|
|
|
|
var height = GetAdvancedValue(config, 'height', 512);
|
|
|
|
var key = GetAdvancedValue(config, 'key', null);
|
|
|
|
var fragmentShader = GetAdvancedValue(config, 'fragmentShader', '');
|
|
|
|
|
2017-09-14 01:27:29 +00:00
|
|
|
var layer = new EffectLayer(this.scene, x, y, width, height, effectName, fragmentShader);
|
2017-07-04 00:59:31 +00:00
|
|
|
|
2017-09-14 01:27:29 +00:00
|
|
|
BuildGameObject(this.scene, layer, config);
|
2017-04-20 23:54:52 +00:00
|
|
|
|
|
|
|
return layer;
|
2017-09-14 01:27:29 +00:00
|
|
|
});
|