153 lines
5.4 KiB
JavaScript
153 lines
5.4 KiB
JavaScript
/******************************************************************
|
|
*
|
|
* 行星武器奖励弹窗
|
|
*
|
|
******************************************************************/
|
|
|
|
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 <color=#85e668>+%s</color><color=#23f2ff>[+%s]</color>", 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;
|
|
},
|
|
|
|
} );
|