diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs index d4346e4832..2f083229f6 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs @@ -32,6 +32,7 @@ using OpenMetaverse; using log4net; using OpenSim.Framework; using OpenSim.Framework.Communications.Cache; +using OpenSim.Region.Interfaces; using OpenSim.Region.Environment.Interfaces; using OpenSim.Region.Environment.Scenes.Scripting; @@ -763,5 +764,30 @@ namespace OpenSim.Region.Environment.Scenes return ret; } + + string[] GetScriptAssemblies() + { + IScriptModule[] engines = m_parentGroup.Scene.RequestModuleInterfaces(); + + List ret = new List(); + + foreach (TaskInventoryItem item in m_taskInventory.Values) + { + if (item.InvType == 10) + { + foreach (IScriptModule e in engines) + { + string n = e.GetAssemblyName(item.ItemID); + if (n != "") + { + if (!ret.Contains(n)) + ret.Add(n); + break; + } + } + } + } + return ret.ToArray(); + } } } diff --git a/OpenSim/Region/Interfaces/IScriptModule.cs b/OpenSim/Region/Interfaces/IScriptModule.cs index e01b472096..9dca862388 100644 --- a/OpenSim/Region/Interfaces/IScriptModule.cs +++ b/OpenSim/Region/Interfaces/IScriptModule.cs @@ -34,5 +34,8 @@ namespace OpenSim.Region.Interfaces public interface IScriptModule { string ScriptEngineName { get; } + + string GetAssemblyName(UUID itemID); + string GetXMLState(UUID itemID); } } diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs index 29b83dc8b2..db05d47b86 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs @@ -72,8 +72,5 @@ namespace OpenSim.Region.ScriptEngine.Interfaces string ScriptEngineName { get; } ILog Log { get; } IScriptApi GetApi(UUID itemID, string name); - - string GetAssemblyName(UUID itemID); - string GetXMLState(UUID itemID); } }