diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 04fef83..7203663 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1305,8 +1305,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1305 | 1305 | ||
1306 | #endregion Public Properties with only Get | 1306 | #endregion Public Properties with only Get |
1307 | 1307 | ||
1308 | #region Private Methods | ||
1309 | |||
1310 | private uint ApplyMask(uint val, bool set, uint mask) | 1308 | private uint ApplyMask(uint val, bool set, uint mask) |
1311 | { | 1309 | { |
1312 | if (set) | 1310 | if (set) |
@@ -1327,14 +1325,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
1327 | m_updateFlag = 0; | 1325 | m_updateFlag = 0; |
1328 | } | 1326 | } |
1329 | 1327 | ||
1330 | private void SendObjectPropertiesToClient(UUID AgentID) | 1328 | /// <summary> |
1329 | /// Send this part's properties (name, description, inventory serial, base mask, etc.) to a client | ||
1330 | /// </summary> | ||
1331 | /// <param name="client"></param> | ||
1332 | public void SendPropertiesToClient(IClientAPI client) | ||
1333 | { | ||
1334 | client.SendObjectPropertiesReply(this); | ||
1335 | } | ||
1336 | |||
1337 | /// <summary> | ||
1338 | /// For the scene object group to which this part belongs, send that scene object's root part properties to a client. | ||
1339 | /// </summary> | ||
1340 | /// <param name="AgentID"></param> | ||
1341 | private void SendRootPartPropertiesToClient(UUID AgentID) | ||
1331 | { | 1342 | { |
1332 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) | 1343 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence avatar) |
1333 | { | 1344 | { |
1334 | // Ugly reference :( | 1345 | // Ugly reference :( |
1335 | if (avatar.UUID == AgentID) | 1346 | if (avatar.UUID == AgentID) |
1336 | { | 1347 | { |
1337 | m_parentGroup.GetProperties(avatar.ControllingClient); | 1348 | m_parentGroup.SendPropertiesToClient(avatar.ControllingClient); |
1338 | } | 1349 | } |
1339 | }); | 1350 | }); |
1340 | } | 1351 | } |
@@ -1363,8 +1374,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1363 | // } | 1374 | // } |
1364 | // } | 1375 | // } |
1365 | 1376 | ||
1366 | #endregion Private Methods | ||
1367 | |||
1368 | #region Public Methods | 1377 | #region Public Methods |
1369 | 1378 | ||
1370 | public void ResetExpire() | 1379 | public void ResetExpire() |
@@ -2030,11 +2039,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2030 | return Vector3.Zero; | 2039 | return Vector3.Zero; |
2031 | } | 2040 | } |
2032 | 2041 | ||
2033 | public void GetProperties(IClientAPI client) | ||
2034 | { | ||
2035 | client.SendObjectPropertiesReply(this); | ||
2036 | } | ||
2037 | |||
2038 | /// <summary> | 2042 | /// <summary> |
2039 | /// Method for a prim to get it's world position from the group. | 2043 | /// Method for a prim to get it's world position from the group. |
2040 | /// </summary> | 2044 | /// </summary> |
@@ -3453,7 +3457,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3453 | { | 3457 | { |
3454 | _groupID = groupID; | 3458 | _groupID = groupID; |
3455 | if (client != null) | 3459 | if (client != null) |
3456 | GetProperties(client); | 3460 | SendPropertiesToClient(client); |
3457 | m_updateFlag = 2; | 3461 | m_updateFlag = 2; |
3458 | } | 3462 | } |
3459 | 3463 | ||
@@ -4273,10 +4277,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
4273 | 4277 | ||
4274 | break; | 4278 | break; |
4275 | } | 4279 | } |
4276 | SendFullUpdateToAllClients(); | ||
4277 | 4280 | ||
4278 | SendObjectPropertiesToClient(AgentID); | 4281 | SendFullUpdateToAllClients(); |
4279 | 4282 | ||
4283 | SendRootPartPropertiesToClient(AgentID); | ||
4280 | } | 4284 | } |
4281 | } | 4285 | } |
4282 | 4286 | ||