125 lines
5.4 KiB
JavaScript
125 lines
5.4 KiB
JavaScript
System.register(["__unresolved_0", "cc", "__unresolved_1"], function (_export, _context) {
|
|
"use strict";
|
|
|
|
var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, Node, Component, js, PanelBase, _dec, _dec2, _class, _class2, _descriptor, _class3, _crd, ccclass, property, UIManager;
|
|
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
|
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
|
|
function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
|
|
|
|
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
|
|
|
|
function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
|
|
|
|
function _reportPossibleCrUseOfPanelBase(extras) {
|
|
_reporterNs.report("PanelBase", "./PanelBase", _context.meta, extras);
|
|
}
|
|
|
|
return {
|
|
setters: [function (_unresolved_) {
|
|
_reporterNs = _unresolved_;
|
|
}, function (_cc) {
|
|
_cclegacy = _cc.cclegacy;
|
|
__checkObsolete__ = _cc.__checkObsolete__;
|
|
__checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
|
|
_decorator = _cc._decorator;
|
|
Node = _cc.Node;
|
|
Component = _cc.Component;
|
|
js = _cc.js;
|
|
}, function (_unresolved_2) {
|
|
PanelBase = _unresolved_2.PanelBase;
|
|
}],
|
|
execute: function () {
|
|
_crd = true;
|
|
|
|
_cclegacy._RF.push({}, "9f00cIGPrRP9YFExjtCbuvA", "UIManager", undefined);
|
|
|
|
__checkObsolete__(['_decorator', 'Node', 'director', 'resources', 'instantiate', 'Canvas', 'Component', 'js']);
|
|
|
|
({
|
|
ccclass,
|
|
property
|
|
} = _decorator);
|
|
|
|
_export("UIManager", UIManager = (_dec = ccclass('UIManager'), _dec2 = property({
|
|
type: Node
|
|
}), _dec(_class = (_class2 = (_class3 = class UIManager extends Component {
|
|
constructor() {
|
|
super(...arguments);
|
|
this.panels = new Map();
|
|
|
|
_initializerDefineProperty(this, "uiRoot", _descriptor, this);
|
|
}
|
|
|
|
onLoad() {
|
|
UIManager.instance = this;
|
|
} // 打开UI面板
|
|
|
|
|
|
openPanel(panelClass) {
|
|
var _this = this;
|
|
|
|
return _asyncToGenerator(function* () {
|
|
var panelName = js.getClassName(panelClass);
|
|
|
|
if (!_this.panels.has(panelName)) {
|
|
var panelNode = (_crd && PanelBase === void 0 ? (_reportPossibleCrUseOfPanelBase({
|
|
error: Error()
|
|
}), PanelBase) : PanelBase).LoadPanel("ui/" + js.getClassName(panelClass), _this.uiRoot);
|
|
var newPanel = (yield panelNode).getComponent(_crd && PanelBase === void 0 ? (_reportPossibleCrUseOfPanelBase({
|
|
error: Error()
|
|
}), PanelBase) : PanelBase);
|
|
|
|
_this.panels.set(panelName, newPanel);
|
|
}
|
|
|
|
var existingPanel = _this.panels.get(panelName);
|
|
|
|
if (existingPanel) {
|
|
existingPanel.open();
|
|
return existingPanel;
|
|
}
|
|
})();
|
|
} // 关闭UI面板
|
|
|
|
|
|
closePanel(panelClass) {
|
|
var panelName = js.getClassName(panelClass);
|
|
|
|
if (this.panels.has(panelName)) {
|
|
var panel = this.panels.get(panelName);
|
|
|
|
if (panel) {
|
|
panel.close();
|
|
this.panels.delete(panelName);
|
|
}
|
|
}
|
|
} // 关闭所有面板
|
|
|
|
|
|
closeAllPanels() {
|
|
this.panels.forEach(panel => {
|
|
console.log("关闭页面", panel.node.name);
|
|
panel.close();
|
|
});
|
|
this.panels.clear();
|
|
}
|
|
|
|
}, _class3.instance = void 0, _class3), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "uiRoot", [_dec2], {
|
|
configurable: true,
|
|
enumerable: true,
|
|
writable: true,
|
|
initializer: function initializer() {
|
|
return null;
|
|
}
|
|
})), _class2)) || _class));
|
|
|
|
_cclegacy._RF.pop();
|
|
|
|
_crd = false;
|
|
}
|
|
};
|
|
});
|
|
//# sourceMappingURL=846848029ee2eaec7dd62969289523953b0fd69b.js.map
|