UNPKG

phaser4-rex-plugins

Version:
47 lines (37 loc) 1.38 kB
import HasProperty from '../../utils/object/HasProperty.js'; import GetFilterList from '../../utils/renderer/filterpluginbase/GetFilterList.js'; import AddClearEffectCallback from './AddClearEffectCallback.js'; var AddBarrelProperties = function (gameObject) { // Don't attach properties again if (HasProperty(gameObject, 'barrel')) { return gameObject; } var filterList = GetFilterList(gameObject); var barrel; Object.defineProperty(gameObject, 'barrel', { get: function () { return barrel; }, set: function (value) { if (barrel === value) { return; } barrel = value; if ((barrel === null) || (barrel === false)) { if (gameObject._barrelEffect) { filterList.remove(gameObject._barrelEffect); gameObject._barrelEffect = undefined; } } else { if (!gameObject._barrelEffect) { gameObject._barrelEffect = filterList.addBarrel(); } gameObject._barrelEffect.amount = barrel; } }, }) gameObject.barrel = null; AddClearEffectCallback(gameObject, 'barrel'); return gameObject; } export default AddBarrelProperties;