Files
fc/dev/project/library/imports/2a/2a2b1e75-6558-4c55-b8f5-38f407dccea8.js
T

161 lines
5.1 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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();