phaser4-rex-plugins
Version:
48 lines (37 loc) • 1.13 kB
JavaScript
import CreateTab from '../builders/CreateTab.js';
const GetValue = Phaser.Utils.Objects.GetValue;
var AddTab = function (config) {
if (config === undefined) {
config = {};
}
// Create tab
var tabStyle = GetValue(this.styles, 'tab') || {};
tabStyle.tweaker = this.styles;
tabStyle.root = this.root;
var tab = CreateTab(this, config, tabStyle);
delete tabStyle.tweaker;
delete tabStyle.root;
// Add tab
this.add(
tab,
{ expand: true }
);
var pagesConfig = GetValue(config, 'pages') || [];
var pages = [];
var shownPageIndex = 0;
for (var i = 0, cnt = pagesConfig.length; i < cnt; i++) {
var childTweaker = tab.getPage(i);
var isPageShown = pagesConfig[i].show;
if (isPageShown) {
shownPageIndex = i;
}
var key = pagesConfig[i].key;
if (key) {
this.root.addChildrenMap(key, childTweaker);
}
pages.push(childTweaker);
}
tab.swapPage(shownPageIndex, 0);
return pages;
}
export default AddTab;