private void OnFriendAccept(object message) { var ntf = message as ZonePvp1v1AccepteNtf; if (!ntf.accept) { if (actData != null && actData.remain_times > 0) { ActCenterPlugin plugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin; plugin.InvokeActFun((uint)actData.act_id, "ReqCmd7"); } else { _CloseWindow(null); } if (!string.IsNullOrEmpty(ntf.reason)) { UIAPI.ShowMsgTip(ntf.reason); } else { if (!ntf.is_fight) { UIAPI.ShowMsgTip("好友已拒绝你的比试邀请"); } else { UIAPI.ShowMsgTip("好友当前状态不能接受邀请"); } } } }
public void OnClickCancelBtn() { if (isMatchReturn) { return; } if (!data.isFriend) { plugin.SendMessage("SendCancelMatchEnemyReq"); } else { if (actData == null) { KHPluginManager.Instance.GetPluginByName(PVPRealTimeMainUIPlugin.PluginName).SendMessage("CancelInviteFriend", friend); } else { KHPluginManager.Instance.GetPluginByName(PVPRealTimeMainUIPlugin.PluginName).SendMessage("ActCancelInviteFriend", friend); if (actData.remain_times > 0) { ActCenterPlugin actPlugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin; actPlugin.InvokeActFun((uint)actData.act_id, "ReqCmd7"); } else { _CloseWindow(null); } } } if (actData == null) { LoadingTipStack.Show("等待取消中"); } }
//先进界面再发请求,以防止未打开界面时,就已经匹配了。 private void InviteFriend(object data) { BriefRoleInfo friend = data as BriefRoleInfo; var req = new ZonePvp1v1InviteReq(); req.friend_gid = friend.player_id; req.friend_zone = friend.zoneid; req.invite = true; var friendModel = KHPluginManager.Instance.GetModel(PVPRealTimeFriendPlugin.PluginName) as PVPRealTimeFriendModel; if (actData != null) { req.pvp_type = actData.pvp_type; } else { req.pvp_type = friendModel.banMode ? 1u : 0u; } if (friendModel.platformFriendList.Contains(friend)) { req.plat_friend = true; } else { req.plat_friend = false; } NetworkManager.Instance.Send <ZonePvp1v1InviteReq>((uint)ZoneCmd.ZONE_PVP_1V1_INVITE, req, (object fullInfo) => { ZonePvp1v1InviteResp resp = fullInfo as ZonePvp1v1InviteResp; if (resp.ret_info.ret_code == 0) { isStarted = true; if (actData == null) { NGUITools.SetActive(Button, true); } } else { ErrorCodeCenter.DefaultProcError(resp.ret_info); if (actData != null && actData.remain_times > 0) { ActCenterPlugin plugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin; plugin.InvokeActFun((uint)actData.act_id, "ReqCmd7"); } else { _CloseWindow(null); } } if (resp.refresh) { var model = plugin.Model as PVPRealTimeMainUIModel; model.TriggerBinding("RefreshFriendList"); } }, false, timeoutCallback => { UIAPI.ShowMsgTip("邀请好友比试超时"); if (actData != null && actData.remain_times > 0) { ActCenterPlugin plugin = KH.KHPluginManager.Instance.GetPluginByName(KH.Plugins.ActCenterPlugin.NAME) as KH.Plugins.ActCenterPlugin; plugin.InvokeActFun((uint)actData.act_id, "ReqCmd7"); } else { _CloseWindow(null); } }); }