"use strict";
|
cc._RF.push(module, 'ca170QCzaFJqqIIrR3aONJQ', 'arena_champion_top_32_2_panel');
|
// Scripts/mod/arena/view/champion/arena_champion_top_32_2_panel.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里是描述这个窗体的作用的
|
// <br/>Create: 2019-03-15 14:11:08
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var ArenaEvent = require("arena_event");
|
|
var PlayerHead = require("playerhead");
|
|
var ArenaChampionTop322Panel = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("arena", "arena_champion_top_32_2_panel");
|
this.ctrl = arguments[0];
|
this.model = this.ctrl.getChamPionModel();
|
},
|
// 可以初始化声明一些变量的
|
initConfig: function initConfig() {},
|
// 初始化一些配置数据,可以用于声明一些变量之类的
|
initPanel: function initPanel() {
|
this.container_nd = this.seekChild("container");
|
this.guess_btn_nd = this.seekChild("guess_btn");
|
this.head_container_nd = this.seekChild("head_container");
|
this.guess_btn_nd.active = false;
|
var head = this.champion_head = new PlayerHead();
|
head.setPosition(0, 0);
|
head.setParent(this.head_container_nd);
|
head.show();
|
this.pos_line_list = {};
|
this.pos_line_list_2 = {};
|
this.role_pos_list = {};
|
this.role_name_list = {};
|
this.check_bnt_list = {};
|
|
for (var line_i = 1; line_i <= 6; line_i++) {
|
var line_info = this.pos_line_list[line_i] = {};
|
var line_node = this.seekChild(this.container_nd, "pos_line_" + line_i);
|
line_info.normal_1 = line_node.getChildByName("normal_1");
|
line_info.normal_2 = line_node.getChildByName("normal_2");
|
line_info.select_1 = line_node.getChildByName("select_1");
|
line_info.select_2 = line_node.getChildByName("select_2");
|
if (line_info.select_1) line_info.select_1.active = false;
|
if (line_info.select_2) line_info.select_2.active = false;
|
var pos_info = this.role_pos_list[line_i] = {};
|
var pos_nd = this.seekChild(this.container_nd, "role_pos_" + line_i);
|
pos_info.normal = pos_nd.getChildByName("normal");
|
pos_info.normal_sp = pos_info.normal.getComponent(cc.Sprite);
|
pos_info.select = pos_nd.getChildByName("select");
|
pos_info.select.active = false;
|
var name_info = this.role_name_list[line_i] = {};
|
name_info.name_nd = this.seekChild(this.container_nd, "role_name_" + line_i);
|
name_info.name_lb = name_info.name_nd.getComponent(cc.Label);
|
name_info.name_lb.string = ""; // 查看按钮
|
|
if (line_i % 2 === 1) {
|
this.check_bnt_list[line_i] = this.seekChild(this.container_nd, "check_btn_" + line_i);
|
this.check_bnt_list[line_i].index = line_i;
|
this.check_bnt_list[line_i].active = false;
|
this.check_bnt_list[line_i].on(cc.Node.EventType.TOUCH_END, this.onClickCheckBtn, this);
|
}
|
}
|
|
for (var line_1 = 1; line_i <= 2; line_i++) {
|
var index_1 = (i - 1) * 2 + 1;
|
var index_2 = i * 2;
|
var line_info = this.pos_line_list_2[index_1 + "_" + index_2] = {};
|
var line_node = this.seekChild(this.container_nd, "pos_line_" + index_1 + "_" + index_2s);
|
line_info.normal = line_node.getChildByName("normal");
|
line_info.select = line_node.getChildByName("select");
|
}
|
|
this.guess_btn_nd.on(cc.Node.EventType.TOUCH_END, this.onClickGuessBtn, this);
|
},
|
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
|
registerEvent: function registerEvent() {
|
this.addGlobalEvent(ArenaEvent.UpdateTop4InfoEvent, function (data) {
|
if (data) this.updateTop4Info(data);
|
}.bind(this)); // 压注更新
|
|
this.addGlobalEvent(ArenaEvent.UpdateTop324GuessGroupEvent, function (group, pos) {
|
if (!group && pos) {
|
this.updateGuessStatus(pos);
|
} else {
|
this.guess_btn_nd.active = false;
|
}
|
}.bind(this));
|
},
|
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
|
onShow: function onShow(params) {
|
this.updateWidgets();
|
},
|
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
|
onHide: function onHide() {},
|
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
|
onDelete: function onDelete() {},
|
updateBaseInfo: function updateBaseInfo() {
|
if (this.root_wnd) this.updateWidgets();
|
},
|
updateWidgets: function updateWidgets() {
|
var base_info = this.base_info = this.model.getBaseInfo();
|
var role_info = this.role_info = this.model.getRoleInfo();
|
if (!base_info || !role_info) return; // if (base_info.flag !== 0)
|
|
this.ctrl.sender20261();
|
},
|
updateTop4Info: function updateTop4Info(pos_data) {
|
var role_list = pos_data.pos_list;
|
if (!role_list) return;
|
|
for (var role_i in role_list) {
|
var role_info = role_list[role_i];
|
|
if (this.role_name_list[role_info.pos]) {
|
var name_info = this.role_name_list[role_info.pos];
|
var line_info = this.pos_line_list[role_info.pos];
|
var pos_info = this.role_pos_list[role_info.pos];
|
name_info.name_lb.string = role_info.name;
|
var name_color = null; // 文字色
|
|
var normal_status = null; // 底图是否置灰
|
|
var is_select = false;
|
var is_line = false;
|
|
if (role_info.ret === 0) {
|
// 未打
|
name_color = new cc.Color().fromHEX("#68452a");
|
normal_status = cc.Sprite.State.NORMAL;
|
} else if (role_info.ret === 1) {
|
// 胜利
|
name_color = new cc.Color().fromHEX("#68452a");
|
normal_status = cc.Sprite.State.NORMAL;
|
is_select = true;
|
is_line = true;
|
} else {
|
// 失败
|
name_color = new cc.Color(0x5b, 0x5b, 0x5b, 0xff);
|
normal_status = cc.Sprite.State.GRAY;
|
}
|
|
name_info.name_nd.color = name_color;
|
pos_info.normal_sp.setState(normal_status);
|
pos_info.select.active = is_select;
|
if (line_info.select_1) line_info.select_1.active = is_line;
|
if (line_info.select_2) line_info.select_2.active = is_line; // 公共line, 打过了就显示
|
|
var check_index = 0;
|
var public_index = 0;
|
|
if (role_info.pos % 2 === 0) {
|
var check_index = role_info.pos - 1;
|
var public_index = check_index + "_" + role_info.pos;
|
} else {
|
var check_index = role_info.pos;
|
var public_index = check_index + "_" + role_info.pos + 1;
|
}
|
|
var is_active = false;
|
|
if (role_info.ret !== 0) {
|
is_active = true;
|
}
|
|
if (this.pos_line_list_2[public_index]) this.pos_line_list_2[public_index].select.active = is_active; // 查看btn
|
|
this.check_bnt_list[check_index].active = is_active;
|
}
|
}
|
|
if (role_list.length == 7) {
|
this.champion_head.setHeadRes(role_list[0].face);
|
} else {
|
this.champion_head.clearHead();
|
}
|
|
this.ctrl.sender20262();
|
},
|
onClickCheckBtn: function onClickCheckBtn(event) {
|
gcore.GlobalEvent.fire(ArenaEvent.CheckFightInfoEvent, true, null, event.target.index);
|
},
|
updateGuessStatus: function updateGuessStatus(pos) {
|
var check_bnt = this.check_bnt_list[pos];
|
|
if (check_bnt) {
|
this.guess_btn_nd.active = true;
|
this.guess_btn_nd.position = check_bnt.position;
|
}
|
},
|
onClickGuessBtn: function onClickGuessBtn() {
|
this.ctrl.updateChampionTab(2);
|
}
|
});
|
|
cc._RF.pop();
|