129 lines
3.3 KiB
JavaScript
129 lines
3.3 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '3a75dHehUxAm5B70Gcw8gYc', 'cmp.partner.skill.preview.wnd');
|
|
// Scripts/mod/partner/cmps/skill/cmp.partner.skill.preview.wnd.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 技能预览界面
|
|
*
|
|
******************************************************************/
|
|
|
|
var BridgeWindow = require("bridge.window");
|
|
var FxTogs = require("nx.fx.togs");
|
|
var FxSVC = require("nx.fx.sv.expand");
|
|
var TipsController = require("tips_controller");
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
togMenu: {
|
|
"default": null,
|
|
type: FxTogs
|
|
},
|
|
svcList: {
|
|
"default": null,
|
|
type: FxSVC
|
|
},
|
|
btnHelp: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
curDesc: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
// 重载:参数打开
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
// 显示类型
|
|
// 1 是符文技能预览 2 是英雄天赋技能
|
|
this.stype = _params || 1;
|
|
nx.gui.setActive(this.btnHelp, "", this.stype == 1);
|
|
|
|
// Tog监听
|
|
this.togMenu.posTog = this.onTogMenu.bind(this);
|
|
this.togMenu.togTo(0);
|
|
this.activeMenu(1);
|
|
},
|
|
// 重载:关闭前
|
|
onPreClosed: function onPreClosed() {
|
|
this.svcList.rebuild([]);
|
|
},
|
|
// 等级切换
|
|
onTogMenu: function onTogMenu(_index) {
|
|
this.activeMenu(parseInt(_index) + 1);
|
|
},
|
|
// 激活菜单
|
|
activeMenu: function activeMenu(_lv) {
|
|
var _this = this;
|
|
console.log("级别切换:", _lv);
|
|
if (this.curLevel == _lv) {
|
|
return;
|
|
}
|
|
this.curLevel = _lv;
|
|
var data = game.configs.partner_artifact_data.data_artifact_skill[_lv];
|
|
this.svcList.rebuild(data);
|
|
|
|
// 设置默认
|
|
this.scheduleOnce(function () {
|
|
_this.svcList.cleanFocus();
|
|
_this.svcList.addFocus(0);
|
|
_this.setCurrent(data[0]);
|
|
}, 0.1);
|
|
},
|
|
// 选中切换
|
|
onFocusChanged: function onFocusChanged(_item) {
|
|
// 空
|
|
if (!_item || !_item.mdata) {
|
|
return;
|
|
}
|
|
nx.audio.playSFX("audios/effects/touchitem");
|
|
// 聚焦
|
|
this.svcList.cleanFocus();
|
|
this.svcList.addFocus(_item.index);
|
|
this.setCurrent(_item.mdata);
|
|
},
|
|
// 设置当前
|
|
setCurrent: function setCurrent(_id) {
|
|
var info = gskilldata('data_get_skill', _id);
|
|
if (nx.dt.objEmpty(info)) {
|
|
nx.gui.setActive(this.curDesc, "", false);
|
|
return;
|
|
}
|
|
this.sid = _id;
|
|
nx.gui.setActive(this.curDesc, "", true);
|
|
|
|
// 名字
|
|
nx.gui.setString(this.curDesc, "name", nx.text.getKey(info.name));
|
|
|
|
// 图标
|
|
nx.bridge.setIcon(this.curDesc, "icon", info.icon);
|
|
|
|
// 描述设置
|
|
var detail = nx.gui.find(this.curDesc, "detail/view/content");
|
|
if (detail) {
|
|
// 描述
|
|
var desc = nx.text.getKey(info.des || info.desc);
|
|
nx.gui.setString(detail, "desc/txt", desc);
|
|
|
|
// 冷却
|
|
var txt = nx.text.getKey("SkillCD1");
|
|
if (info.cd > 0) {
|
|
txt = nx.text.format("SkillCD2", info.cd);
|
|
}
|
|
if (info.fire_cd != 0) {
|
|
txt += nx.text.format("SkillCD3", info.fire_cd);
|
|
}
|
|
nx.gui.setString(detail, "cd/txt", txt);
|
|
}
|
|
},
|
|
// 点击帮助
|
|
onTouchHelp: function onTouchHelp() {
|
|
var TC = TipsController.getInstance();
|
|
var desc = game.configs.partner_skill_data.data_partner_skill_const.skill_rule;
|
|
TC.showTextPanel("tip", desc);
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |