/****************************************************************** * * 行星武器奖励弹窗 * ******************************************************************/ const BridgeWindow = require( "bridge.window" ); const 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( hallows_data ) { if(!hallows_data)return; let 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); let 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){ let atk_val = this.getHallowsSkillAndRefineAtkVal(hallows_id,skill_lev,hallows_vo.refine_lev); let skill_atk_val = atk_val.skill_atk_val; let refine_atk_val = atk_val.refine_atk_val; let 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(let j in attr_config){ let config = attr_config[j]; let name = this.special_name_list[Number(j)-1]; let 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(id,lev,refine_lev){ var atkval = { skill_atk_val:0, refine_atk_val:0 } let hallows_skill =gdata("hallows_data","data_skill_up",Utils.getNorKey(id, lev)); if (hallows_skill){ let 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; } } let refine_cfg = game.configs.hallows_refine_data.data_refine[id]; if (refine_cfg) { let 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; }, } );