230 lines
7.2 KiB
JavaScript
230 lines
7.2 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'cf3bcaW4ANHWoWbLmMWmKmL', 'cmp.partner.holy.assemble');
|
||
|
|
// Scripts/mod/partner/cmps/artifact/cmp.partner.holy.assemble.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
/******************************************************************
|
||
|
|
*
|
||
|
|
* 战斗义肢 装配
|
||
|
|
*
|
||
|
|
******************************************************************/
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var FxSVC = require("nx.fx.sv.expand");
|
||
|
|
var BackPackConst = require("backpack_const");
|
||
|
|
var HeroConst = require("hero_const");
|
||
|
|
var HeroEvent = require("hero_event");
|
||
|
|
var HeroControl = require("hero_controller");
|
||
|
|
var HEHY = HeroConst.HolyequipmentPosList;
|
||
|
|
var BBC = BackPackConst.Bag_Code;
|
||
|
|
var BIT = BackPackConst.item_type;
|
||
|
|
var BITT = BackPackConst.item_sub_type;
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
svcList: {
|
||
|
|
"default": null,
|
||
|
|
type: FxSVC
|
||
|
|
},
|
||
|
|
nodPartner: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodHolySlots: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodSlectPlans: {
|
||
|
|
"default": null,
|
||
|
|
type: FxSVC
|
||
|
|
},
|
||
|
|
nodSuitDes: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
this.bindGEvent(HeroEvent.Hero_Open_Holy_Equipment_Cell_Event, this.freshHolyEqm.bind(this));
|
||
|
|
this.bindGEvent(HeroEvent.Hero_Get_Holy_Equipment_Plan_Event, this.freshHolyEqm.bind(this));
|
||
|
|
this.schlst = [];
|
||
|
|
},
|
||
|
|
// 重载:参数打开
|
||
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
||
|
|
var HC = HeroControl.getInstance();
|
||
|
|
var plans = _params.plans;
|
||
|
|
this.partner = _params.partner;
|
||
|
|
// console.log( JSON.stringify( this.partner ) + "方案数据 holy装配 伙伴数据" + JSON.stringify( plans ) );
|
||
|
|
if (!nx.dt.objEmpty(plans)) {
|
||
|
|
this.freshHolyEqm(plans);
|
||
|
|
} else {
|
||
|
|
HC.sender25220(); //申请神装套装信息
|
||
|
|
}
|
||
|
|
|
||
|
|
nx.gui.setActive(this.nodSlectPlans.node, "", false);
|
||
|
|
},
|
||
|
|
onHolyPlanChanged: function onHolyPlanChanged() {},
|
||
|
|
freshHolyEqm: function freshHolyEqm(_plans) {
|
||
|
|
var HC = HeroControl.getInstance();
|
||
|
|
var lst = [];
|
||
|
|
_plans = !_plans.holy_eqm_set_cell ? HC.getModel().getHolyEquipmentPlanDatad() : _plans;
|
||
|
|
var count = HC.getModel().getHolyPlanCount();
|
||
|
|
var num = _plans.num || count;
|
||
|
|
var datas = _plans.holy_eqm_set_cell;
|
||
|
|
var counts = game.configs.partner_holy_eqm_data.data_holy_suit_manage_length;
|
||
|
|
var cfg = game.configs.partner_holy_eqm_data.data_holy_suit_manage;
|
||
|
|
// console.log( JSON.stringify( this.partner ) + "当前的方案信息数据改变---" + JSON.stringify( datas ) );
|
||
|
|
for (var i in cfg) {
|
||
|
|
if (i <= num) {
|
||
|
|
var sch = nx.dt.objClone(cfg[i]);
|
||
|
|
sch.partner_id = this.partner.partner_id;
|
||
|
|
sch.list = [];
|
||
|
|
if (datas) {
|
||
|
|
for (var j = 0; j < datas.length; j++) {
|
||
|
|
var msgHoly = datas[j];
|
||
|
|
if (msgHoly && sch.id == msgHoly.id) {
|
||
|
|
sch.name = msgHoly.name;
|
||
|
|
sch.partner_id = msgHoly.partner_id;
|
||
|
|
sch.dif_id = this.partner.partner_id;
|
||
|
|
sch.list = msgHoly.list;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
sch.is_open = 1;
|
||
|
|
lst.push(sch);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
this.freshSelectNod(lst);
|
||
|
|
|
||
|
|
// console.log( "当前的方案信息" + JSON.stringify( lst ) );
|
||
|
|
if (counts > lst.length) {
|
||
|
|
var new_data = nx.dt.objClone(cfg[num + 1]);
|
||
|
|
lst.push(new_data);
|
||
|
|
}
|
||
|
|
this.schlst = lst;
|
||
|
|
this.svcList.rebuild(lst);
|
||
|
|
this.freshPartnerHolyInfo();
|
||
|
|
},
|
||
|
|
freshSelectNod: function freshSelectNod(_info) {
|
||
|
|
// console.log( "当前的方案信息刷新sss" + JSON.stringify( _info ) );
|
||
|
|
this.nodSlectPlans.rebuild(_info);
|
||
|
|
},
|
||
|
|
freshPartnerHolyInfo: function freshPartnerHolyInfo() {
|
||
|
|
var partner_icon = nx.gui.getComponent(this.nodPartner, "", "cmp.item.base");
|
||
|
|
if (partner_icon) {
|
||
|
|
partner_icon.setData(this.partner);
|
||
|
|
}
|
||
|
|
var holyeqms = HeroControl.getInstance().getModel().getHeroHolyEquipList(this.partner.partner_id);
|
||
|
|
;
|
||
|
|
var slots = this.nodHolySlots;
|
||
|
|
var lst = HeroControl.getInstance().getModel().getHolyEquipSuitDes(holyeqms);
|
||
|
|
// console.log( "当前的伙伴holy数据更新" + JSON.stringify( lst ) );
|
||
|
|
for (var pos in HEHY) {
|
||
|
|
var slot = nx.gui.find(slots, "slot" + pos);
|
||
|
|
var eqm = holyeqms[pos];
|
||
|
|
var emt = nx.dt.objEmpty(eqm);
|
||
|
|
nx.gui.setActive(slot, "empty", emt);
|
||
|
|
nx.gui.setActive(slot, "tip", false);
|
||
|
|
nx.gui.setActive(slot, "item", !emt);
|
||
|
|
var cmp = nx.gui.getComponent(slot, "item", "cmp.item.base");
|
||
|
|
if (cmp) {
|
||
|
|
if (!emt) {
|
||
|
|
cmp.setData(eqm);
|
||
|
|
} else {
|
||
|
|
cmp.setData(null);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
nx.gui.setActive(this.nodSuitDes, "", !nx.dt.arrEmpty(lst));
|
||
|
|
if (!nx.dt.arrEmpty(lst)) {
|
||
|
|
var nod = nx.gui.find(this.nodSuitDes, "desc");
|
||
|
|
for (var i = 0; i < nod.children.length; i++) {
|
||
|
|
var des = lst[i];
|
||
|
|
// console.log( "当前的套装相关属性" + JSON.stringify( des ) );
|
||
|
|
if (des) {
|
||
|
|
nx.gui.setString(nod.children[i], "txt", des.name);
|
||
|
|
var path = cc.path.join("coms/images/eqm_set" + Math.floor(des.id / 100));
|
||
|
|
nx.gui.setSpriteFrame(nod.children[i], "ticon", path);
|
||
|
|
} else {
|
||
|
|
nx.gui.setString(nod.children[i], "txt", "");
|
||
|
|
nx.gui.setSpriteFrame(nod.children[i], "ticon", "");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onTouchSlot: function onTouchSlot(_partId) {
|
||
|
|
var stype = parseInt(_partId);
|
||
|
|
// 取相关的战斗义肢
|
||
|
|
// 点击装备槽
|
||
|
|
var self = this;
|
||
|
|
var HC = HeroControl.getInstance();
|
||
|
|
var holyLst = [];
|
||
|
|
var eqms = HeroControl.getInstance().getModel().getHeroHolyEquipList(self.partner.partner_id);
|
||
|
|
for (var i in eqms) {
|
||
|
|
var _eqm = eqms[i];
|
||
|
|
holyLst.push({
|
||
|
|
"partner_id": self.partner.partner_id,
|
||
|
|
"item_id": _eqm.id
|
||
|
|
});
|
||
|
|
}
|
||
|
|
var eqm = eqms[_partId];
|
||
|
|
|
||
|
|
// 脱下
|
||
|
|
var takeoff = function takeoff() {
|
||
|
|
HC.sender11093(self.partner.partner_id, eqm.id, 0);
|
||
|
|
};
|
||
|
|
|
||
|
|
// 洗炼
|
||
|
|
var refinement = function refinement() {
|
||
|
|
HC.openHolyequipmentRefreshAttPanel(true, eqm, self.partner);
|
||
|
|
};
|
||
|
|
|
||
|
|
// 更换
|
||
|
|
var change = function change() {
|
||
|
|
HC.openHolyChangePanel(true, stype, self.partner, holyLst, function (_id, _panel) {
|
||
|
|
// _panel.close();
|
||
|
|
HC.sender11093(self.partner.partner_id, _id, 1);
|
||
|
|
}, function (_data) {
|
||
|
|
HC.sender11093(_data.partner.partner_id, _data.eqm, 0);
|
||
|
|
});
|
||
|
|
};
|
||
|
|
|
||
|
|
// 当前装备操作
|
||
|
|
if (eqm) {
|
||
|
|
HC.openEquipChangePanel(true, eqm, function (_op, _panel) {
|
||
|
|
_panel.close();
|
||
|
|
if (_op == "takeoff") {
|
||
|
|
takeoff();
|
||
|
|
}
|
||
|
|
if (_op == "change") {
|
||
|
|
change();
|
||
|
|
}
|
||
|
|
if (_op == "refinement") {
|
||
|
|
refinement();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
// 新装备穿戴
|
||
|
|
else {
|
||
|
|
change();
|
||
|
|
}
|
||
|
|
},
|
||
|
|
getSelectHoly: function getSelectHoly(_index) {
|
||
|
|
var data = [];
|
||
|
|
var nodes = nx.gui.find(this.svcList, "srv/view/content");
|
||
|
|
var cmp = nodes.children[_index].getComponent("cmp.partner.holy.sch");
|
||
|
|
if (cmp) {
|
||
|
|
data = cmp.mdata.list;
|
||
|
|
}
|
||
|
|
return data;
|
||
|
|
},
|
||
|
|
onTouchTakeOff: function onTouchTakeOff() {
|
||
|
|
var HC = HeroControl.getInstance();
|
||
|
|
HC.sender11093(this.partner.partner_id, 0, 0);
|
||
|
|
},
|
||
|
|
onTouchSave: function onTouchSave() {
|
||
|
|
nx.gui.setActive(this.nodSlectPlans.node, "", !this.nodSlectPlans.node.active);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|