Files
fc/dev/project/library/imports/72/72559621-5e2f-4e8e-acf4-503bd194b2d1.js
2026-05-24 10:21:26 +08:00

264 lines
8.3 KiB
JavaScript

"use strict";
cc._RF.push(module, '72559YhXi9Ojqz0UDvRlLLR', 'cmp.item.reforgot');
// Scripts/mod/backpack/cmps/cmp.item.reforgot.js
"use strict";
var BridgeWindow = require("bridge.window");
var ItemBase = require("cmp.item.base");
var TipsController = require("tips_controller");
var HeroController = require("hero_controller");
var BackpackController = require("backpack_controller");
var HeroEvent = require("hero_event");
cc.Class({
"extends": BridgeWindow,
properties: {
nodItem: {
"default": null,
type: ItemBase
},
nodProps: {
"default": null,
type: cc.Node
},
nodNow: {
"default": null,
type: cc.Node
},
nodNext: {
"default": null,
type: cc.Node
},
nodCheck: {
"default": null,
type: cc.Node
},
nodMats: {
"default": null,
type: cc.Node
},
nodOps: {
"default": null,
type: cc.Node
}
},
onLoad: function onLoad() {
this.bindGEvent(EventId.MODIFY_GOODS_NUM, this.onUpdateGoods.bind(this));
this.bindGEvent(HeroEvent.Artifact_Update_Event, this.onUpdateInfo.bind(this));
},
onUpdateInfo: function onUpdateInfo(_data) {
var _this = this;
var art = _data.artifacts;
art.forEach(function (_art) {
if (_this.pos) {
if (_art.base_id == _this.item.base_id && _this.pos == _art.artifact_pos) {
_this.freshR(_art, true);
_this.nodItem.setData(_art.base_id);
}
} else {
if (_art.base_id == _this.item.base_id) {
_this.freshR(_art, true);
_this.nodItem.setData(_art.base_id);
}
}
});
},
onUpdateGoods: function onUpdateGoods(_bagCode, _itemList) {
var lst = _itemList;
if (lst[this.item.id]) {
if (lst[this.item.id].base_id == this.item.base_id) {
if (this.doid == lst[this.item.id].base_id) {
this.freshR(lst[this.item.id], true);
}
}
}
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
this.config = _params.config;
this.doid = _params.item.base_id;
this.pos = _params.pos;
this.item = _params.item;
this.partner_id = this.item.partner_id ? this.item.partner_id : 0;
// this.fresh();
this.freshR(this.item);
},
freshR: function freshR(_data, _active) {
this.item = _data;
var attr = _data.extra_attr;
var attr_nod = nx.gui.find(this.nodNext, "props/props");
var skill = _data.extra;
var skills_nod = nx.gui.find(this.nodNext, "cnt/skills");
var chd = skills_nod.children;
var skillr = [];
for (var i = 0; i < skill.length; i++) {
var item = skill[i];
if (item) {
if (item.extra_k == 3 && item.extra_v > 0 || item.extra_k == 4 && item.extra_v > 0) {
skillr.push(item);
}
}
// if( i == 1 || i == )
}
this.fresh();
var achd = attr_nod.children;
for (var O = 0; O < achd.length; O++) {
var nod = achd[O];
var atr = attr[O];
if (!atr) {
nx.gui.setActive(nod, "", false);
continue;
}
nx.gui.setActive(nod, "", true);
var atr_key = game.configs.attr_data.data_id_to_key[atr.attr_id];
nx.bridge.attrs.setAttribute(nod, [atr_key, atr.attr_val / 1000]);
}
for (var _i = 0; _i < chd.length; _i++) {
var _nod = chd[_i];
var _item = skillr[_i];
var cmp = _nod.getComponent("cmp.skill.base");
if (!_item || _item.extra_v == 0) {
if (cmp) {
cmp.setData(0);
}
continue;
}
if (cmp) {
cmp.setData(_item.extra_v);
}
}
var lucky_art = game.configs.partner_artifact_data.data_artifact_const.lucky_artifact_ids.val;
var cfg = game.configs.partner_artifact_data.data_artifact_data;
var info = {};
if (cfg) {
info = cfg[this.item.base_id];
}
if (_active) {
this.freshMat(lucky_art, info);
}
nx.gui.setActive(this.nodOps, "yr/save", !nx.dt.arrEmpty(this.item.extra_attr));
},
fresh: function fresh() {
this.nodItem.setData(this.item.base_id);
var item_id = this.item.base_id;
var cfg = game.configs.partner_artifact_data.data_artifact_data;
var info = {};
var skills = [];
var skill = this.item.extra;
var lucky_art = game.configs.partner_artifact_data.data_artifact_const.lucky_artifact_ids.val;
for (var i = 0; i < skill.length; i++) {
var sk = skill[i];
if (sk.extra_k == 1 && sk.extra_v > 0 || sk.extra_k == 2 && sk.extra_v > 0) {
skills.push(sk.extra_v);
}
}
if (cfg) {
info = cfg[item_id];
}
var attr = this.item.attr;
var attr_nod = nx.gui.find(this.nodNow, "props/props");
var achd = attr_nod.children;
for (var O = 0; O < achd.length; O++) {
var nod = achd[O];
var atr = attr[O];
if (!atr) {
nx.gui.setActive(nod, "", false);
continue;
}
nx.gui.setActive(nod, "", true);
var atr_key = game.configs.attr_data.data_id_to_key[atr.attr_id];
nx.bridge.attrs.setAttribute(nod, [atr_key, atr.attr_val / 1000]);
}
var skills_nod = nx.gui.find(this.nodNow, "cnt/skills");
var chd = skills_nod.children;
for (var j = 0; j < chd.length; j++) {
var _nod2 = chd[j];
var item = skills[j];
if (!item) {
nx.gui.setActive(_nod2, "", false);
continue;
}
nx.gui.setActive(_nod2, "", true);
var cmp = _nod2.getComponent("cmp.skill.base");
if (cmp) {
cmp.setData(item);
}
}
this.freshMat(lucky_art, info);
nx.gui.setActive(this.nodOps, "lucky", this.item.base_id == lucky_art[0][0]);
},
freshMat: function freshMat(_luck, _info) {
var lucky_art = _luck;
var info = _info;
var luck_item = game.configs.partner_artifact_data.data_artifact_const.lucky_item_id2.val;
var luck_use = [luck_item, 1];
var model = BackpackController.getInstance().getModel();
var have = model.getItemNumByBid(luck_item);
this.enough = have >= lucky_art[0][1];
var use = nx.dt.objClone(info.ref_expend);
var check = this.nodCheck.getComponent(cc.Toggle).isChecked;
// info.ref_expend = info.ref_expend;
this.item.base_id == lucky_art[0][0] && check == true ? use.push(luck_use) : info.ref_expend;
var mchd = this.nodMats.children;
for (var I = 0; I < mchd.length; I++) {
var mat = use[I];
var mnod = mchd[I];
if (!mat) {
nx.gui.setActive(mnod, "", false);
continue;
}
nx.bridge.setIconS(mnod, "icon", mat[0]);
var haves = model.getItemNumByBid(mat[0]);
var str = nx.dt.shortCount(mat[1]) + "/" + nx.dt.shortCount(haves);
var clr = haves >= mat[1] ? cc.Color.WHITE : cc.Color.RED;
nx.gui.setColor(mnod, "txt", clr);
nx.gui.setActive(mnod, "", true);
nx.gui.setString(mnod, "txt", str);
}
},
freshCheck: function freshCheck() {
var lucky_art = game.configs.partner_artifact_data.data_artifact_const.lucky_artifact_ids.val;
var cfg = game.configs.partner_artifact_data.data_artifact_data;
var info = {};
if (cfg) {
info = cfg[this.item.base_id];
}
this.freshMat(lucky_art, info);
},
onTouchHelp: function onTouchHelp() {
var dfg = game.configs.partner_artifact_data.data_artifact_const.lucky_artifact_desc;
var desc = dfg.desc;
var TC = TipsController.getInstance();
if (TC) {
TC.showTextPanel("Rule", desc);
}
},
onTouchHelpN: function onTouchHelpN() {
var dfg = game.configs.partner_artifact_data.data_artifact_const.recast_rule;
var desc = dfg.desc;
var TC = TipsController.getInstance();
if (TC) {
TC.showTextPanel("Rule", desc);
}
},
onTouchForgot: function onTouchForgot() {
var HC = HeroController.getInstance();
var artifact_id = this.item.id;
var skills = {};
var check = this.nodCheck.getComponent(cc.Toggle).isChecked;
var luck_item = this.enough && check == true && nx.gui.find(this.nodOps, "lucky").active == true ? 2 : 0;
if (check == true && !this.enough && nx.gui.find(this.nodOps, "lucky").active == true) {
nx.tbox("tip_noEnoughMaterial");
return;
}
HC.sender11033(this.partner_id, artifact_id, skills, luck_item);
},
onTouchSave: function onTouchSave() {
var HC = HeroController.getInstance();
HC.sender11034(this.partner_id, this.item.id, 1);
}
});
cc._RF.pop();