diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index fbabb5c..c12c81b 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -878,6 +878,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
878 | /// <param name="seconds">float indicating duration before restart.</param> | 878 | /// <param name="seconds">float indicating duration before restart.</param> |
879 | public virtual void Restart(float seconds) | 879 | public virtual void Restart(float seconds) |
880 | { | 880 | { |
881 | Restart(seconds, true); | ||
882 | } | ||
883 | |||
884 | /// <summary> | ||
885 | /// Given float seconds, this will restart the region. showDialog will optionally alert the users. | ||
886 | /// </summary> | ||
887 | /// <param name="seconds">float indicating duration before restart.</param> | ||
888 | public virtual void Restart(float seconds, bool showDialog) | ||
889 | { | ||
881 | // notifications are done in 15 second increments | 890 | // notifications are done in 15 second increments |
882 | // so .. if the number of seconds is less then 15 seconds, it's not really a restart request | 891 | // so .. if the number of seconds is less then 15 seconds, it's not really a restart request |
883 | // It's a 'Cancel restart' request. | 892 | // It's a 'Cancel restart' request. |
@@ -898,8 +907,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
898 | m_restartTimer.Elapsed += new ElapsedEventHandler(RestartTimer_Elapsed); | 907 | m_restartTimer.Elapsed += new ElapsedEventHandler(RestartTimer_Elapsed); |
899 | m_log.Info("[REGION]: Restarting Region in " + (seconds / 60) + " minutes"); | 908 | m_log.Info("[REGION]: Restarting Region in " + (seconds / 60) + " minutes"); |
900 | m_restartTimer.Start(); | 909 | m_restartTimer.Start(); |
901 | m_dialogModule.SendNotificationToUsersInRegion( | 910 | if (showDialog) |
902 | UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in 2 Minutes"); | 911 | { |
912 | m_dialogModule.SendNotificationToUsersInRegion( | ||
913 | UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in " + (seconds / 60).ToString() + " Minutes"); | ||
914 | } | ||
903 | } | 915 | } |
904 | } | 916 | } |
905 | 917 | ||
@@ -1169,16 +1181,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
1169 | // Check if any objects have reached their targets | 1181 | // Check if any objects have reached their targets |
1170 | CheckAtTargets(); | 1182 | CheckAtTargets(); |
1171 | 1183 | ||
1172 | // Update SceneObjectGroups that have scheduled themselves for updates | ||
1173 | // Objects queue their updates onto all scene presences | ||
1174 | if (m_frame % m_update_objects == 0) | ||
1175 | m_sceneGraph.UpdateObjectGroups(); | ||
1176 | |||
1177 | // Run through all ScenePresences looking for updates | 1184 | // Run through all ScenePresences looking for updates |
1178 | // Presence updates and queued object updates for each presence are sent to clients | 1185 | // Presence updates and queued object updates for each presence are sent to clients |
1179 | if (m_frame % m_update_presences == 0) | 1186 | if (m_frame % m_update_presences == 0) |
1180 | m_sceneGraph.UpdatePresences(); | 1187 | m_sceneGraph.UpdatePresences(); |
1181 | 1188 | ||
1189 | // Update SceneObjectGroups that have scheduled themselves for updates | ||
1190 | // Objects queue their updates onto all scene presences | ||
1191 | if (m_frame % m_update_objects == 0) | ||
1192 | m_sceneGraph.UpdateObjectGroups(); | ||
1193 | |||
1182 | int TempPhysicsMS2 = Environment.TickCount; | 1194 | int TempPhysicsMS2 = Environment.TickCount; |
1183 | if ((m_frame % m_update_physics == 0) && m_physics_enabled) | 1195 | if ((m_frame % m_update_physics == 0) && m_physics_enabled) |
1184 | m_sceneGraph.UpdatePreparePhysics(); | 1196 | m_sceneGraph.UpdatePreparePhysics(); |