153 lines
3.8 KiB
JavaScript
153 lines
3.8 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'f1972Z2s+hGU7/NmsXuBFW8', 'tips.skill.wnd');
|
||
|
|
// Scripts/mod/tips/cmp/tips.skill.wnd.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
/******************************************************************
|
||
|
|
*
|
||
|
|
* 技能提示
|
||
|
|
*
|
||
|
|
******************************************************************/
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var TipsConst = require("tips_const");
|
||
|
|
var TipsController = require("tips_controller");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
nodHead: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodDesc: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodCD: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodBufs: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodNext: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 重载:参数打开
|
||
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
||
|
|
var _this = this;
|
||
|
|
// 获取技能信息
|
||
|
|
this.info = _params.skill_vo;
|
||
|
|
if (nx.dt.numGood(_params.skill_vo)) {
|
||
|
|
this.info = gskilldata('data_get_skill', _params.skill_vo);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 无效
|
||
|
|
if (nx.dt.objEmpty(this.info)) {
|
||
|
|
nx.error("技能提示失败,参数无效!");
|
||
|
|
this.scheduleOnce(function () {
|
||
|
|
_this.onTouchClose();
|
||
|
|
}, 0.03);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
this.locked = _params.is_lock || false;
|
||
|
|
this.hideNext = _params.not_show_next || false;
|
||
|
|
|
||
|
|
// 全刷新
|
||
|
|
this.freshBase();
|
||
|
|
this.freshDesc();
|
||
|
|
this.freshCD();
|
||
|
|
this.freshBufs();
|
||
|
|
this.freshNext();
|
||
|
|
},
|
||
|
|
// 点击关闭
|
||
|
|
onTouchClose: function onTouchClose() {
|
||
|
|
var TC = TipsController.getInstance();
|
||
|
|
TC.closeTIpsByType(TipsConst.type.SKILL);
|
||
|
|
},
|
||
|
|
// 基础信息
|
||
|
|
freshBase: function freshBase() {
|
||
|
|
// 技能名
|
||
|
|
nx.gui.setString(this.nodHead, "name", nx.text.getKey(this.info.name));
|
||
|
|
|
||
|
|
// 技能类型
|
||
|
|
var key = this.info.type == "active_skill" ? "lab_activeSKill" : "lab_passiveSkill";
|
||
|
|
nx.gui.setString(this.nodHead, "type/txt", nx.text.getKey(key));
|
||
|
|
|
||
|
|
// 等级
|
||
|
|
nx.gui.setString(this.nodHead, "level/txt", this.info.level || 1);
|
||
|
|
|
||
|
|
// 图标
|
||
|
|
nx.bridge.setIcon(this.nodHead, "icon", this.info.icon);
|
||
|
|
},
|
||
|
|
// 描述
|
||
|
|
freshDesc: function freshDesc() {
|
||
|
|
var desc = this.info.des || this.info.desc;
|
||
|
|
if (nx.dt.strEmpty(desc)) {
|
||
|
|
this.nodDesc.active = false;
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
this.nodDesc.active = true;
|
||
|
|
nx.gui.setString(this.nodDesc, "txt", desc);
|
||
|
|
},
|
||
|
|
// 冷却
|
||
|
|
freshCD: function freshCD() {
|
||
|
|
var txt = nx.text.getKey("SkillCD1");
|
||
|
|
if (this.info.cd > 0) {
|
||
|
|
txt = nx.text.format("SkillCD2", this.info.cd);
|
||
|
|
}
|
||
|
|
if (this.info.fire_cd != 0) {
|
||
|
|
txt += nx.text.format("SkillCD3", this.info.fire_cd);
|
||
|
|
}
|
||
|
|
nx.gui.setString(this.nodCD, "txt", txt);
|
||
|
|
},
|
||
|
|
// 效果
|
||
|
|
freshBufs: function freshBufs() {
|
||
|
|
var desc = this.info.buff_des;
|
||
|
|
if (nx.dt.arrEmpty(desc) || nx.dt.arrEmpty(desc[0])) {
|
||
|
|
this.nodBufs.active = false;
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
this.nodBufs.active = true;
|
||
|
|
var txt = "";
|
||
|
|
var arr = desc[0];
|
||
|
|
for (var i = 0; i < arr.length; ++i) {
|
||
|
|
var id = arr[i];
|
||
|
|
var cfg = game.configs.skill_data.data_get_buff[id];
|
||
|
|
if (!cfg) {
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
if (i != 0) {
|
||
|
|
txt += "<br/>";
|
||
|
|
}
|
||
|
|
txt += nx.text.format("SkillBufDesc", cfg.name, cfg.desc);
|
||
|
|
}
|
||
|
|
if (nx.dt.strEmpty(txt)) {
|
||
|
|
this.nodBufs.active = false;
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
nx.gui.setString(this.nodBufs, "txt", txt);
|
||
|
|
},
|
||
|
|
// 下一级
|
||
|
|
freshNext: function freshNext() {
|
||
|
|
this.nodNext.active = !this.hideNext;
|
||
|
|
if (this.hideNext) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var key = "";
|
||
|
|
if (this.locked) {
|
||
|
|
key = StringUtil.parse(this.info.open_desc);
|
||
|
|
} else if (this.info.next_id == 0) {
|
||
|
|
key = "SkillMax";
|
||
|
|
} else {
|
||
|
|
key = StringUtil.parse(this.info.skill_desc);
|
||
|
|
}
|
||
|
|
nx.gui.setString(this.nodNext, "txt", nx.text.getKey(key));
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|