diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 57c7030..a524561 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3404,6 +3404,41 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3404 | } | 3404 | } |
3405 | } | 3405 | } |
3406 | 3406 | ||
3407 | public void SendAgentGroupDataUpdate(UUID avatarID, GroupMembershipData[] data) | ||
3408 | { | ||
3409 | OSDMap llsd = new OSDMap(3); | ||
3410 | OSDArray AgentData = new OSDArray(1); | ||
3411 | OSDMap AgentDataMap = new OSDMap(1); | ||
3412 | AgentDataMap.Add("AgentID", OSD.FromUUID(this.AgentId)); | ||
3413 | AgentDataMap.Add("AvatarID", OSD.FromUUID(avatarID)); | ||
3414 | AgentData.Add(AgentDataMap); | ||
3415 | llsd.Add("AgentData", AgentData); | ||
3416 | OSDArray GroupData = new OSDArray(data.Length); | ||
3417 | OSDArray NewGroupData = new OSDArray(data.Length); | ||
3418 | foreach (GroupMembershipData m in data) | ||
3419 | { | ||
3420 | OSDMap GroupDataMap = new OSDMap(6); | ||
3421 | OSDMap NewGroupDataMap = new OSDMap(1); | ||
3422 | GroupDataMap.Add("GroupPowers", OSD.FromULong(m.GroupPowers)); | ||
3423 | GroupDataMap.Add("AcceptNotices", OSD.FromBoolean(m.AcceptNotices)); | ||
3424 | GroupDataMap.Add("GroupTitle", OSD.FromString(m.GroupTitle)); | ||
3425 | GroupDataMap.Add("GroupID", OSD.FromUUID(m.GroupID)); | ||
3426 | GroupDataMap.Add("GroupName", OSD.FromString(m.GroupName)); | ||
3427 | GroupDataMap.Add("GroupInsigniaID", OSD.FromUUID(m.GroupPicture)); | ||
3428 | NewGroupDataMap.Add("ListInProfile", OSD.FromBoolean(m.ListInProfile)); | ||
3429 | GroupData.Add(GroupDataMap); | ||
3430 | NewGroupData.Add(NewGroupDataMap); | ||
3431 | } | ||
3432 | llsd.Add("GroupData", GroupData); | ||
3433 | llsd.Add("NewGroupData", NewGroupData); | ||
3434 | |||
3435 | IEventQueue eq = this.Scene.RequestModuleInterface<IEventQueue>(); | ||
3436 | if (eq != null) | ||
3437 | { | ||
3438 | eq.Enqueue(BuildEvent("AgentGroupDataUpdate", llsd), this.AgentId); | ||
3439 | } | ||
3440 | } | ||
3441 | |||
3407 | public void SendJoinGroupReply(UUID groupID, bool success) | 3442 | public void SendJoinGroupReply(UUID groupID, bool success) |
3408 | { | 3443 | { |
3409 | JoinGroupReplyPacket p = (JoinGroupReplyPacket)PacketPool.Instance.GetPacket(PacketType.JoinGroupReply); | 3444 | JoinGroupReplyPacket p = (JoinGroupReplyPacket)PacketPool.Instance.GetPacket(PacketType.JoinGroupReply); |