Add a method to query all registered script constants to allow non-XEngine

script engines to use them.
avinationmerge
Melanie 2012-11-04 22:01:34 +01:00
parent 9eb39406ad
commit 7e91a787fb
2 changed files with 18 additions and 0 deletions

View File

@ -27,6 +27,7 @@
using System;
using System.Reflection;
using System.Collections.Generic;
using OpenMetaverse;
namespace OpenSim.Region.Framework.Interfaces
@ -70,6 +71,7 @@ namespace OpenSim.Region.Framework.Interfaces
/// For constants
void RegisterConstant(string cname, object value);
object LookupModConstant(string cname);
Dictionary<string, object> GetConstants();
// For use ONLY by the script API
void RaiseEvent(UUID script, string id, string module, string command, string key);

View File

@ -302,6 +302,22 @@ namespace OpenSim.Region.OptionalModules.Scripting.ScriptModuleComms
return null;
}
/// <summary>
/// Get all registered constants
/// </summary>
public Dictionary<string, object> GetConstants()
{
Dictionary<string, object> ret = new Dictionary<string, object>();
lock (m_constants)
{
foreach (KeyValuePair<string, object> kvp in m_constants)
ret[kvp.Key] = kvp.Value;
}
return ret;
}
#endregion
}