264 lines
8.3 KiB
JavaScript
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(); |