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 Nini.Config;
|
||||||
using Mono.Addins;
|
using Mono.Addins;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
using OpenMetaverse.StructuredData;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -94,6 +95,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||||
|
|
||||||
public virtual void RegionLoaded(Scene scene)
|
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)
|
public virtual void RemoveRegion(Scene scene)
|
||||||
|
@ -353,5 +362,33 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||||
|
|
||||||
return true;
|
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