aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2008-05-18 03:21:22 +0000
committerTeravus Ovares2008-05-18 03:21:22 +0000
commit2bd03b7c8c3b14ea5e7b709aa9e1a3d63ed67e09 (patch)
treebf74f24df560c0fffaf90b98f0d4e50bb0248107
parentThank you very kindly, Melanie for: (diff)
downloadopensim-SC-2bd03b7c8c3b14ea5e7b709aa9e1a3d63ed67e09.zip
opensim-SC-2bd03b7c8c3b14ea5e7b709aa9e1a3d63ed67e09.tar.gz
opensim-SC-2bd03b7c8c3b14ea5e7b709aa9e1a3d63ed67e09.tar.bz2
opensim-SC-2bd03b7c8c3b14ea5e7b709aa9e1a3d63ed67e09.tar.xz
* Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented.
-rw-r--r--OpenSim/Framework/IClientAPI.cs4
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs55
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs54
-rw-r--r--OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs7
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs23
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs1
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs11
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs8
-rw-r--r--OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs6
9 files changed, 157 insertions, 12 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 098943c..109e70b 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -813,8 +813,9 @@ namespace OpenSim.Framework
813 event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest; 813 event EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest;
814 event EstateDebugRegionRequest OnEstateDebugRegionRequest; 814 event EstateDebugRegionRequest OnEstateDebugRegionRequest;
815 event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; 815 event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest;
816 event UUIDNameRequest OnUUIDGroupNameRequest;
816 817
817 818 event RequestObjectPropertiesFamily OnObjectGroupRequest;
818 819
819 [Obsolete("IClientAPI.OutPacket SHOULD NOT EXIST outside of LLClientView please refactor appropriately.")] 820 [Obsolete("IClientAPI.OutPacket SHOULD NOT EXIST outside of LLClientView please refactor appropriately.")]
820 void OutPacket(Packet newPack, ThrottleOutPacketType packType); 821 void OutPacket(Packet newPack, ThrottleOutPacketType packType);
@@ -983,6 +984,7 @@ namespace OpenSim.Framework
983 984
984 void SendGroupMembership(GroupData[] GroupMembership); 985 void SendGroupMembership(GroupData[] GroupMembership);
985 986
987 void SendGroupNameReply(LLUUID groupLLUID, string GroupName);
986 988
987 byte[] GetThrottlesPacked(float multiplier); 989 byte[] GetThrottlesPacked(float multiplier);
988 990
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index a86941f..fa608a9 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -249,6 +249,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
249 249
250 private ForceReleaseControls handlerForceReleaseControls = null; 250 private ForceReleaseControls handlerForceReleaseControls = null;
251 251
252 private UUIDNameRequest handlerUUIDGroupNameRequest = null;
253
254 private RequestObjectPropertiesFamily handlerObjectGroupRequest = null;
255
252 /* Properties */ 256 /* Properties */
253 257
254 public LLUUID SecureSessionId 258 public LLUUID SecureSessionId
@@ -828,12 +832,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
828 832
829 public event UUIDNameRequest OnTeleportHomeRequest; 833 public event UUIDNameRequest OnTeleportHomeRequest;
830 834
835 public event UUIDNameRequest OnUUIDGroupNameRequest;
836
831 public event ScriptAnswer OnScriptAnswer; 837 public event ScriptAnswer OnScriptAnswer;
832 public event RequestPayPrice OnRequestPayPrice; 838 public event RequestPayPrice OnRequestPayPrice;
833 public event AgentSit OnUndo; 839 public event AgentSit OnUndo;
834 840
835 public event ForceReleaseControls OnForceReleaseControls; 841 public event ForceReleaseControls OnForceReleaseControls;
836 842
843 public event RequestObjectPropertiesFamily OnObjectGroupRequest;
844
837 public event DetailedEstateDataRequest OnDetailedEstateDataRequest; 845 public event DetailedEstateDataRequest OnDetailedEstateDataRequest;
838 public event SetEstateFlagsRequest OnSetEstateFlagsRequest; 846 public event SetEstateFlagsRequest OnSetEstateFlagsRequest;
839 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture; 847 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture;
@@ -3044,6 +3052,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3044 AddLocalPacketHandler(PacketType.MultipleObjectUpdate, MultipleObjUpdate); 3052 AddLocalPacketHandler(PacketType.MultipleObjectUpdate, MultipleObjUpdate);
3045 AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest); 3053 AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest);
3046 AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest); 3054 AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest);
3055 AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest);
3056 AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest);
3047 } 3057 }
3048 3058
3049 private bool HandleMoneyTransferRequest(IClientAPI sender, Packet Pack) 3059 private bool HandleMoneyTransferRequest(IClientAPI sender, Packet Pack)
@@ -3090,6 +3100,39 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3090 3100
3091 } 3101 }
3092 3102
3103 private bool HandleUUIDGroupNameRequest(IClientAPI sender, Packet Pack)
3104 {
3105 UUIDGroupNameRequestPacket upack = (UUIDGroupNameRequestPacket) Pack;
3106
3107 for (int i=0;i< upack.UUIDNameBlock.Length; i++)
3108 {
3109 handlerUUIDGroupNameRequest = OnUUIDGroupNameRequest;
3110 if (handlerUUIDGroupNameRequest != null)
3111 {
3112 handlerUUIDGroupNameRequest(upack.UUIDNameBlock[i].ID,this);
3113 }
3114 }
3115
3116 return true;
3117 }
3118
3119 public bool HandleObjectGroupRequest(IClientAPI sender, Packet Pack)
3120 {
3121
3122 ObjectGroupPacket ogpack = (ObjectGroupPacket)Pack;
3123 handlerObjectGroupRequest = OnObjectGroupRequest;
3124 if (handlerObjectGroupRequest != null)
3125 {
3126 for (int i = 0; i < ogpack.ObjectData.Length; i++)
3127 {
3128 handlerObjectGroupRequest(this, ogpack.AgentData.GroupID, ogpack.ObjectData[i].ObjectLocalID, LLUUID.Zero);
3129 }
3130 }
3131 return true;
3132 }
3133
3134
3135
3093 private bool HandleViewerEffect(IClientAPI sender, Packet Pack) 3136 private bool HandleViewerEffect(IClientAPI sender, Packet Pack)
3094 { 3137 {
3095 ViewerEffectPacket viewer = (ViewerEffectPacket)Pack; 3138 ViewerEffectPacket viewer = (ViewerEffectPacket)Pack;
@@ -5838,7 +5881,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5838 OutPacket(Groupupdate, ThrottleOutPacketType.Task); 5881 OutPacket(Groupupdate, ThrottleOutPacketType.Task);
5839 5882
5840 } 5883 }
5841 5884 public void SendGroupNameReply(LLUUID groupLLUID, string GroupName)
5885 {
5886 UUIDGroupNameReplyPacket pack = new UUIDGroupNameReplyPacket();
5887 UUIDGroupNameReplyPacket.UUIDNameBlockBlock[] uidnameblock = new UUIDGroupNameReplyPacket.UUIDNameBlockBlock[1];
5888 UUIDGroupNameReplyPacket.UUIDNameBlockBlock uidnamebloc = new UUIDGroupNameReplyPacket.UUIDNameBlockBlock();
5889 uidnamebloc.ID = groupLLUID;
5890 uidnamebloc.GroupName = Helpers.StringToField(GroupName);
5891 uidnameblock[0] = uidnamebloc;
5892 pack.UUIDNameBlock = uidnameblock;
5893 OutPacket(pack, ThrottleOutPacketType.Task);
5894 }
5842 public ClientInfo GetClientInfo() 5895 public ClientInfo GetClientInfo()
5843 { 5896 {
5844 //MainLog.Instance.Verbose("CLIENT", "GetClientInfo BGN"); 5897 //MainLog.Instance.Verbose("CLIENT", "GetClientInfo BGN");
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs
index 8f3eb62..a83730e 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Groups/GroupsModule.cs
@@ -44,6 +44,9 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
44 private Dictionary<LLUUID, GroupList> m_grouplistmap = new Dictionary<LLUUID, GroupList>(); 44 private Dictionary<LLUUID, GroupList> m_grouplistmap = new Dictionary<LLUUID, GroupList>();
45 private Dictionary<LLUUID, GroupData> m_groupmap = new Dictionary<LLUUID, GroupData>(); 45 private Dictionary<LLUUID, GroupData> m_groupmap = new Dictionary<LLUUID, GroupData>();
46 private Dictionary<LLUUID, IClientAPI> m_iclientmap = new Dictionary<LLUUID, IClientAPI>(); 46 private Dictionary<LLUUID, IClientAPI> m_iclientmap = new Dictionary<LLUUID, IClientAPI>();
47 private Dictionary<LLUUID, GroupData> m_groupUUIDGroup = new Dictionary<LLUUID, GroupData>();
48 private LLUUID opensimulatorGroupID = new LLUUID("00000000-68f9-1111-024e-222222111123");
49
47 private List<Scene> m_scene = new List<Scene>(); 50 private List<Scene> m_scene = new List<Scene>();
48 51
49 #region IRegionModule Members 52 #region IRegionModule Members
@@ -57,6 +60,18 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
57 scene.EventManager.OnNewClient += OnNewClient; 60 scene.EventManager.OnNewClient += OnNewClient;
58 scene.EventManager.OnClientClosed += OnClientClosed; 61 scene.EventManager.OnClientClosed += OnClientClosed;
59 scene.EventManager.OnGridInstantMessageToGroupsModule += OnGridInstantMessage; 62 scene.EventManager.OnGridInstantMessageToGroupsModule += OnGridInstantMessage;
63 lock (m_groupUUIDGroup)
64 {
65
66 GroupData OpenSimulatorGroup = new GroupData();
67 OpenSimulatorGroup.ActiveGroupTitle = "OpenSimulator Tester";
68 OpenSimulatorGroup.GroupID = opensimulatorGroupID;
69 OpenSimulatorGroup.groupName = "OpenSimulator Testing";
70 OpenSimulatorGroup.ActiveGroupPowers = GroupPowers.LandAllowSetHome;
71 OpenSimulatorGroup.GroupTitles.Add("OpenSimulator Tester");
72 if (!m_groupUUIDGroup.ContainsKey(opensimulatorGroupID))
73 m_groupUUIDGroup.Add(opensimulatorGroupID, OpenSimulatorGroup);
74 }
60 //scene.EventManager. 75 //scene.EventManager.
61 } 76 }
62 77
@@ -102,6 +117,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
102 // Subscribe to instant messages 117 // Subscribe to instant messages
103 client.OnInstantMessage += OnInstantMessage; 118 client.OnInstantMessage += OnInstantMessage;
104 client.OnAgentDataUpdateRequest += OnAgentDataUpdateRequest; 119 client.OnAgentDataUpdateRequest += OnAgentDataUpdateRequest;
120 client.OnUUIDGroupNameRequest += HandleUUIDGroupNameRequest;
105 lock (m_iclientmap) 121 lock (m_iclientmap)
106 { 122 {
107 if (!m_iclientmap.ContainsKey(client.AgentId)) 123 if (!m_iclientmap.ContainsKey(client.AgentId))
@@ -109,13 +125,18 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
109 m_iclientmap.Add(client.AgentId, client); 125 m_iclientmap.Add(client.AgentId, client);
110 } 126 }
111 } 127 }
112 GroupData OpenSimulatorGroup = new GroupData(); 128 GroupData OpenSimulatorGroup = null;
113 OpenSimulatorGroup.ActiveGroupTitle = "OpenSimulator Tester"; 129 lock (m_groupUUIDGroup)
114 OpenSimulatorGroup.GroupID = new LLUUID("00000000-68f9-1111-024e-222222111120"); 130 {
115 OpenSimulatorGroup.GroupMembers.Add(client.AgentId); 131 OpenSimulatorGroup = m_groupUUIDGroup[opensimulatorGroupID];
116 OpenSimulatorGroup.groupName = "OpenSimulator Testing"; 132 if (!OpenSimulatorGroup.GroupMembers.Contains(client.AgentId))
117 OpenSimulatorGroup.ActiveGroupPowers = GroupPowers.LandAllowSetHome; 133 {
118 OpenSimulatorGroup.GroupTitles.Add("OpenSimulator Tester"); 134 OpenSimulatorGroup.GroupMembers.Add(client.AgentId);
135 m_groupUUIDGroup[opensimulatorGroupID] = OpenSimulatorGroup;
136 }
137
138 }
139
119 lock (m_groupmap) 140 lock (m_groupmap)
120 { 141 {
121 if (!m_groupmap.ContainsKey(client.AgentId)) 142 if (!m_groupmap.ContainsKey(client.AgentId))
@@ -124,7 +145,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
124 } 145 }
125 } 146 }
126 GroupList testGroupList = new GroupList(); 147 GroupList testGroupList = new GroupList();
127 testGroupList.m_GroupList.Add(new LLUUID("00000000-68f9-1111-024e-222222111120")); 148 testGroupList.m_GroupList.Add(OpenSimulatorGroup.GroupID);
128 149
129 lock (m_grouplistmap) 150 lock (m_grouplistmap)
130 { 151 {
@@ -133,7 +154,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
133 m_grouplistmap.Add(client.AgentId, testGroupList); 154 m_grouplistmap.Add(client.AgentId, testGroupList);
134 } 155 }
135 } 156 }
136 m_log.Info("[GROUP]: Adding " + client.Name + " to OpenSimulator Tester group"); 157 m_log.Info("[GROUP]: Adding " + client.Name + " to " + OpenSimulatorGroup.groupName + " ");
137 GroupData[] updateGroups = new GroupData[1]; 158 GroupData[] updateGroups = new GroupData[1];
138 updateGroups[0] = OpenSimulatorGroup; 159 updateGroups[0] = OpenSimulatorGroup;
139 160
@@ -201,7 +222,22 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Groups
201 new LLVector3(msg.Position.x, msg.Position.y, msg.Position.z), new LLUUID(msg.RegionID), 222 new LLVector3(msg.Position.x, msg.Position.y, msg.Position.z), new LLUUID(msg.RegionID),
202 msg.binaryBucket); 223 msg.binaryBucket);
203 } 224 }
225 private void HandleUUIDGroupNameRequest(LLUUID id,IClientAPI remote_client)
226 {
227 string groupnamereply = "Unknown";
228 LLUUID groupUUID = LLUUID.Zero;
204 229
230 lock (m_groupUUIDGroup)
231 {
232 if (m_groupUUIDGroup.ContainsKey(id))
233 {
234 GroupData grp = m_groupUUIDGroup[id];
235 groupnamereply = grp.groupName;
236 groupUUID = grp.GroupID;
237 }
238 }
239 remote_client.SendGroupNameReply(groupUUID, groupnamereply);
240 }
205 private void OnClientClosed(LLUUID agentID) 241 private void OnClientClosed(LLUUID agentID)
206 { 242 {
207 lock (m_iclientmap) 243 lock (m_iclientmap)
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 815a505..71ea0e4 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -236,6 +236,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
236 public event RequestAsset OnRequestAsset; 236 public event RequestAsset OnRequestAsset;
237 237
238 public event UUIDNameRequest OnNameFromUUIDRequest; 238 public event UUIDNameRequest OnNameFromUUIDRequest;
239 public event UUIDNameRequest OnUUIDGroupNameRequest;
239 240
240 public event ParcelPropertiesRequest OnParcelPropertiesRequest; 241 public event ParcelPropertiesRequest OnParcelPropertiesRequest;
241 public event ParcelDivideRequest OnParcelDivideRequest; 242 public event ParcelDivideRequest OnParcelDivideRequest;
@@ -270,6 +271,8 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
270 271
271 public event ForceReleaseControls OnForceReleaseControls; 272 public event ForceReleaseControls OnForceReleaseControls;
272 273
274 public event RequestObjectPropertiesFamily OnObjectGroupRequest;
275
273 public event DetailedEstateDataRequest OnDetailedEstateDataRequest; 276 public event DetailedEstateDataRequest OnDetailedEstateDataRequest;
274 public event SetEstateFlagsRequest OnSetEstateFlagsRequest; 277 public event SetEstateFlagsRequest OnSetEstateFlagsRequest;
275 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture; 278 public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture;
@@ -756,6 +759,10 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
756 public void sendLandParcelOverlay(byte[] data, int sequence_id) 759 public void sendLandParcelOverlay(byte[] data, int sequence_id)
757 { 760 {
758 } 761 }
762
763 public void SendGroupNameReply(LLUUID groupLLUID, string GroupName)
764 {
765 }
759 #endregion 766 #endregion
760 } 767 }
761} 768}
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index 352fdf9..7a460a2 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -330,7 +330,30 @@ namespace OpenSim.Region.Environment.Scenes
330 330
331 331
332 } 332 }
333 public void HandleObjectGroupUpdate(
334 IClientAPI remoteClient, LLUUID GroupID, uint objectLocalID, LLUUID Garbage)
335 {
336 List<EntityBase> EntityList = GetEntities();
333 337
338 foreach (EntityBase obj in EntityList)
339 {
340 if (obj is SceneObjectGroup)
341 {
342 if (((SceneObjectGroup)obj).LocalId == objectLocalID)
343 {
344 SceneObjectGroup group = (SceneObjectGroup)obj;
345
346 if (m_parentScene.ExternalChecks.ExternalChecksCanEditObject(group.UUID, remoteClient.AgentId))
347 group.SetGroup(GroupID, remoteClient);
348 else
349 remoteClient.SendAgentAlertMessage("You don't have permission to set the group", false);
350
351 }
352 }
353 }
354
355
356 }
334 /// <summary> 357 /// <summary>
335 /// Event Handling routine for Attach Object 358 /// Event Handling routine for Attach Object
336 /// </summary> 359 /// </summary>
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index a798f40..d4b85c2 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -1651,6 +1651,7 @@ namespace OpenSim.Region.Environment.Scenes
1651 1651
1652 client.OnSetStartLocationRequest += SetHomeRezPoint; 1652 client.OnSetStartLocationRequest += SetHomeRezPoint;
1653 client.OnUndo += m_innerScene.HandleUndo; 1653 client.OnUndo += m_innerScene.HandleUndo;
1654 client.OnObjectGroupRequest += m_innerScene.HandleObjectGroupUpdate;
1654 1655
1655 EventManager.TriggerOnNewClient(client); 1656 EventManager.TriggerOnNewClient(client);
1656 } 1657 }
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 635a989..44e4c81 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -2510,5 +2510,16 @@ namespace OpenSim.Region.Environment.Scenes
2510 } 2510 }
2511 } 2511 }
2512 } 2512 }
2513 public void SetGroup(LLUUID GroupID, IClientAPI client)
2514 {
2515 lock (m_parts)
2516 {
2517 foreach (SceneObjectPart part in m_parts.Values)
2518 {
2519 part.SetGroup(GroupID, client);
2520 }
2521 }
2522 ScheduleGroupForFullUpdate();
2523 }
2513 } 2524 }
2514} 2525}
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index a7b7692..a23083c 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -2760,13 +2760,19 @@ namespace OpenSim.Region.Environment.Scenes
2760 public void GetProperties(IClientAPI client) 2760 public void GetProperties(IClientAPI client)
2761 { 2761 {
2762 2762
2763 client.SendObjectPropertiesReply(LLUUID.Zero, (ulong)CreationDate, CreatorID, LLUUID.Zero, LLUUID.Zero, 2763 client.SendObjectPropertiesReply(LLUUID.Zero, (ulong)CreationDate, CreatorID, LLUUID.Zero, GroupID,
2764 LLUUID.Zero, (short)InventorySerial, LastOwnerID, UUID, OwnerID, 2764 LLUUID.Zero, (short)InventorySerial, LastOwnerID, UUID, OwnerID,
2765 ParentGroup.RootPart.TouchName, new byte[0], ParentGroup.RootPart.SitName, Name, Description, 2765 ParentGroup.RootPart.TouchName, new byte[0], ParentGroup.RootPart.SitName, Name, Description,
2766 ParentGroup.RootPart.OwnerMask, ParentGroup.RootPart.NextOwnerMask, ParentGroup.RootPart.GroupMask, ParentGroup.RootPart.EveryoneMask, 2766 ParentGroup.RootPart.OwnerMask, ParentGroup.RootPart.NextOwnerMask, ParentGroup.RootPart.GroupMask, ParentGroup.RootPart.EveryoneMask,
2767 ParentGroup.RootPart.BaseMask); 2767 ParentGroup.RootPart.BaseMask);
2768 2768
2769 } 2769 }
2770 public void SetGroup(LLUUID groupID, IClientAPI client)
2771 {
2772 GroupID = groupID;
2773 GetProperties(client);
2774 m_updateFlag = 2;
2775 }
2770 2776
2771 } 2777 }
2772} 2778}
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index ca8636f..93ab411 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -140,6 +140,7 @@ namespace OpenSim.Region.Examples.SimpleModule
140 public event RequestAsset OnRequestAsset; 140 public event RequestAsset OnRequestAsset;
141 141
142 public event UUIDNameRequest OnNameFromUUIDRequest; 142 public event UUIDNameRequest OnNameFromUUIDRequest;
143 public event UUIDNameRequest OnUUIDGroupNameRequest;
143 144
144 public event ParcelPropertiesRequest OnParcelPropertiesRequest; 145 public event ParcelPropertiesRequest OnParcelPropertiesRequest;
145 public event ParcelDivideRequest OnParcelDivideRequest; 146 public event ParcelDivideRequest OnParcelDivideRequest;
@@ -173,6 +174,7 @@ namespace OpenSim.Region.Examples.SimpleModule
173 public event AgentSit OnUndo; 174 public event AgentSit OnUndo;
174 175
175 public event ForceReleaseControls OnForceReleaseControls; 176 public event ForceReleaseControls OnForceReleaseControls;
177 public event RequestObjectPropertiesFamily OnObjectGroupRequest;
176 178
177 public event DetailedEstateDataRequest OnDetailedEstateDataRequest; 179 public event DetailedEstateDataRequest OnDetailedEstateDataRequest;
178 public event SetEstateFlagsRequest OnSetEstateFlagsRequest; 180 public event SetEstateFlagsRequest OnSetEstateFlagsRequest;
@@ -754,5 +756,9 @@ namespace OpenSim.Region.Examples.SimpleModule
754 public void sendLandParcelOverlay(byte[] data, int sequence_id) 756 public void sendLandParcelOverlay(byte[] data, int sequence_id)
755 { 757 {
756 } 758 }
759
760 public void SendGroupNameReply(LLUUID groupLLUID, string GroupName)
761 {
762 }
757 } 763 }
758} 764}