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