aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/InnerScene.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-06-27 14:39:21 +0000
committerJustin Clarke Casey2008-06-27 14:39:21 +0000
commitd34a46eae193d961bd48562bc28747fc010db119 (patch)
tree320d3c8dc6b0f1dab555256d82a7627308dd72a1 /OpenSim/Region/Environment/Scenes/InnerScene.cs
parent* refactor: fission InnerScene.AddSceneObject() (diff)
downloadopensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.zip
opensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.tar.gz
opensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.tar.bz2
opensim-SC_OLD-d34a46eae193d961bd48562bc28747fc010db119.tar.xz
* refactor: Move responsibility for deciding whether a group should be repersisted on to callers of SceneObjectGroup.SendGroupTeruseUpdate()
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index 5256c9e..6dccf77 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -1082,6 +1082,12 @@ namespace OpenSim.Region.Environment.Scenes
1082 } 1082 }
1083 } 1083 }
1084 1084
1085 /// <summary>
1086 /// Update the position of the given part
1087 /// </summary>
1088 /// <param name="localID"></param>
1089 /// <param name="pos"></param>
1090 /// <param name="remoteClient"></param>
1085 protected internal void UpdatePrimSinglePosition(uint localID, LLVector3 pos, IClientAPI remoteClient) 1091 protected internal void UpdatePrimSinglePosition(uint localID, LLVector3 pos, IClientAPI remoteClient)
1086 { 1092 {
1087 SceneObjectGroup group = GetGroupByPrim(localID); 1093 SceneObjectGroup group = GetGroupByPrim(localID);
@@ -1093,6 +1099,7 @@ namespace OpenSim.Region.Environment.Scenes
1093 group.SendGroupTerseUpdate(); 1099 group.SendGroupTerseUpdate();
1094 return; 1100 return;
1095 } 1101 }
1102
1096 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId) || group.RootPart.m_IsAttachment) 1103 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId) || group.RootPart.m_IsAttachment)
1097 { 1104 {
1098 group.UpdateSinglePosition(pos, localID); 1105 group.UpdateSinglePosition(pos, localID);
@@ -1101,7 +1108,7 @@ namespace OpenSim.Region.Environment.Scenes
1101 } 1108 }
1102 1109
1103 /// <summary> 1110 /// <summary>
1104 /// 1111 /// Update the position of the given part
1105 /// </summary> 1112 /// </summary>
1106 /// <param name="localID"></param> 1113 /// <param name="localID"></param>
1107 /// <param name="pos"></param> 1114 /// <param name="pos"></param>
@@ -1122,6 +1129,7 @@ namespace OpenSim.Region.Environment.Scenes
1122 if (!m_parentScene.ExternalChecks.ExternalChecksCanObjectEntry(group.UUID,pos) && !group.RootPart.m_IsAttachment) 1129 if (!m_parentScene.ExternalChecks.ExternalChecksCanObjectEntry(group.UUID,pos) && !group.RootPart.m_IsAttachment)
1123 { 1130 {
1124 group.SendGroupTerseUpdate(); 1131 group.SendGroupTerseUpdate();
1132
1125 return; 1133 return;
1126 } 1134 }
1127 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId) || group.RootPart.m_IsAttachment) 1135 if (m_parentScene.ExternalChecks.ExternalChecksCanMoveObject(group.UUID, remoteClient.AgentId) || group.RootPart.m_IsAttachment)
@@ -1168,6 +1176,13 @@ namespace OpenSim.Region.Environment.Scenes
1168 } 1176 }
1169 } 1177 }
1170 1178
1179 /// <summary>
1180 /// Move the given object
1181 /// </summary>
1182 /// <param name="objectID"></param>
1183 /// <param name="offset"></param>
1184 /// <param name="pos"></param>
1185 /// <param name="remoteClient"></param>
1171 protected internal void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 pos, IClientAPI remoteClient) 1186 protected internal void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 pos, IClientAPI remoteClient)
1172 { 1187 {
1173 SceneObjectGroup group = GetGroupByPrim(objectID); 1188 SceneObjectGroup group = GetGroupByPrim(objectID);