aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-14 05:18:39 +0000
committerMelanie Thielker2008-11-14 05:18:39 +0000
commit4f91da248868d26951fef39f18a0d9f5c7e28732 (patch)
tree6f732e759eda337db363943de124f5d0f7aa837b /OpenSim/Region
parentLots of experimentation yielded a fair approximation of a hip offset from the (diff)
downloadopensim-SC-4f91da248868d26951fef39f18a0d9f5c7e28732.zip
opensim-SC-4f91da248868d26951fef39f18a0d9f5c7e28732.tar.gz
opensim-SC-4f91da248868d26951fef39f18a0d9f5c7e28732.tar.bz2
opensim-SC-4f91da248868d26951fef39f18a0d9f5c7e28732.tar.xz
More groups plumbing
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs98
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs12
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs12
-rw-r--r--OpenSim/Region/Interfaces/IGroupsModule.cs4
4 files changed, 126 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 7eb6ef4..09e4160 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -6867,6 +6867,60 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6867 } 6867 }
6868 break; 6868 break;
6869 6869
6870 case PacketType.JoinGroupRequest:
6871 JoinGroupRequestPacket joinGroupRequest =
6872 (JoinGroupRequestPacket)Pack;
6873
6874 if (m_GroupsModule != null)
6875 {
6876 m_GroupsModule.JoinGroupRequest(this,
6877 joinGroupRequest.GroupData.GroupID);
6878 }
6879 break;
6880
6881 case PacketType.LeaveGroupRequest:
6882 LeaveGroupRequestPacket leaveGroupRequest =
6883 (LeaveGroupRequestPacket)Pack;
6884
6885 if (m_GroupsModule != null)
6886 {
6887 m_GroupsModule.LeaveGroupRequest(this,
6888 leaveGroupRequest.GroupData.GroupID);
6889 }
6890 break;
6891
6892 case PacketType.EjectGroupMemberRequest:
6893 EjectGroupMemberRequestPacket ejectGroupMemberRequest =
6894 (EjectGroupMemberRequestPacket)Pack;
6895
6896 if (m_GroupsModule != null)
6897 {
6898 foreach (EjectGroupMemberRequestPacket.EjectDataBlock e
6899 in ejectGroupMemberRequest.EjectData)
6900 {
6901 m_GroupsModule.EjectGroupMemberRequest(this,
6902 ejectGroupMemberRequest.GroupData.GroupID,
6903 e.EjecteeID);
6904 }
6905 }
6906 break;
6907
6908 case PacketType.InviteGroupRequest:
6909 InviteGroupRequestPacket inviteGroupRequest =
6910 (InviteGroupRequestPacket)Pack;
6911
6912 if (m_GroupsModule != null)
6913 {
6914 foreach (InviteGroupRequestPacket.InviteDataBlock b in
6915 inviteGroupRequest.InviteData)
6916 {
6917 m_GroupsModule.InviteGroupRequest(this,
6918 inviteGroupRequest.GroupData.GroupID,
6919 b.InviteeID,
6920 b.RoleID);
6921 }
6922 }
6923 break;
6870 default: 6924 default:
6871 m_log.Warn("[CLIENT]: unhandled packet " + Pack); 6925 m_log.Warn("[CLIENT]: unhandled packet " + Pack);
6872 break; 6926 break;
@@ -7648,6 +7702,50 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7648 OutPacket(p, ThrottleOutPacketType.Task); 7702 OutPacket(p, ThrottleOutPacketType.Task);
7649 } 7703 }
7650 7704
7705 public void SendJoinGroupReply(UUID groupID, bool success)
7706 {
7707 JoinGroupReplyPacket p = (JoinGroupReplyPacket)PacketPool.Instance.GetPacket(PacketType.JoinGroupReply);
7708
7709 p.AgentData = new JoinGroupReplyPacket.AgentDataBlock();
7710 p.AgentData.AgentID = AgentId;
7711
7712 p.GroupData = new JoinGroupReplyPacket.GroupDataBlock();
7713 p.GroupData.GroupID = groupID;
7714 p.GroupData.Success = success;
7715
7716 OutPacket(p, ThrottleOutPacketType.Task);
7717 }
7718
7719 public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool success)
7720 {
7721 EjectGroupMemberReplyPacket p = (EjectGroupMemberReplyPacket)PacketPool.Instance.GetPacket(PacketType.EjectGroupMemberReply);
7722
7723 p.AgentData = new EjectGroupMemberReplyPacket.AgentDataBlock();
7724 p.AgentData.AgentID = agentID;
7725
7726 p.GroupData = new EjectGroupMemberReplyPacket.GroupDataBlock();
7727 p.GroupData.GroupID = groupID;
7728
7729 p.EjectData = new EjectGroupMemberReplyPacket.EjectDataBlock();
7730 p.EjectData.Success = success;
7731
7732 OutPacket(p, ThrottleOutPacketType.Task);
7733 }
7734
7735 public void SendLeaveGroupReply(UUID agentID, UUID groupID, bool success)
7736 {
7737 LeaveGroupReplyPacket p = (LeaveGroupReplyPacket)PacketPool.Instance.GetPacket(PacketType.LeaveGroupReply);
7738
7739 p.AgentData = new LeaveGroupReplyPacket.AgentDataBlock();
7740 p.AgentData.AgentID = agentID;
7741
7742 p.GroupData = new LeaveGroupReplyPacket.GroupDataBlock();
7743 p.GroupData.GroupID = groupID;
7744 p.GroupData.Success = success;
7745
7746 OutPacket(p, ThrottleOutPacketType.Task);
7747 }
7748
7651 public void KillEndDone() 7749 public void KillEndDone()
7652 { 7750 {
7653 KillPacket kp = new KillPacket(); 7751 KillPacket kp = new KillPacket();
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 2792bf8..ba73a31 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -963,6 +963,18 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
963 { 963 {
964 } 964 }
965 965
966 public void SendJoinGroupReply(UUID groupID, bool success)
967 {
968 }
969
970 public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool success)
971 {
972 }
973
974 public void SendLeaveGroupReply(UUID agentID, UUID groupID, bool success)
975 {
976 }
977
966 public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data) 978 public void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data)
967 { 979 {
968 } 980 }
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 44ad400..8317fcc 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -968,6 +968,18 @@ namespace OpenSim.Region.Examples.SimpleModule
968 { 968 {
969 } 969 }
970 970
971 public void SendJoinGroupReply(UUID groupID, bool success)
972 {
973 }
974
975 public void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool succss)
976 {
977 }
978
979 public void SendLeaveGroupReply(UUID agentID, UUID groupID, bool success)
980 {
981 }
982
971 public void SendTerminateFriend(UUID exFriendID) 983 public void SendTerminateFriend(UUID exFriendID)
972 { 984 {
973 } 985 }
diff --git a/OpenSim/Region/Interfaces/IGroupsModule.cs b/OpenSim/Region/Interfaces/IGroupsModule.cs
index 4d1b1cc..97c39b7 100644
--- a/OpenSim/Region/Interfaces/IGroupsModule.cs
+++ b/OpenSim/Region/Interfaces/IGroupsModule.cs
@@ -55,5 +55,9 @@ namespace OpenSim.Region.Interfaces
55 void GroupRoleChanges(IClientAPI remoteClient, UUID GroupID, UUID RoleID, UUID MemberID, uint changes); 55 void GroupRoleChanges(IClientAPI remoteClient, UUID GroupID, UUID RoleID, UUID MemberID, uint changes);
56 void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID); 56 void GroupNoticeRequest(IClientAPI remoteClient, UUID groupNoticeID);
57 void SendAgentGroupDataUpdate(IClientAPI remoteClient); 57 void SendAgentGroupDataUpdate(IClientAPI remoteClient);
58 void JoinGroupRequest(IClientAPI remoteClient, UUID GroupID);
59 void LeaveGroupRequest(IClientAPI remoteClient, UUID GroupID);
60 void EjectGroupMemberRequest(IClientAPI remoteClient, UUID GroupID, UUID EjecteeID);
61 void InviteGroupRequest(IClientAPI remoteClient, UUID GroupID, UUID InviteeID, UUID RoleID);
58 } 62 }
59} 63}