"use strict";
|
cc._RF.push(module, '9dba3YeOMhNGIl+Q+tytrf5', 'friend_check_info_winodw');
|
// Scripts/mod/friend/view/friend_check_info_winodw.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: @syg.com(必填, 创建模块的人员)
|
// @description:
|
// 竖版查看好友
|
// <br/>Create: new Date().toISOString()
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var FriendConst = require("friend_const");
|
|
var RoleEvent = require("role_event");
|
|
var PlayerHead = require("playerhead");
|
|
var RoleController = require("role_controller");
|
|
var HeroVo = require("hero_vo");
|
|
var BattleController = require("battle_controller");
|
|
var ChatController = require("chat_controller");
|
|
var ChatConst = require("chat_const");
|
|
var FriendCheckInfoWindow = cc.Class({
|
"extends": BaseView,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("friend", "friend_check_info");
|
|
var FriendController = require("friend_controller");
|
|
this.viewTag = SCENE_TAG.dialogue; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意
|
|
this.win_type = WinType.Mini; //是否是全屏窗体 WinType.Full, WinType.Big, WinType.Mini, WinType.Tips
|
|
this.ctrl = FriendController.getInstance();
|
this.model = this.ctrl.getModel();
|
this.item_list = {};
|
},
|
openCallBack: function openCallBack() {
|
this.main_panel = this.root_wnd.getChildByName("main_panel");
|
this.close_btn = this.main_panel.getChildByName("close_btn");
|
this.friend_btn = this.main_panel.getChildByName("friend_btn");
|
this.black_btn = this.main_panel.getChildByName("black_btn");
|
this.pk_btn = this.main_panel.getChildByName("pk_btn");
|
this.pk_btn_label = this.pk_btn.getChildByName("Label").getComponent(cc.Label);
|
this.friend_btn_label = this.friend_btn.getChildByName("Label").getComponent(cc.Label);
|
this.black_btn_label = this.black_btn.getChildByName("Label").getComponent(cc.Label);
|
this.report_btn = this.main_panel.getChildByName("report_btn");
|
this.pk_btn_label.string = Utils.TI18N("切磋");
|
this.background = this.seekChild("background");
|
this.background.scale = FIT_SCALE;
|
this.info_con = this.main_panel.getChildByName("info_con");
|
this.name_lb = this.info_con.getChildByName("name").getComponent(cc.Label);
|
this.rank_lb = this.info_con.getChildByName("rank").getComponent(cc.Label);
|
this.rank_lb.string = Utils.TI18N("暂无");
|
this.guild_lb = this.info_con.getChildByName("guild").getComponent(cc.Label);
|
this.guild_lb.string = Utils.TI18N("暂无");
|
this.glory_btn = this.info_con.getChildByName("glory_btn");
|
this.at_btn = this.info_con.getChildByName("at_btn");
|
this.at_btn.active = false;
|
this.country = this.info_con.getChildByName("country");
|
this.main_container = this.main_panel.getChildByName("main_container"); //头像
|
|
if (this.head == null) {
|
this.head = new PlayerHead();
|
this.head.setParent(this.info_con);
|
this.head.show();
|
this.head.setPosition(-227, 50);
|
}
|
|
this.vip_label_cr = this.seekChild(this.main_panel, "vip_label").getComponent("CusRichText");
|
this.fight_label_cr = this.seekChild(this.main_container, "fight_label").getComponent("CusRichText");
|
this.scrollCon_nd = this.seekChild("scrollCon");
|
this.scrollCon_content_nd = this.seekChild(this.scrollCon_nd, "content");
|
this.scroll_view_size = this.scrollCon_nd.getContentSize();
|
this.scroll_view_sv = this.scrollCon_nd.getComponent(cc.ScrollView); // this.scrollCon_content_nd.setContentSize(cc.size(this.scroll_view_size.width - 10,this.scroll_view_size.height))
|
},
|
registerEvent: function registerEvent() {
|
if (this.close_btn) {
|
this.close_btn.on(cc.Node.EventType.TOUCH_END, function () {
|
this.ctrl.openFriendCheckPanel(false);
|
Utils.playButtonSound(2);
|
}.bind(this));
|
}
|
|
if (this.glory_btn) {
|
this.glory_btn.on(cc.Node.EventType.TOUCH_END, function () {
|
Utils.playButtonSound(1);
|
this.ctrl.openFriendGloryWindow(true, this.data);
|
}.bind(this));
|
}
|
|
if (this.friend_btn) {
|
this.friend_btn.on(cc.Node.EventType.TOUCH_END, function () {
|
Utils.playButtonSound(1);
|
|
if (this.model.isFriend(this.data.srv_id, this.data.rid)) {
|
ChatController.getInstance().openChatPanel(ChatConst.Channel.Friend, "friend", this.data);
|
this.ctrl.openFriendCheckPanel(false);
|
} else {
|
this.ctrl.openFriendCheckPanel(false);
|
this.ctrl.addOther(this.data.srv_id, this.data.rid);
|
}
|
}.bind(this));
|
}
|
|
if (this.pk_btn) {
|
this.pk_btn.on(cc.Node.EventType.TOUCH_END, function () {
|
Utils.playButtonSound(1);
|
|
if (this.data) {
|
if (!BattleController.getInstance().getWatchReplayStatus() && !BattleController.getInstance().getModel().getFightStatus()) {
|
BattleController.getInstance().csBattlePk(this.data.rid, this.data.srv_id);
|
} else {
|
message(Utils.TI18N("正在观看录像或者切磋中,请先退出"));
|
}
|
}
|
}.bind(this));
|
}
|
|
if (this.black_btn) {
|
this.black_btn.on(cc.Node.EventType.TOUCH_END, function () {
|
Utils.playButtonSound(1);
|
|
if (this.model.isBlack(this.data.rid, this.data.srv_id)) {
|
ChatController.getInstance().closeChatPanel();
|
this.ctrl.openFriendCheckPanel(false);
|
this.ctrl.openFriendWindow(true, FriendConst.Type.BlackList);
|
} else {
|
this.ctrl.addToBlackList(this.data.rid, this.data.srv_id);
|
this.ctrl.openFriendCheckPanel(false);
|
}
|
}.bind(this));
|
}
|
|
if (this.report_btn) {
|
this.report_btn.on("click", function () {
|
Utils.playButtonSound(1);
|
this.onClickReportBtn();
|
}.bind(this));
|
} //接受数据
|
|
|
cc.log(this.updateEvent, "this.updateEvent");
|
|
if (this.updateEvent == null) {
|
this.updateEvent = gcore.GlobalEvent.bind(RoleEvent.DISPATCH_PLAYER_VO_EVENT, function (data) {
|
if (data.rid == this.rid && data.srv_id == this.srv_id) {
|
this.updateData(data);
|
}
|
}.bind(this));
|
}
|
|
if (this.at_btn) {
|
this.at_btn.on(cc.Node.EventType.TOUCH_END, function () {
|
Utils.playButtonSound(1);
|
|
if (this.data && this.data.name) {
|
ChatController.getInstance().chatAtPeople(this.data.name, this.data.srv_id);
|
this.ctrl.openFriendCheckPanel(false);
|
}
|
}.bind(this));
|
}
|
},
|
openRootWnd: function openRootWnd(data) {
|
if (data == null) return;
|
this.rid = data.rid;
|
this.srv_id = data.srv_id;
|
this.flag = data.flag;
|
this.channel = data.channel; //从聊天窗口打开时需要显示@按钮
|
|
if (data && data.rid != null && data.srv_id != null) {
|
RoleController.getInstance().requestRoleInfo(data.rid, data.srv_id);
|
}
|
|
if (data.channel) this.at_btn.active = true;
|
},
|
updateData: function updateData(data) {
|
this.data = data;
|
this.name_lb.string = Utils.transformNameByServ(data.name, data.srv_id);
|
this.country.x = this.name_lb.node.x + this.name_lb.node.width + 5;
|
this.head.setHeadRes(data.face_id);
|
this.head.setLev(data.lev);
|
this.head.setSex(data.sex, cc.v2(20, -50));
|
if (data.gname != "") this.guild_lb.string = data.gname; //头像框
|
|
var vo = gdata("avatar_data", "data_avatar", [data.avatar_bid]);
|
|
if (vo) {
|
var res_id = vo.res_id || 0;
|
var res = PathTool.getHeadcircle(res_id);
|
this.head.setFrameRes(res);
|
}
|
|
this.vip_label_cr.setNum(data.vip_lev);
|
this.fight_label_cr.setNum(data.power);
|
if (this.model.isFriend(data.srv_id, data.rid)) this.friend_btn_label.string = Utils.TI18N("私聊");else this.friend_btn_label.string = Utils.TI18N("加为好友");
|
if (this.model.isBlack(data.rid, data.srv_id)) this.black_btn_label.string = Utils.TI18N("黑名单");else this.black_btn_label.string = Utils.TI18N("加黑名单");
|
this.createPartnerList(data.partner_list);
|
},
|
createPartnerList: function createPartnerList(list) {
|
var temp = [];
|
|
for (var k in list) {
|
var v = list[k];
|
var vo = new HeroVo();
|
vo.updateHeroVo(v);
|
temp.push(vo);
|
}
|
|
var p_list_size = temp.length;
|
var total_width = p_list_size * 104 + (p_list_size - 1) * 6;
|
var start_x = 8;
|
var partner_item = null;
|
var max_width = Math.max(total_width, this.scroll_view_size.width);
|
this.scrollCon_content_nd.setContentSize(cc.size(max_width, this.scroll_view_size.height));
|
|
for (var i = 0; i < temp.length; ++i) {
|
var v = temp[i];
|
|
if (this.item_list[i] == null) {
|
partner_item = ItemsPool.getInstance().getItem("hero_exhibition_item");
|
partner_item.setRootScale(0.8);
|
partner_item.show();
|
partner_item.setPosition(start_x + 104 * 0.5 + i * (104 + 6), this.scroll_view_size.height * 0.5);
|
partner_item.setData(v);
|
partner_item.setParent(this.scrollCon_content_nd);
|
this.item_list[i] = partner_item;
|
partner_item.addCallBack(function (item) {
|
var vo = item.getData();
|
|
if (vo && Utils.next(vo) != null) {
|
var partner_id = vo.partner_id;
|
|
if (partner_id == 0) {
|
partner_id = vo.id;
|
}
|
|
var rid = this.data.rid;
|
var srv_id = this.data.srv_id;
|
|
require("look_controller").getInstance().sender11061(rid, srv_id, partner_id);
|
}
|
}.bind(this));
|
}
|
}
|
},
|
onClickReportBtn: function onClickReportBtn() {
|
if (!this.data) return;
|
var role_lv_cfg = Config.role_data.data_role_const.role_reported_lev_limit;
|
var role_vo = RoleController.getInstance().getRoleVo() || {};
|
var lev = role_vo.lev || 0;
|
|
if (role_lv_cfg && lev < role_lv_cfg.val) {
|
message(role_lv_cfg.val + Utils.TI18N("级开放举报功能"));
|
return;
|
}
|
|
RoleController.getInstance().openRoleReportedPanel(true, this.data.rid, this.data.srv_id, this.data.name);
|
},
|
closeCallBack: function closeCallBack() {
|
for (var k in this.item_list) {
|
var v = this.item_list[k];
|
v.deleteMe();
|
v = null;
|
}
|
|
this.item_list = null;
|
if (this.head) this.head.deleteMe();
|
this.head = null;
|
|
if (this.updateEvent) {
|
gcore.GlobalEvent.unbind(this.updateEvent);
|
this.updateEvent = null;
|
}
|
|
this.ctrl.openFriendCheckPanel(false);
|
}
|
});
|
module.exports = FriendCheckInfoWindow;
|
|
cc._RF.pop();
|