158 lines
5.8 KiB
JavaScript
158 lines
5.8 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'd7fd1nEZM1K9pz7qsj3eDCk', 'cmp.cchampion.race.info');
|
||
|
|
// Scripts/mod/pvp/crosschampion/cmp/cmp.cchampion.race.info.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var ItemLay = require("cmp.common.itemlayout");
|
||
|
|
var HeroController = require("hero_controller");
|
||
|
|
var data2Icon = require("bridge.utils.item");
|
||
|
|
var BattleController = require("battle_controller");
|
||
|
|
var BridgeComponent = require("bridge.component");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeComponent,
|
||
|
|
properties: {
|
||
|
|
nodLeft: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodRight: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
nodLParts: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
nodRParts: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
nodLCamp: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Sprite
|
||
|
|
},
|
||
|
|
nodRCamp: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Sprite
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 根据位置获取敌方英雄数据
|
||
|
|
getRoleDataByIndex: function getRoleDataByIndex(index, role_list) {
|
||
|
|
for (var k in role_list) {
|
||
|
|
var v = role_list[k];
|
||
|
|
if (v.pos == index) {
|
||
|
|
return v;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
dealPartners: function dealPartners(_ctype, _plst, _left) {
|
||
|
|
var formation_config = gdata("formation_data", "data_form_data", _ctype);
|
||
|
|
var partner_ids = [];
|
||
|
|
var role_datas = [];
|
||
|
|
for (var i = 1; i <= 9; i++) {
|
||
|
|
var role_data = null;
|
||
|
|
var key = null;
|
||
|
|
//阵法和实际位置的映射转换
|
||
|
|
for (var j = 0; j < formation_config.pos.length; j++) {
|
||
|
|
var pos_val = formation_config.pos[j];
|
||
|
|
if (pos_val[1] == i) {
|
||
|
|
key = pos_val[0];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
var role_info = this.getRoleDataByIndex(key, _plst);
|
||
|
|
//位置上没有英雄就选择置空
|
||
|
|
var role_vo = null;
|
||
|
|
if (role_info) {
|
||
|
|
if (_left) {
|
||
|
|
role_data = HeroController.getInstance().getModel().getHeroInfoByBidStar(role_info.bid, role_info.star);
|
||
|
|
partner_ids.push(role_data);
|
||
|
|
role_vo = role_data;
|
||
|
|
} else {
|
||
|
|
role_info.is_master = true;
|
||
|
|
role_info.rid = role_info.rid || 0;
|
||
|
|
role_info.srv_id = role_info.srv_id || "";
|
||
|
|
role_vo = this.createHeroVo(role_info);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
role_datas.push(role_vo);
|
||
|
|
}
|
||
|
|
return role_datas;
|
||
|
|
},
|
||
|
|
createHeroVo: function createHeroVo(role_data) {
|
||
|
|
role_data.updateHeroVo = "";
|
||
|
|
var vof = data2Icon.data2Icon(role_data.bid);
|
||
|
|
vof.level = role_data.lev;
|
||
|
|
vof.stars = role_data.star;
|
||
|
|
var vo = data2Icon.data2Icon(vof);
|
||
|
|
// vo.bid = role_data.bid;
|
||
|
|
// vo.level = role_data.lev;
|
||
|
|
// // vo.partner_id = role_data.partner_id;
|
||
|
|
// // vo.rid = role_data.rid;
|
||
|
|
// // vo.srv_id = vo.srv_id;
|
||
|
|
// vo.stars = vo.star;
|
||
|
|
return vo;
|
||
|
|
},
|
||
|
|
setRaceInfo: function setRaceInfo(_guessdata) {
|
||
|
|
var guessinfo = _guessdata;
|
||
|
|
// console.log( "竞猜相关数据" + JSON.stringify( _guessdata ) );
|
||
|
|
this.race = _guessdata;
|
||
|
|
var acamptype = guessinfo.a_formation_type; // 陣型顯示
|
||
|
|
var bcamptype = guessinfo.b_formation_type; // 陣型顯示
|
||
|
|
var ap_list = guessinfo.a_plist; // 夥伴列表
|
||
|
|
var bp_list = guessinfo.b_plist; // 夥伴列表
|
||
|
|
var aframe = guessinfo.a_avatar_id == 0 ? 1000 : guessinfo.a_avatar_id; // 頭像框
|
||
|
|
var bframe = guessinfo.b_avatar_id == 0 ? 1000 : guessinfo.b_avatar_id; // 頭像框
|
||
|
|
var apower = guessinfo.a_power; // 戰力
|
||
|
|
var bpower = guessinfo.b_power; // 戰力
|
||
|
|
var arole = this.dealPartners(acamptype, ap_list);
|
||
|
|
this.nodLParts.rebuild(arole);
|
||
|
|
var path = "prefab/pvp/ui";
|
||
|
|
var aformation_config = gdata("formation_data", "data_form_data", acamptype);
|
||
|
|
var apaht = cc.path.join(path, "teamform_" + aformation_config.order);
|
||
|
|
nx.gui.setSpriteFrame(this.nodLCamp, "", apaht);
|
||
|
|
var cmp = nx.gui.getComponent(this.nodLeft, "bg/info/avatar", "cmp.common.header");
|
||
|
|
if (cmp) {
|
||
|
|
cmp.setHeadRes(guessinfo.a_face);
|
||
|
|
cmp.setFrameRes(aframe);
|
||
|
|
}
|
||
|
|
nx.gui.setString(this.nodLeft, "bg/info/power", apower);
|
||
|
|
nx.gui.setString(this.nodLeft, "bg/info/lev", nx.text.format("LvNumber", guessinfo.a_lev));
|
||
|
|
nx.gui.setString(this.nodLeft, "bg/info/nbg/server", guessinfo.a_srv_id);
|
||
|
|
nx.gui.setString(this.nodLeft, "bg/info/nbg/name", guessinfo.a_name);
|
||
|
|
var bformation_config = gdata("formation_data", "data_form_data", bcamptype);
|
||
|
|
var bpaht = cc.path.join(path, "teamform_" + bformation_config.order);
|
||
|
|
nx.gui.setSpriteFrame(this.nodRCamp, "", bpaht);
|
||
|
|
|
||
|
|
// nx.gui.setSpriteFrame( this.nodRight, "bg/info/ctype", cc.path.join( path, "teamform_" + bcamptype ) );
|
||
|
|
var bcmp = nx.gui.getComponent(this.nodRight, "bg/info/avatar", "cmp.common.header");
|
||
|
|
if (bcmp) {
|
||
|
|
bcmp.setHeadRes(guessinfo.b_face);
|
||
|
|
bcmp.setFrameRes(bframe);
|
||
|
|
}
|
||
|
|
nx.gui.setString(this.nodRight, "bg/info/power", bpower);
|
||
|
|
nx.gui.setString(this.nodRight, "bg/info/lev", nx.text.format("LvNumber", guessinfo.b_lev));
|
||
|
|
nx.gui.setString(this.nodRight, "bg/info/name", guessinfo.b_name);
|
||
|
|
var brole = this.dealPartners(bcamptype, bp_list);
|
||
|
|
// if( this.nodLeftParts ){
|
||
|
|
|
||
|
|
this.nodRParts.rebuild(brole);
|
||
|
|
// }
|
||
|
|
|
||
|
|
nx.gui.setString(this.nodMyBet, "lname/server", guessinfo.a_srv_id);
|
||
|
|
nx.gui.setString(this.nodMyBet, "lname/name", guessinfo.a_name);
|
||
|
|
nx.gui.setString(this.nodMyBet, "lrate/rate", parseFloat(guessinfo.a_bet_ratio / 1000));
|
||
|
|
nx.gui.setString(this.nodMyBet, "rname/server", guessinfo.b_srv_id);
|
||
|
|
nx.gui.setString(this.nodMyBet, "rname/name", guessinfo.b_name);
|
||
|
|
nx.gui.setString(this.nodMyBet, "rrate/rate", parseFloat(guessinfo.b_bet_ratio / 1000));
|
||
|
|
nx.gui.setActive(this.nodReplay, "", guessinfo.replay_id != 0);
|
||
|
|
nx.gui.setActive(this.nodLeft, "ico", guessinfo.ret == 1);
|
||
|
|
nx.gui.setActive(this.nodRight, "ico", guessinfo.ret == 2);
|
||
|
|
},
|
||
|
|
onTouchReplay: function onTouchReplay() {
|
||
|
|
var srv_id = nx.bridge.vget("curServer").srv_id;
|
||
|
|
BattleController.getInstance().sender_20036(this.race.replay_id, srv_id);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|