Files
fc/dev/project/library/imports/12/124042ac-9fbc-41f6-8197-c357783ed7d4.js
T

118 lines
2.7 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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();