Added SimulatorFeatures/OpenSimExtras: say-range, whisper-range, shout-range, at the request of Singularity dev Liru-Dargon
parent
44580e2233
commit
083eb7679b
|
@ -32,6 +32,7 @@ using log4net;
|
|||
using Nini.Config;
|
||||
using Mono.Addins;
|
||||
using OpenMetaverse;
|
||||
using OpenMetaverse.StructuredData;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
|
@ -94,6 +95,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
|||
|
||||
public virtual void RegionLoaded(Scene scene)
|
||||
{
|
||||
if (!m_enabled)
|
||||
return;
|
||||
|
||||
ISimulatorFeaturesModule featuresModule = scene.RequestModuleInterface<ISimulatorFeaturesModule>();
|
||||
|
||||
if (featuresModule != null)
|
||||
featuresModule.OnSimulatorFeaturesRequest += OnSimulatorFeaturesRequest;
|
||||
|
||||
}
|
||||
|
||||
public virtual void RemoveRegion(Scene scene)
|
||||
|
@ -353,5 +362,33 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
#region SimulatorFeaturesRequest
|
||||
|
||||
static OSDInteger m_SayRange, m_WhisperRange, m_ShoutRange;
|
||||
|
||||
private void OnSimulatorFeaturesRequest(UUID agentID, ref OSDMap features)
|
||||
{
|
||||
OSD extras = new OSDMap();
|
||||
if (features.ContainsKey("OpenSimExtras"))
|
||||
extras = features["OpenSimExtras"];
|
||||
else
|
||||
features["OpenSimExtras"] = extras;
|
||||
|
||||
if (m_SayRange == null)
|
||||
{
|
||||
// Do this only once
|
||||
m_SayRange = new OSDInteger(m_saydistance);
|
||||
m_WhisperRange = new OSDInteger(m_whisperdistance);
|
||||
m_ShoutRange = new OSDInteger(m_shoutdistance);
|
||||
}
|
||||
|
||||
((OSDMap)extras)["say-range"] = m_SayRange;
|
||||
((OSDMap)extras)["whisper-range"] = m_WhisperRange;
|
||||
((OSDMap)extras)["shout-range"] = m_ShoutRange;
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue