diff options
author | Justin Clarke Casey | 2008-06-27 14:39:21 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-27 14:39:21 +0000 |
commit | d34a46eae193d961bd48562bc28747fc010db119 (patch) | |
tree | 320d3c8dc6b0f1dab555256d82a7627308dd72a1 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |
parent | * refactor: fission InnerScene.AddSceneObject() (diff) | |
download | opensim-SC-d34a46eae193d961bd48562bc28747fc010db119.zip opensim-SC-d34a46eae193d961bd48562bc28747fc010db119.tar.gz opensim-SC-d34a46eae193d961bd48562bc28747fc010db119.tar.bz2 opensim-SC-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/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index dd9c706..a7c54b3 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1588,8 +1588,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
1588 | /// </summary> | 1588 | /// </summary> |
1589 | public void SendGroupTerseUpdate() | 1589 | public void SendGroupTerseUpdate() |
1590 | { | 1590 | { |
1591 | HasGroupChanged = true; | ||
1592 | |||
1593 | lock (m_parts) | 1591 | lock (m_parts) |
1594 | { | 1592 | { |
1595 | foreach (SceneObjectPart part in m_parts.Values) | 1593 | foreach (SceneObjectPart part in m_parts.Values) |
@@ -2179,7 +2177,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
2179 | #region Position | 2177 | #region Position |
2180 | 2178 | ||
2181 | /// <summary> | 2179 | /// <summary> |
2182 | /// | 2180 | /// Move this scene object |
2183 | /// </summary> | 2181 | /// </summary> |
2184 | /// <param name="pos"></param> | 2182 | /// <param name="pos"></param> |
2185 | public void UpdateGroupPosition(LLVector3 pos) | 2183 | public void UpdateGroupPosition(LLVector3 pos) |
@@ -2192,20 +2190,24 @@ namespace OpenSim.Region.Environment.Scenes | |||
2192 | } | 2190 | } |
2193 | 2191 | ||
2194 | AbsolutePosition = pos; | 2192 | AbsolutePosition = pos; |
2193 | |||
2194 | HasGroupChanged = true; | ||
2195 | } | 2195 | } |
2196 | |||
2196 | //we need to do a terse update even if the move wasn't allowed | 2197 | //we need to do a terse update even if the move wasn't allowed |
2197 | // so that the position is reset in the client (the object snaps back) | 2198 | // so that the position is reset in the client (the object snaps back) |
2198 | ScheduleGroupForTerseUpdate(); | 2199 | ScheduleGroupForTerseUpdate(); |
2199 | } | 2200 | } |
2200 | 2201 | ||
2201 | /// <summary> | 2202 | /// <summary> |
2202 | /// | 2203 | /// Update the position of a single part of this scene object |
2203 | /// </summary> | 2204 | /// </summary> |
2204 | /// <param name="pos"></param> | 2205 | /// <param name="pos"></param> |
2205 | /// <param name="localID"></param> | 2206 | /// <param name="localID"></param> |
2206 | public void UpdateSinglePosition(LLVector3 pos, uint localID) | 2207 | public void UpdateSinglePosition(LLVector3 pos, uint localID) |
2207 | { | 2208 | { |
2208 | SceneObjectPart part = GetChildPart(localID); | 2209 | SceneObjectPart part = GetChildPart(localID); |
2210 | |||
2209 | if (part != null) | 2211 | if (part != null) |
2210 | { | 2212 | { |
2211 | if (part.UUID == m_rootPart.UUID) | 2213 | if (part.UUID == m_rootPart.UUID) |
@@ -2216,6 +2218,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
2216 | { | 2218 | { |
2217 | part.UpdateOffSet(pos); | 2219 | part.UpdateOffSet(pos); |
2218 | } | 2220 | } |
2221 | |||
2222 | HasGroupChanged = true; | ||
2219 | } | 2223 | } |
2220 | } | 2224 | } |
2221 | 2225 | ||