165 lines
4.8 KiB
JavaScript
165 lines
4.8 KiB
JavaScript
|
|
const BridgeWindow = require("bridge.window");
|
||
|
|
const NxExpand = require("nx.fx.sv.expand");
|
||
|
|
const PlanesafkController = require("planesafk_controller");
|
||
|
|
const PlanesafkEvent = require("planesafk_event");
|
||
|
|
const PlanesafkConst = require("planesafk_const");
|
||
|
|
|
||
|
|
//复活和回血事件
|
||
|
|
cc.Class({
|
||
|
|
extends: BridgeWindow,
|
||
|
|
|
||
|
|
properties: {
|
||
|
|
list:{
|
||
|
|
default:null,
|
||
|
|
type:NxExpand
|
||
|
|
},
|
||
|
|
btn_comfirm:{
|
||
|
|
default:null,
|
||
|
|
type:cc.Node
|
||
|
|
},
|
||
|
|
title_txt:{
|
||
|
|
default:null,
|
||
|
|
type:cc.Label
|
||
|
|
},
|
||
|
|
desc:{
|
||
|
|
default:null,
|
||
|
|
type:cc.RichText
|
||
|
|
},
|
||
|
|
ico:{
|
||
|
|
default:null,
|
||
|
|
type:cc.Node
|
||
|
|
},
|
||
|
|
title_bg:{
|
||
|
|
default:null,
|
||
|
|
type:cc.Node
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
// LIFE-CYCLE CALLBACKS:
|
||
|
|
|
||
|
|
onLoad() {
|
||
|
|
this.ctrl = PlanesafkController.getInstance();
|
||
|
|
this.model = this.ctrl.getModel();
|
||
|
|
|
||
|
|
this.bindGEvent( PlanesafkEvent.Get_Hero_Live_Event, this.getLiveHero.bind( this ) );
|
||
|
|
this.bindGEvent( PlanesafkEvent.Look_Other_Hero_Event, this.lookOtherHero.bind( this ) );
|
||
|
|
},
|
||
|
|
|
||
|
|
getLiveHero(){
|
||
|
|
let list = this.model.getAllPlanesHeroData();
|
||
|
|
list.sort(Utils.tableLowerSorter(["hp_per"]));
|
||
|
|
this.setListData(list);
|
||
|
|
},
|
||
|
|
|
||
|
|
lookOtherHero(data){
|
||
|
|
if (! data) { return };
|
||
|
|
this.is_ther_send = false;
|
||
|
|
this.dic_other_hero[data.pos] = data;
|
||
|
|
},
|
||
|
|
|
||
|
|
start() {
|
||
|
|
|
||
|
|
},
|
||
|
|
|
||
|
|
onOpenConfigs(param) {
|
||
|
|
this.board_id = param.id
|
||
|
|
this.data = param.data
|
||
|
|
var setting = param.setting || {}
|
||
|
|
this.board_cfg = setting.board_cfg
|
||
|
|
|
||
|
|
this.setData(param.id)
|
||
|
|
var list = this.model.getAllPlanesHeroData();
|
||
|
|
if (list == null) {
|
||
|
|
this.ctrl.sender28613();
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
list.sort(Utils.tableLowerSorter(["hp_per"]));
|
||
|
|
this.setListData(list);
|
||
|
|
}
|
||
|
|
var evt_data = this.ctrl.getMapEvtData(this.data.line, this.data.index);
|
||
|
|
if (evt_data && evt_data.is_black) {
|
||
|
|
this.btn_comfirm.active = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
let path = null;
|
||
|
|
if (this.board_id == PlanesafkConst.Recover_Id) {
|
||
|
|
path = cc.path.join("prefab/pve/planesafk/ui","bg_event_blue");
|
||
|
|
}else if(this.board_id == PlanesafkConst.Revive_Id){
|
||
|
|
path = cc.path.join("prefab/pve/planesafk/ui","bg_event_puple");
|
||
|
|
}
|
||
|
|
|
||
|
|
if(path != null){
|
||
|
|
nx.gui.setSpriteFrame(this.title_bg,path);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
setListData:function(list){
|
||
|
|
this.hero_list = list;
|
||
|
|
this.list.rebuild(this.hero_list);
|
||
|
|
},
|
||
|
|
|
||
|
|
setData:function(id){
|
||
|
|
if(! id)return;
|
||
|
|
var board_cfg = this.board_cfg;
|
||
|
|
if (nx.dt.objEmpty(board_cfg)) {
|
||
|
|
//避免报错的
|
||
|
|
board_cfg = game.configs.SecretDunData.data_board[id]
|
||
|
|
}
|
||
|
|
if (! board_cfg)return;
|
||
|
|
|
||
|
|
// 按钮
|
||
|
|
if (board_cfg.btn_str != "" ) {
|
||
|
|
this.btn_comfirm.active = true;
|
||
|
|
nx.gui.setString(this.btn_comfirm,"txt",board_cfg.btn_str);
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
this.btn_comfirm.active = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 图片
|
||
|
|
|
||
|
|
// 标题
|
||
|
|
this.title_txt.string = board_cfg.title;
|
||
|
|
|
||
|
|
// 描述内容一
|
||
|
|
this.desc.string = board_cfg.desc_1;
|
||
|
|
},
|
||
|
|
|
||
|
|
onPreClosed() {
|
||
|
|
this.list.rebuild([]);
|
||
|
|
},
|
||
|
|
|
||
|
|
onClickComfirmBtn:function( ){
|
||
|
|
if (! this.board_id || ! this.data)return;
|
||
|
|
|
||
|
|
let self = this;
|
||
|
|
// 告示牌和升降台无需操作
|
||
|
|
if (this.board_id == PlanesafkConst.Recover_Id || this.board_id == PlanesafkConst.Revive_Id) {
|
||
|
|
if (this.board_id == PlanesafkConst.Recover_Id && ! this.model.checkIsHaveHpNotFullHero()) { // 回复泉水时,所有英雄都是满血
|
||
|
|
nx.mbox(nx.text.getKey("msg_planesafk_reply_tip"),["cancel","confirm"],(_key,_box)=>{
|
||
|
|
_box.close();
|
||
|
|
if(_key =="confirm"){
|
||
|
|
self.ctrl.sender28600(self.data.line, self.data.index, 1, {});
|
||
|
|
self.ctrl.openPlanesafkBoardWindow(false)
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
else if ( this.board_id == PlanesafkConst.Revive_Id && ! this.model.checkIsHaveDieHero()) { // 复活时,没有死亡的英雄
|
||
|
|
nx.mbox(nx.text.getKey("msg_planesafk_death_tip"),["cancel","confirm"],(_key,_box)=>{
|
||
|
|
_box.close();
|
||
|
|
if(_key =="confirm"){
|
||
|
|
self.ctrl.sender28600(self.data.line, self.data.index, 1, {});
|
||
|
|
self.ctrl.openPlanesafkBoardWindow(false)
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
this.ctrl.sender28600(this.data.line, this.data.index, 1, {} );
|
||
|
|
this.ctrl.openPlanesafkBoardWindow(false)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
// update (dt) {},
|
||
|
|
});
|