aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs55
1 files changed, 30 insertions, 25 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 790ec63..f2200da 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1020,44 +1020,49 @@ namespace OpenSim.Region.Framework.Scenes
1020 } 1020 }
1021 } 1021 }
1022 1022
1023 public void SetSceneCoreDebug(bool ScriptEngine, bool CollisionEvents, bool PhysicsEngine) 1023 public void SetSceneCoreDebug(Dictionary<string, string> options)
1024 { 1024 {
1025 if (m_scripts_enabled != !ScriptEngine) 1025 if (options.ContainsKey("scripting"))
1026 { 1026 {
1027 if (ScriptEngine) 1027 bool enableScripts = true;
1028 if (bool.TryParse(options["scripting"], out enableScripts) && m_scripts_enabled != enableScripts)
1028 { 1029 {
1029 m_log.Info("Stopping all Scripts in Scene"); 1030 if (!enableScripts)
1030
1031 EntityBase[] entities = Entities.GetEntities();
1032 foreach (EntityBase ent in entities)
1033 { 1031 {
1034 if (ent is SceneObjectGroup) 1032 m_log.Info("Stopping all Scripts in Scene");
1035 ((SceneObjectGroup)ent).RemoveScriptInstances(false); 1033
1034 EntityBase[] entities = Entities.GetEntities();
1035 foreach (EntityBase ent in entities)
1036 {
1037 if (ent is SceneObjectGroup)
1038 ((SceneObjectGroup)ent).RemoveScriptInstances(false);
1039 }
1036 } 1040 }
1037 } 1041 else
1038 else
1039 {
1040 m_log.Info("Starting all Scripts in Scene");
1041
1042 EntityBase[] entities = Entities.GetEntities();
1043 foreach (EntityBase ent in entities)
1044 { 1042 {
1045 if (ent is SceneObjectGroup) 1043 m_log.Info("Starting all Scripts in Scene");
1044
1045 EntityBase[] entities = Entities.GetEntities();
1046 foreach (EntityBase ent in entities)
1046 { 1047 {
1047 SceneObjectGroup sog = (SceneObjectGroup)ent; 1048 if (ent is SceneObjectGroup)
1048 sog.CreateScriptInstances(0, false, DefaultScriptEngine, 0); 1049 {
1049 sog.ResumeScripts(); 1050 SceneObjectGroup sog = (SceneObjectGroup)ent;
1051 sog.CreateScriptInstances(0, false, DefaultScriptEngine, 0);
1052 sog.ResumeScripts();
1053 }
1050 } 1054 }
1051 } 1055 }
1052 }
1053 1056
1054 m_scripts_enabled = !ScriptEngine; 1057 m_scripts_enabled = enableScripts;
1055 m_log.Info("[TOTEDD]: Here is the method to trigger disabling of the scripting engine"); 1058 }
1056 } 1059 }
1057 1060
1058 if (m_physics_enabled != !PhysicsEngine) 1061 if (options.ContainsKey("physics"))
1059 { 1062 {
1060 m_physics_enabled = !PhysicsEngine; 1063 bool enablePhysics = false;
1064 if (bool.TryParse(options["physics"], out enablePhysics) && m_physics_enabled != enablePhysics)
1065 m_physics_enabled = enablePhysics;
1061 } 1066 }
1062 } 1067 }
1063 1068