"use strict"; cc._RF.push(module, '12404Ksn7xB9oGXw1d4PtfU', 'cmp.swap.desktop.wnd'); // Scripts/mod/personal/cmps/cmp.swap.desktop.wnd.js "use strict"; /****************************************************************** * * 更换桌面 * ******************************************************************/ var BridgeWindow = require("bridge.window"); var FxSVC = require("nx.fx.sv.expand"); var RC = require("role_controller"); var FxButton = require("nx.fx.button"); cc.Class({ "extends": BridgeWindow, properties: { nodBG: { "default": null, type: cc.Node }, lstMenu: { "default": null, type: FxSVC }, nodSwap: { "default": null, type: FxButton } }, // 展示 onEnable: function onEnable() { var _this = this; nx.bridge.closePanel("WndPersonal"); RC.getInstance().reqThemeData(function (_ret, _data) { if (!_ret) { nx.tbox(_data); _this.delayClose(); return; } _this.build(_data); }); }, // 构建 build: function build(_data) { var _this2 = this; this.used = _data.id; // 统计菜单项 this.menus = _data.list; this.lstMenu.rebuild(this.menus); // 寻找当前 this.cur = 0; for (var i = 0; i < this.menus.length; ++i) { var item = this.menus[i]; if (item.id == _data.id) { this.cur = i; break; } } this.freshUsed(); // 默认1 this.scheduleOnce(function () { _this2.onSelectMenu({ index: _this2.cur, mdata: _this2.menus[_this2.cur] }); }, 0.1); }, // 刷新当前使用 freshUsed: function freshUsed() { var chds = this.lstMenu.bindSCV.content.children; for (var i in chds) { var item = chds[i].svItem; if (item) { item.setUsed(this.used == item.mdata.id); } } }, // 菜单切换 onSelectMenu: function onSelectMenu(_item) { // 聚焦 this.lstMenu.cleanFocus(); this.lstMenu.addFocus(_item.index); // 设置 var path = cc.path.join("resDB/desktop", "" + _item.mdata.id); nx.gui.setSpriteFrame(this.nodBG, "", path); // 刷新按钮 this.nodSwap.node.active = this.used != _item.mdata.id; this.cur = _item.mdata.id; }, // 点击更换 onTouchSwap: function onTouchSwap() { var _this3 = this; RC.getInstance().reqSwapTheme(this.cur, function (_ret, _data) { if (!_ret) { nx.tbox(_data); return; } _this3.used = _this3.cur; _this3.nodSwap.node.active = false; _this3.freshUsed(); nx.tbox("DesktopChanged"); }); }, close: function close() { this._super(); nx.bridge.createPanel("WndPersonal"); } }); cc._RF.pop();