phaser3-rex-plugins
Version:
50 lines (39 loc) • 1.37 kB
JavaScript
import FolderTitle from '../gameobjects/label/FolderTitle.js';
import CreateBackground from './utils/CreateBackground.js';
import Folder from '../gameobjects/folder/Folder.js';
const GetValue = Phaser.Utils.Objects.GetValue;
var CreateFolder = function (tweaker, config, style) {
if (!config) { config = {}; }
if (!style) { style = {}; }
var scene = tweaker.scene;
// background
var background = CreateBackground(scene, (config.background || {}), (style.background || {}));
// Create Folder-title
var title = new FolderTitle(scene, (style.title || {}));
scene.add.existing(title);
title
.on('folder.expand', function () {
title.setExpandedState(true);
})
.on('folder.collapse', function () {
title.setExpandedState(false);
})
// tweaker panel
var tweakerConfig = {
root: tweaker.root,
styles: tweaker.styles,
}
var child = tweaker.createTweaker(tweakerConfig);
var folder = new Folder(scene, {
title: title,
child: child,
background: background,
space: style.space,
transition: {
duration: GetValue(style, 'transition.duration', 200)
},
})
scene.add.existing(folder);
return folder;
}
export default CreateFolder;