118 lines
2.7 KiB
JavaScript
118 lines
2.7 KiB
JavaScript
"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(); |