"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 += "
"; } 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();