Пример #1
0
        private void OnTeamInviteRequest(NetConnection <NetSession> sender, TeamInviteRequest request)
        {
            Character character = sender.Session.Character;

            Log.InfoFormat("OnTeamInviteRequest:: FromId:{0} FromName:{1} ToId:{2} ToName:{3}", request.FromId, request.FromName, request.ToId, request.ToName);

            NetConnection <NetSession> target = SessionManager.Instance.GetSession(request.ToId);

            if (target == null)
            {
                sender.Session.Response.teamInviteRes          = new TeamInviteResponse();
                sender.Session.Response.teamInviteRes.Result   = Result.Failed;
                sender.Session.Response.teamInviteRes.Errormsg = "好友不在线";
                sender.SendResponse();
                return;
            }
            if (target.Session.Character.Team != null)
            {
                sender.Session.Response.teamInviteRes          = new TeamInviteResponse();
                sender.Session.Response.teamInviteRes.Result   = Result.Failed;
                sender.Session.Response.teamInviteRes.Errormsg = "好友已经有队伍";
                sender.SendResponse();
            }
            //转发请求
            Log.InfoFormat("ForwardInviteRequest:: FromId:{0} FromName:{1} ToId:{2} ToName:{3}", request.FromId, request.FromName, request.ToId, request.ToName);
            target.Session.Response.teamInviteReq = request;
            target.SendResponse();
        }
Пример #2
0
        private void OnTeamInviteRequest(NetConnection <NetSession> sender, TeamInviteRequest message)
        {
            Character character = sender.Session.Character;

            Log.InfoFormat("OnTeamInviteRequest ::FromdID:{0} FromName:{1} ToId:{2} ToName:{3}", message.FromId, message.FromName, message.ToId, message.ToName);

            var target = SessionManager.Instance.GetSession(message.ToId);

            if (target == null)
            {
                sender.Session.Response.teamInviteRes          = new TeamInviteResponse();
                sender.Session.Response.teamInviteRes.Result   = Result.Failed;
                sender.Session.Response.teamInviteRes.Errormsg = "对方不在线";
                sender.SendResponse();
                return;
            }
            if (target.Session.Character.Team != null)
            {
                sender.Session.Response.teamInviteRes          = new TeamInviteResponse();
                sender.Session.Response.teamInviteRes.Result   = Result.Failed;
                sender.Session.Response.teamInviteRes.Errormsg = "对方已经有队伍";
                sender.SendResponse();
                return;
            }
            Log.InfoFormat("ForwardTeamInviteRequest::FromId:{0} FromName:{1} ToID:{2} ToName:{3}", message.FromId, message.FromName, message.ToId, message.ToName);
            target.Session.Response.teamInviteReq = message;
            target.SendResponse();
        }
Пример #3
0
        /// <summary>
        /// 收到组队邀请请求
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="request"></param>
        private void OnTeamInviteRequest(object sender, TeamInviteRequest request)
        {
            var confirm = MessageBox.Show(string.Format("{0}邀请你加入队伍", request.FromName), "组队请求", MessageBoxType.Confirm, "接受", "拒绝");

            confirm.OnYes = () => {
                this.SendTeamInviteResponse(true, request);
            };
            confirm.OnNo = () => {
                this.SendTeamInviteResponse(false, request);
            };
        }
Пример #4
0
        public void SendTeamInvitResponse(bool accept, TeamInviteRequest request)
        {
            Debug.Log("SendTeamInvitResponse");
            NetMessage message = new NetMessage();

            message.Request = new NetMessageRequest();
            message.Request.teamInviteRes          = new TeamInviteResponse();
            message.Request.teamInviteRes.Result   = accept ? Result.Success : Result.Failed;
            message.Request.teamInviteRes.Errormsg = accept ? "对方同意" : "对方拒绝了组队请求";
            message.Request.teamInviteRes.Request  = request;
            NetClient.Instance.SendMessage(message);
        }
Пример #5
0
        public void SendTeamInviteResponse(bool accept, TeamInviteRequest request)
        {
            NetMessage message = new NetMessage()
            {
                Request = new NetMessageRequest()
                {
                    teamInviteResponse = new TeamInviteResponse()
                    {
                        Request = request,
                        Result  = accept?Result.Success:Result.Failed
                    }
                }
            };

            NetClient.Instance.SendMessage(message);
        }
Пример #6
0
        private void OnTeamInviteRequest(NetConnection <NetSession> sender, TeamInviteRequest message)
        {
            Log.Info($"OnTeamInviteRequest ID:{message.ToId}");
            NetConnection <NetSession> target;

            if (!SessionManager.Instance.GetSession(message.ToId, out target))
            {
                sender.Session.Response.teamInviteResponse = new TeamInviteResponse()
                {
                    Errormsg = "玩家不存在或不在线",
                    Result   = Result.Failed
                };
                sender.SendResponse();
                return;
            }
            message.FromId   = sender.Session.Character.Id;
            message.FromName = sender.Session.Character.Info.Name;
            target.Session.Response.teamInviteRequest = message;
            target.SendResponse();
        }
Пример #7
0
 private void OnTeamInviteRequest(object sender, TeamInviteRequest message)
 {
     OnTeamInvite.Invoke(message);
 }