161 lines
5.1 KiB
JavaScript
161 lines
5.1 KiB
JavaScript
"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 <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);
|
|
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(); |