diff options
author | Melanie | 2009-08-04 03:17:13 +0100 |
---|---|---|
committer | Melanie | 2009-08-04 03:17:13 +0100 |
commit | 17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e (patch) | |
tree | b1e75c63acc472c6e211f2054abedf99ccf1bf06 /OpenSim/Region/ScriptEngine | |
parent | Minor: formatting changes. (diff) | |
download | opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.zip opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.tar.gz opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.tar.bz2 opensim-SC-17bdc45c5ce623549b185a6c4bd5e8fdf00c8d8e.tar.xz |
Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
4 files changed, 20 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs index ec94afa..987827c 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs | |||
@@ -476,5 +476,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
476 | { | 476 | { |
477 | return ""; | 477 | return ""; |
478 | } | 478 | } |
479 | |||
480 | public bool CanBeDeleted(UUID itemID) | ||
481 | { | ||
482 | return true; | ||
483 | } | ||
479 | } | 484 | } |
480 | } | 485 | } |
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs index 64f7077..c2fce2f 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs | |||
@@ -95,6 +95,7 @@ namespace OpenSim.Region.ScriptEngine.Interfaces | |||
95 | UUID GetDetectID(int idx); | 95 | UUID GetDetectID(int idx); |
96 | void SaveState(string assembly); | 96 | void SaveState(string assembly); |
97 | void DestroyScriptInstance(); | 97 | void DestroyScriptInstance(); |
98 | bool CanBeDeleted(); | ||
98 | 99 | ||
99 | IScriptApi GetApi(string name); | 100 | IScriptApi GetApi(string name); |
100 | 101 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 2457b3a..42d61a7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | |||
@@ -991,5 +991,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
991 | { | 991 | { |
992 | get { return m_RegionID; } | 992 | get { return m_RegionID; } |
993 | } | 993 | } |
994 | |||
995 | public bool CanBeDeleted() | ||
996 | { | ||
997 | return true; | ||
998 | } | ||
994 | } | 999 | } |
995 | } | 1000 | } |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index dff53dd..c7673c7 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -1241,5 +1241,14 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1241 | return ""; | 1241 | return ""; |
1242 | return instance.GetXMLState(); | 1242 | return instance.GetXMLState(); |
1243 | } | 1243 | } |
1244 | |||
1245 | public bool CanBeDeleted(UUID itemID) | ||
1246 | { | ||
1247 | IScriptInstance instance = GetInstance(itemID); | ||
1248 | if (instance == null) | ||
1249 | return true; | ||
1250 | |||
1251 | return instance.CanBeDeleted(); | ||
1252 | } | ||
1244 | } | 1253 | } |
1245 | } | 1254 | } |