Exemple #1
0
        private void OnFriendRemove(NetConnection <NetSession> sender, FriendRemoveRequest request)
        {
            Character character = sender.Session.Character;

            Log.InfoFormat("OnFriendRemove:: charactor:{0} friendReletion;{1}", character.Id, request.Id);
            sender.Session.Response.friendRemove    = new FriendRemoveResponse();
            sender.Session.Response.friendRemove.Id = request.Id;
            if (character.FriendManager.RemoveFriendByID(request.Id))
            {
                sender.Session.Response.friendRemove.Result = Result.Success;
                var friend = SessionManager.Instance.GetSession(request.friendId);
                if (friend != null)
                {
                    friend.Session.Character.FriendManager.RemoveFriendByFriendId(character.Id);
                }
                else
                {
                    this.RemoveFriend(request.friendId, character.Id);
                }
            }
            else
            {
                sender.Session.Response.friendRemove.Result = Result.Failed;
            }
            DBService.Instance.Save();
            sender.SendResponse();
        }
Exemple #2
0
        private void OnFriendRemove(NetConnection <NetSession> sender, FriendRemoveRequest message)
        {
            Character character = sender.Session.Character;

            Log.InfoFormat("OnFriendRemove::Character:{0} FriendReletionID:{1}", character.Id, message.Id);
            sender.Session.Response.friendRemove    = new FriendRemoveResponse();
            sender.Session.Response.friendRemove.Id = message.Id;


            if (character.FriendManager.RemoveFriendById(message.Id))//删除自己的好友
            {
                sender.Session.Response.friendRemove.Result = Result.Success;
                //删除别人好友列表中的自己
                var friend = SessionManager.Instance.GetSession(message.frienId);
                if (friend != null)
                {//好友在线
                    friend.Session.Character.FriendManager.RemoveFriendByFriendId(character.Id);
                }
                else
                {//好友不在线
                    this.RemoveFriend(message.frienId, character.Id);
                }
            }
            else
            {
                sender.Session.Response.friendRemove.Result = Result.Failed;
            }
            DBService.Instance.Save();
            sender.SendResponse();
        }
        private void OnFriendRemove(NetConnection <NetSession> sender, FriendRemoveRequest message)
        {
            Result res = FriendManager.RemoveFriend(sender.Session.Character.Id, message.friendId);

            if (res == Result.Success)
            {
                DBService.Instance.Save();
                FriendManager.FriendRemoveNoisy(sender.Session.Character.Id);
                FriendManager.FriendRemoveNoisy(message.friendId, true);
            }
            sender.Session.Response.friendRemove = new FriendRemoveResponse()
            {
                Result = res,
            };
            sender.SendResponse();
        }