OpenMetaverse.FriendsManager.AcceptFriendship C# (CSharp) Method

AcceptFriendship() public method

Accept a friendship request
public AcceptFriendship ( UUID fromAgentID, UUID imSessionID ) : void
fromAgentID UUID agentID of avatatar to form friendship with
imSessionID UUID imSessionID of the friendship request message
return void
        public void AcceptFriendship(UUID fromAgentID, UUID imSessionID)
        {
            UUID callingCardFolder = Client.Inventory.FindFolderForType(AssetType.CallingCard);

            AcceptFriendshipPacket request = new AcceptFriendshipPacket();
            request.AgentData.AgentID = Client.Self.AgentID;
            request.AgentData.SessionID = Client.Self.SessionID;
            request.TransactionBlock.TransactionID = imSessionID;
            request.FolderData = new AcceptFriendshipPacket.FolderDataBlock[1];
            request.FolderData[0] = new AcceptFriendshipPacket.FolderDataBlock();
            request.FolderData[0].FolderID = callingCardFolder;

            Client.Network.SendPacket(request);

            FriendInfo friend = new FriendInfo(fromAgentID, FriendRights.CanSeeOnline,
                FriendRights.CanSeeOnline);
            lock (FriendList)
            {
                if(!FriendList.ContainsKey(fromAgentID))  FriendList.Add(friend.UUID, friend);
            }
            lock (FriendRequests) { if (FriendRequests.ContainsKey(fromAgentID)) FriendRequests.Remove(fromAgentID); }

            Client.Avatars.RequestAvatarName(fromAgentID);
        }