"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();