547 lines
17 KiB
JavaScript
547 lines
17 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'd6f62cS99NIpbr2B3Jz331L', 'cmp.planesafk.wnd.masterinfo');
|
||
|
|
// Scripts/mod/pve/planesafk/cmp/cmp.planesafk.wnd.masterinfo.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
var BridgeWindow = require("bridge.window");
|
||
|
|
var ItemLay = require("cmp.common.itemlayout");
|
||
|
|
var PlanesafkController = require("planesafk_controller");
|
||
|
|
var HeroController = require("hero_controller");
|
||
|
|
var RoleController = require("role_controller");
|
||
|
|
var PlanesafkEvent = require("planesafk_event");
|
||
|
|
var PlanesafkConst = require("planesafk_const");
|
||
|
|
var ElfinEvent = require("elfin_event");
|
||
|
|
var PartnerConst = require("partner_const");
|
||
|
|
var HeroConst = require("hero_const");
|
||
|
|
var HeroVo = require("hero_vo");
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeWindow,
|
||
|
|
properties: {
|
||
|
|
btn_fight: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
btn_embattle: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
lname: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
rname: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
myHead: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
enHead: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
left_atk_val: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
left_atk_txt: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
right_atk_txt: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
left_heros: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
right_heros: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
rewards: {
|
||
|
|
"default": null,
|
||
|
|
type: ItemLay
|
||
|
|
},
|
||
|
|
fabHeader: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Prefab
|
||
|
|
},
|
||
|
|
mySprites: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
selfSprites: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Node
|
||
|
|
},
|
||
|
|
myAddTxt: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
selfAddTxt: {
|
||
|
|
"default": null,
|
||
|
|
type: cc.Label
|
||
|
|
},
|
||
|
|
buffTxts: {
|
||
|
|
"default": [],
|
||
|
|
type: [cc.Node]
|
||
|
|
},
|
||
|
|
diffs: {
|
||
|
|
"default": [],
|
||
|
|
type: [cc.Node]
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// LIFE-CYCLE CALLBACKS:
|
||
|
|
onLoad: function onLoad() {
|
||
|
|
this.ctrl = PlanesafkController.getInstance();
|
||
|
|
this.model = this.ctrl.getModel();
|
||
|
|
|
||
|
|
// 可出战英雄数据
|
||
|
|
this.bindGEvent(PlanesafkEvent.Get_All_Hero_Event, this.getAllHeroByForm.bind(this));
|
||
|
|
// 我方阵容数据
|
||
|
|
this.bindGEvent(PlanesafkEvent.Get_Form_Data_Event, this.getHeroFormData.bind(this));
|
||
|
|
// 通过布阵更新了我方阵容数据
|
||
|
|
this.bindGEvent(PlanesafkEvent.Update_Form_Data_Event, this.updateMyFormData.bind(this));
|
||
|
|
// 我方精灵数据更新
|
||
|
|
this.bindGEvent(ElfinEvent.Get_Elfin_Tree_Data_Event, this.updateMyElfinInfo.bind(this));
|
||
|
|
// this.bindGEvent( ElfinEvent.Elfin_Plan_From_Info_Event, this.updateMyEflinSkill.bind( this ) );
|
||
|
|
// 通过布阵后战力值更新
|
||
|
|
this.bindGEvent(PlanesafkEvent.Update_Form_Atk_Event, this.updateMyHeroAtkVal.bind(this));
|
||
|
|
// 敌方阵容数据
|
||
|
|
this.bindGEvent(PlanesafkEvent.Get_Master_Data_Event, this.setMasterData.bind(this));
|
||
|
|
},
|
||
|
|
// updateMyEflinSkill(data){
|
||
|
|
// if (!data)return;
|
||
|
|
// let sprites = [];
|
||
|
|
// if (data.team_list && data.team_list[0]) {
|
||
|
|
// sprites = data.team_list[0].sprites;
|
||
|
|
// }
|
||
|
|
// // 精灵
|
||
|
|
// for (var i=1;i<=4;i++) {
|
||
|
|
// let left_elfin_item = this.mySprites.children[i-1];
|
||
|
|
// if (left_elfin_item) {
|
||
|
|
// var elfin_bid = this.getElfinBidByPos(sprites, i);
|
||
|
|
// if(elfin_bid){
|
||
|
|
// left_elfin_item.active = true;
|
||
|
|
// }else{
|
||
|
|
// left_elfin_item.active = false;
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
// },
|
||
|
|
createHeroVo: function createHeroVo(role_data) {
|
||
|
|
var vo = new HeroVo();
|
||
|
|
vo.atk = role_data.atk;
|
||
|
|
vo.bid = role_data.bid;
|
||
|
|
vo.ext_data = role_data.ext_data;
|
||
|
|
vo.hp_max = role_data.hp_max;
|
||
|
|
vo.hp_per = role_data.hp_per;
|
||
|
|
vo.is_master = role_data.is_master;
|
||
|
|
vo.lev = role_data.lev;
|
||
|
|
vo.partner_id = role_data.partner_id;
|
||
|
|
vo.rid = role_data.rid;
|
||
|
|
vo.srv_id = vo.srv_id;
|
||
|
|
vo.star = vo.star;
|
||
|
|
return vo;
|
||
|
|
},
|
||
|
|
setMasterData: function setMasterData(data) {
|
||
|
|
if (!data) return;
|
||
|
|
if (!this.data) return;
|
||
|
|
var evt_config = this.data.evt_config;
|
||
|
|
// 名称
|
||
|
|
// if (evt_config) {// && evt_config.type == PlanesafkConst.Evt_Type.Guard
|
||
|
|
this.rname.string = data.name || nx.text.getKey("lab_planesafk_master_sw");
|
||
|
|
// }
|
||
|
|
// 战力
|
||
|
|
this.right_atk_txt.string = data.guards_power;
|
||
|
|
// 头像
|
||
|
|
if (!this.right_head) {
|
||
|
|
this.right_head = cc.instantiate(this.fabHeader);
|
||
|
|
this.right_head.parent = this.enHead;
|
||
|
|
}
|
||
|
|
var cmp = this.right_head.getComponent("cmp.common.header");
|
||
|
|
if (cmp) {
|
||
|
|
cmp.setData(data);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 英雄头像
|
||
|
|
var role_datas = [];
|
||
|
|
var formation_config = gdata("formation_data", "data_form_data", data.formation_type); //game.configs.FormationData.data_form_data[data.formation_type]
|
||
|
|
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];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
role_data = this.getRoleDataByIndex(key, data.guards);
|
||
|
|
// var hero_item = this.right_item_list[i]
|
||
|
|
var role_vo = null;
|
||
|
|
if (role_data) {
|
||
|
|
role_data.is_master = true;
|
||
|
|
role_data.rid = data.rid || 0;
|
||
|
|
role_data.srv_id = data.srv_id || "";
|
||
|
|
role_vo = this.createHeroVo(role_data);
|
||
|
|
// 剩余血量
|
||
|
|
// if (role_data.hp_per) {
|
||
|
|
// hero_item.showProgressbar(role_data.hp_per)
|
||
|
|
// if (role_data.hp_per <= 0) {
|
||
|
|
// hero_item.showStrTips(true,nx.text.getKey("tip_planesafk_deathed"),{c3b : new cc.Color( 255, 255, 255, 255 )})
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
}
|
||
|
|
|
||
|
|
role_datas.push(role_vo);
|
||
|
|
}
|
||
|
|
this.right_heros.rebuild(role_datas);
|
||
|
|
|
||
|
|
// 精灵
|
||
|
|
// this.tree_lv_right.string = (_string_format(nx.text.getKey("古树:%d级"), data.sprite_lev || 0))
|
||
|
|
for (var i = 0; i < 4; i++) {
|
||
|
|
var right_elfin_item = this.selfSprites.children[i];
|
||
|
|
if (right_elfin_item) {
|
||
|
|
var elfin_bid = this.getElfinBidByPos(data.sprites, i);
|
||
|
|
if (elfin_bid) {
|
||
|
|
right_elfin_item.active = true;
|
||
|
|
} else {
|
||
|
|
right_elfin_item.active = false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// 加成
|
||
|
|
var dif_val = data.strength || 1000;
|
||
|
|
if (dif_val >= 1000) {
|
||
|
|
this.selfAddTxt.string = cc.js.formatStr(nx.text.getKey("lab_planesafk_master_window_tip5"), (dif_val - 1000 / 10) / 100);
|
||
|
|
} else {
|
||
|
|
this.selfAddTxt.string = cc.js.formatStr(nx.text.getKey("lab_planesafk_master_window_tip6"), (1000 - dif_val / 10) / 100);
|
||
|
|
}
|
||
|
|
|
||
|
|
// // 我方buff数据
|
||
|
|
// for (var k in data.buffs) {
|
||
|
|
// var v = data.buffs[k];
|
||
|
|
// if (v.quality == 1) { // 蓝
|
||
|
|
// let buff_nd = this.buffTxts[v.quality - 1];
|
||
|
|
// nx.gui.setString(buff_nd,"num",v.num);
|
||
|
|
// }
|
||
|
|
// else if ( v.quality == 2 ){ //紫
|
||
|
|
// let buff_nd = this.buffTxts[v.quality - 1];
|
||
|
|
// nx.gui.setString(buff_nd,"num",v.num);
|
||
|
|
// }
|
||
|
|
// else if ( v.quality == 3 ){ // 橙
|
||
|
|
// let buff_nd = this.buffTxts[v.quality - 1];
|
||
|
|
// nx.gui.setString(buff_nd,"num",v.num);
|
||
|
|
// }
|
||
|
|
// }
|
||
|
|
},
|
||
|
|
updateMyHeroAtkVal: function updateMyHeroAtkVal(atk_val) {
|
||
|
|
this.left_atk_txt.string = atk_val;
|
||
|
|
this.hero_base_atk_val = this.hero_base_atk_val || 0;
|
||
|
|
var add_percent = (atk_val - this.hero_base_atk_val) / this.hero_base_atk_val * 100;
|
||
|
|
this.left_atk_val.string = cc.js.formatStr(nx.text.getKey("lab_planesafk_master_window_tip7"), add_percent.toFixed(1));
|
||
|
|
},
|
||
|
|
updateMyElfinInfo: function updateMyElfinInfo() {},
|
||
|
|
updateMyFormData: function updateMyFormData(form_type, pos_data) {
|
||
|
|
if (!this.form_data) return;
|
||
|
|
this.form_data.formation_type = form_type;
|
||
|
|
this.form_data.pos_info = pos_data;
|
||
|
|
this.hero_base_atk_val = 0; // 英雄基础战力值
|
||
|
|
var partner_ids = [];
|
||
|
|
var role_datas = [];
|
||
|
|
var formation_config = gdata("formation_data", "data_form_data", form_type);
|
||
|
|
for (var i = 1; i <= 9; i++) {
|
||
|
|
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, pos_data);
|
||
|
|
var role_data = null;
|
||
|
|
var role_vo = null;
|
||
|
|
if (role_info) {
|
||
|
|
if (role_info.data && role_info.data.flag == 1) {
|
||
|
|
role_data = role_info.data;
|
||
|
|
role_data.flag = 1; //雇佣英雄
|
||
|
|
partner_ids.push(role_data);
|
||
|
|
role_vo = this.createHeroVo(role_data);
|
||
|
|
} else {
|
||
|
|
role_data = HeroController.getInstance().getModel().getHeroById(role_info.id);
|
||
|
|
role_data.flag = 0; //非雇佣英雄
|
||
|
|
role_data.hp_per = this.model.getMyPlanesHeroHpPer(role_data.partner_id, role_data.flag);
|
||
|
|
partner_ids.push(role_data);
|
||
|
|
role_vo = role_data;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
role_datas.push(role_vo);
|
||
|
|
|
||
|
|
// //助战
|
||
|
|
// if (role_data.flag == 1) {
|
||
|
|
// hero_item.showHelpImg(true)
|
||
|
|
// }
|
||
|
|
// // 剩余血量
|
||
|
|
// var hp_per = role_data.hp_per || PlanesafkController.getInstance().getModel().getMyPlanesHeroHpPer(role_data.partner_id, role_data.flag)
|
||
|
|
// if (hp_per) {
|
||
|
|
// hero_item.showProgressbar(hp_per)
|
||
|
|
// }
|
||
|
|
// 总战力
|
||
|
|
if (role_data) {
|
||
|
|
this.hero_base_atk_val = this.hero_base_atk_val + role_data.power;
|
||
|
|
} else {
|
||
|
|
this.hero_base_atk_val = this.hero_base_atk_val + 0;
|
||
|
|
}
|
||
|
|
this.left_atk_txt.string = this.hero_base_atk_val;
|
||
|
|
}
|
||
|
|
this.left_heros.rebuild(role_datas);
|
||
|
|
if (Utils.next(partner_ids) != null) {
|
||
|
|
// 请求新上阵英雄的战力值
|
||
|
|
this.ctrl.sender28610(partner_ids);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
getHeroFormData: function getHeroFormData(data) {
|
||
|
|
this.form_data = data;
|
||
|
|
if (this.get_all_hero_flag) {
|
||
|
|
this.setMyFormData();
|
||
|
|
}
|
||
|
|
},
|
||
|
|
getAllHeroByForm: function getAllHeroByForm() {
|
||
|
|
this.get_all_hero_flag = true;
|
||
|
|
if (this.form_data) {
|
||
|
|
this.setMyFormData();
|
||
|
|
}
|
||
|
|
},
|
||
|
|
start: function start() {},
|
||
|
|
onOpenConfigs: function onOpenConfigs(data) {
|
||
|
|
this.data = data;
|
||
|
|
if (!data) return;
|
||
|
|
this.updateAwardList();
|
||
|
|
this.ctrl.sender28612(); // 请求我方阵容数据
|
||
|
|
this.ctrl.sender28600(this.data.line, this.data.index, 0, {}); // 请求敌方阵容数据
|
||
|
|
this.ctrl.sender28613();
|
||
|
|
|
||
|
|
//展示難度
|
||
|
|
// let evt_cfg = game.configs.planes_data.data_evt_info[data.evt_id];
|
||
|
|
// if(evt_cfg){
|
||
|
|
// this.diffs[evt_cfg.type - 1].active = true;
|
||
|
|
// }
|
||
|
|
//申请位面的精灵信息
|
||
|
|
// ElfinController.getInstance().send26555(PartnerConst.Fun_Form.Planes)
|
||
|
|
|
||
|
|
var evt_data = this.ctrl.getMapEvtData(this.data.line, this.data.index);
|
||
|
|
if (evt_data && evt_data.is_black) {
|
||
|
|
this.btn_fight.active = false;
|
||
|
|
this.btn_embattle.active = false;
|
||
|
|
}
|
||
|
|
},
|
||
|
|
onPreClosed: function onPreClosed() {
|
||
|
|
this.rewards.rebuild([]);
|
||
|
|
this.left_heros.rebuild([]);
|
||
|
|
this.right_heros.rebuild([]);
|
||
|
|
},
|
||
|
|
// 奖励数据
|
||
|
|
updateAwardList: function updateAwardList() {
|
||
|
|
var evt_config = this.data.evt_config;
|
||
|
|
if (!evt_config) {
|
||
|
|
evt_config = game.configs.planes_data.data_evt_info[this.data.evt_id];
|
||
|
|
}
|
||
|
|
if (!evt_config) return;
|
||
|
|
// 怪物显示事件名称
|
||
|
|
if (evt_config.type == PlanesafkConst.Evt_Type.Monster) {
|
||
|
|
this.rname.string = evt_config.name;
|
||
|
|
}
|
||
|
|
var add_per = 0;
|
||
|
|
var role_vo = RoleController.getInstance().getRoleVo();
|
||
|
|
if (!role_vo) return;
|
||
|
|
var lev = role_vo.lev || 1;
|
||
|
|
var reward_list = gdata("planes_data", "data_reward_info", evt_config.reward_list[0]);
|
||
|
|
var reward = null;
|
||
|
|
if (reward_list) {
|
||
|
|
for (var i in reward_list) {
|
||
|
|
var v = reward_list[i];
|
||
|
|
if (v.min && v.max && lev >= v.min && lev <= v.max) {
|
||
|
|
reward = v.reward;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
var data_list = reward || [];
|
||
|
|
var item_list = [];
|
||
|
|
for (var k in data_list) {
|
||
|
|
var v = data_list[k];
|
||
|
|
var vo = {};
|
||
|
|
vo.bid = v[0];
|
||
|
|
vo.num = Math.floor((1 + add_per / 1000) * v[1]);
|
||
|
|
if (vo.bid == 25 && this.model.isHolidayOpen()) {
|
||
|
|
vo.num = Math.floor(vo.num * 1.1 + 0.5);
|
||
|
|
}
|
||
|
|
item_list.push(vo);
|
||
|
|
}
|
||
|
|
this.rewards.rebuild(item_list);
|
||
|
|
},
|
||
|
|
// 我方阵容数据
|
||
|
|
setMyFormData: function setMyFormData() {
|
||
|
|
var role_vo = RoleController.getInstance().getRoleVo();
|
||
|
|
if (!this.form_data || !role_vo) return;
|
||
|
|
// 名称
|
||
|
|
this.lname.string = role_vo.name;
|
||
|
|
// 头像
|
||
|
|
if (!this.left_head) {
|
||
|
|
this.left_head = cc.instantiate(this.fabHeader);
|
||
|
|
this.left_head.parent = this.myHead;
|
||
|
|
}
|
||
|
|
var cmp = this.left_head.getComponent("cmp.common.header");
|
||
|
|
if (cmp) {
|
||
|
|
cmp.setData(role_vo);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 英雄头像
|
||
|
|
this.hero_base_atk_val = 0;
|
||
|
|
var formation_config = gdata("formation_data", "data_form_data", this.form_data.formation_type);
|
||
|
|
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, this.form_data.pos_info);
|
||
|
|
//位置上没有英雄就选择置空
|
||
|
|
var _role_vo = null;
|
||
|
|
if (role_info) {
|
||
|
|
if (role_info.flag && role_info.flag == 1) {
|
||
|
|
role_data = this.model.getPlanesHireHeroData(role_info.id);
|
||
|
|
role_data.flag = 1; //雇佣英雄
|
||
|
|
partner_ids.push(role_data);
|
||
|
|
_role_vo = this.createHeroVo(role_data);
|
||
|
|
} else {
|
||
|
|
role_data = HeroController.getInstance().getModel().getHeroById(role_info.id);
|
||
|
|
role_data.flag = 0; //非雇佣英雄
|
||
|
|
role_data.hp_per = this.model.getMyPlanesHeroHpPer(role_data.partner_id, role_data.flag);
|
||
|
|
partner_ids.push(role_data);
|
||
|
|
_role_vo = role_data;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
role_datas.push(_role_vo);
|
||
|
|
// 总战力
|
||
|
|
if (role_data) {
|
||
|
|
this.hero_base_atk_val = this.hero_base_atk_val + role_data.power;
|
||
|
|
} else {
|
||
|
|
this.hero_base_atk_val = this.hero_base_atk_val + 0;
|
||
|
|
}
|
||
|
|
this.left_atk_txt.string = this.hero_base_atk_val;
|
||
|
|
}
|
||
|
|
this.left_heros.rebuild(role_datas);
|
||
|
|
|
||
|
|
// 请求战力加成
|
||
|
|
if (partner_ids.length > 0) {
|
||
|
|
// 请求新上阵英雄的战力值
|
||
|
|
this.ctrl.sender28610(partner_ids);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 精灵
|
||
|
|
this.updateMyElfinInfo();
|
||
|
|
},
|
||
|
|
// 根据位置获取精灵的bid
|
||
|
|
getElfinBidByPos: function getElfinBidByPos(sprite_data, pos) {
|
||
|
|
if (!sprite_data) return;
|
||
|
|
for (var k in sprite_data) {
|
||
|
|
var v = sprite_data[k];
|
||
|
|
if (v.pos == pos) {
|
||
|
|
return v.item_bid;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 根据位置获取我方英雄id
|
||
|
|
getMyRoleIdByIndex: function getMyRoleIdByIndex(index, role_list) {
|
||
|
|
for (var k in role_list) {
|
||
|
|
var v = role_list[k];
|
||
|
|
if (v.pos == index) {
|
||
|
|
return v.id;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 根据位置获取敌方英雄数据
|
||
|
|
getRoleDataByIndex: function getRoleDataByIndex(index, role_list) {
|
||
|
|
for (var k in role_list) {
|
||
|
|
var v = role_list[k];
|
||
|
|
if (v.pos == index) {
|
||
|
|
return v;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 出战
|
||
|
|
onClickFightBtn: function onClickFightBtn() {
|
||
|
|
var _this = this;
|
||
|
|
if (!this.form_data || !this.data) return;
|
||
|
|
if (this.form_data.pos_info.length < 5) {
|
||
|
|
var str = nx.text.getKey("lab_planesafk_master_window_tip2");
|
||
|
|
nx.mbox(str, ["cancel", "confirm"], function (_key, _box) {
|
||
|
|
_box.close();
|
||
|
|
if (_key == "confirm") {
|
||
|
|
_this.comfirmFight();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
this.comfirmFight();
|
||
|
|
}
|
||
|
|
},
|
||
|
|
comfirmFight: function comfirmFight() {
|
||
|
|
if (!this.form_data || !this.data) return;
|
||
|
|
var ext_list = [];
|
||
|
|
// 阵法
|
||
|
|
ext_list.push({
|
||
|
|
type: PlanesafkConst.Proto_28600._1,
|
||
|
|
val1: this.form_data.formation_type,
|
||
|
|
val2: 0
|
||
|
|
});
|
||
|
|
// 神器
|
||
|
|
ext_list.push({
|
||
|
|
type: PlanesafkConst.Proto_28600._2,
|
||
|
|
val1: this.form_data.hallows_id,
|
||
|
|
val2: 0
|
||
|
|
});
|
||
|
|
// 英雄
|
||
|
|
for (var k in this.form_data.pos_info) {
|
||
|
|
var v = this.form_data.pos_info[k];
|
||
|
|
if (v.flag && v.flag == 1 || v.data && v.data.flag == 1) {
|
||
|
|
// 雇佣英雄
|
||
|
|
ext_list.push({
|
||
|
|
type: PlanesafkConst.Proto_28600._4,
|
||
|
|
val1: v.pos,
|
||
|
|
val2: v.id
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
ext_list.push({
|
||
|
|
type: PlanesafkConst.Proto_28600._3,
|
||
|
|
val1: v.pos,
|
||
|
|
val2: v.id
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
this.ctrl.sender28600(this.data.line, this.data.index, 1, ext_list, null, true);
|
||
|
|
this.close();
|
||
|
|
},
|
||
|
|
// 布阵
|
||
|
|
onClickEmbattleBtn: function onClickEmbattleBtn() {
|
||
|
|
HeroController.getInstance().openFormGoFightPanel(true, PartnerConst.Fun_Form.Planes, {
|
||
|
|
need_hide_top: true
|
||
|
|
}, HeroConst.FormShowType.eFormSave);
|
||
|
|
}
|
||
|
|
|
||
|
|
// update (dt) {},
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|