"use strict"; cc._RF.push(module, '2a2b151ZVhMVbj1OPQH3M6o', 'cmp.hallows.wnd.detail'); // Scripts/mod/partner/hallows/cmp/cmp.hallows.wnd.detail.js "use strict"; /****************************************************************** * * 行星武器奖励弹窗 * ******************************************************************/ var BridgeWindow = require("bridge.window"); var HallowsController = require("hallows_controller"); cc.Class({ "extends": BridgeWindow, properties: { skill_item: { "default": null, type: cc.Prefab }, lab_name: { "default": null, type: cc.RichText }, lab_dec: { "default": null, type: cc.RichText }, attr_val: { "default": [], type: [cc.Label] }, special_name_list: { "default": [], type: [cc.Label] }, special_info_list: { "default": [], type: [cc.Label] } }, // 重载:参数打开 onOpenConfigs: function onOpenConfigs(hallows_data) { if (!hallows_data) return; var hallows_vo = null; this.ctrl = HallowsController.getInstance(); this.model = this.ctrl.getModel(); hallows_vo = this.model.getDetailHallow(); if (typeof hallows_data == "number") { hallows_vo = this.model.getHallowsById(hallows_data); if (!hallows_vo) { hallows_vo = HallowsController.getInstance().getModel().makeHighestHallowVo(hallows_data); } } else { hallows_vo = hallows_data; } // if(!hallows_vo){ // return this.close(); // } var hallows_id = hallows_vo.id; var skill_lev = 1; var is_lock = false; if (hallows_vo) { skill_lev = hallows_vo.skill_lev; } else { is_lock = true; } this.config = gdata("hallows_data", "data_base", hallows_id); if (!this.config) return; //名字 var str = cc.js.formatStr("%s +%s[+%s]", this.config.name, hallows_vo.step, hallows_vo.refine_lev); this.lab_name.string = str; var item_config = Utils.getItemConfig(this.config.item_id); if (item_config) { if (!this.hallows_item) { this.hallows_item = cc.instantiate(this.skill_item); this.hallows_item.parent = this.node; this.hallows_item.position = cc.v2(-230, 170); var cmp = this.hallows_item.getComponent("cmp.item.base"); cmp.rebind(0, gitemdata(this.config.item_id), ""); } var skill_key = Utils.getNorKey(hallows_id, skill_lev); var skill_up_config = gdata("hallows_data", "data_skill_up", skill_key); if (skill_up_config) { var skill_config = gskilldata("data_get_skill", skill_up_config.skill_bid); if (skill_config) { var atk_val = this.getHallowsSkillAndRefineAtkVal(hallows_id, skill_lev, hallows_vo.refine_lev); var skill_atk_val = atk_val.skill_atk_val; var refine_atk_val = atk_val.refine_atk_val; var total_atk_val = skill_atk_val + refine_atk_val; //技能描述 this.lab_dec.string = cc.js.formatStr(skill_config.des, total_atk_val, refine_atk_val); } } } //属性 var attr_data = hallows_vo.add_attr; for (var i in this.attr_val) { var item = this.attr_val[i]; var attr = attr_data[i]; if (attr) { var attr_id = attr.attr_id; var attr_val = attr.attr_val; var attr_str = gdata("attr_data", "data_id_to_key", attr_id); var attr_name = gdata("attr_data", "data_key_to_name", attr_str); var name = cc.js.formatStr("%s%s+%s", nx.text.getKey("lab_hallows_task_windoiw_tip2"), attr_name, attr_val); item.string = name; item.node.active = true; } else { item.node.active = false; // item.attr_icon.active = false; } } //特殊属性 var attr_config = gdata("hallows_data", "data_skill_attr", hallows_id); if (attr_config) { for (var j in attr_config) { var config = attr_config[j]; var _name = this.special_name_list[Number(j) - 1]; var info = this.special_info_list[Number(j) - 1]; if (config && config.desc) { info.string = config.desc; var str = cc.js.formatStr(nx.text.getKey("lab_hallows_tips_windoiw_tip3"), config.lev_limit); _name.string = str; } else { _name.node.active = false; info.node.active = false; } } } }, getHallowsSkillAndRefineAtkVal: function getHallowsSkillAndRefineAtkVal(id, lev, refine_lev) { var atkval = { skill_atk_val: 0, refine_atk_val: 0 }; var hallows_skill = gdata("hallows_data", "data_skill_up", Utils.getNorKey(id, lev)); if (hallows_skill) { var skill_cfg = gskilldata('data_get_skill', hallows_skill.skill_bid); if (skill_cfg) { atkval.skill_atk_val = skill_cfg.hallows_atk ? skill_cfg.hallows_atk : 0; } } var refine_cfg = game.configs.hallows_refine_data.data_refine[id]; if (refine_cfg) { var hallows_refine_cfg = refine_cfg[refine_lev]; if (hallows_refine_cfg) { atkval.refine_atk_val = hallows_refine_cfg.add_dps ? hallows_refine_cfg.add_dps : 0; } } return atkval; } }); cc._RF.pop();