Pass entire scene object in OnLoginsEnabled event rather than just the region name.
This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed0.7.4.1
parent
742ad5eb93
commit
6460e587c4
|
@ -164,20 +164,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.MapImage
|
||||||
|
|
||||||
#endregion ISharedRegionModule
|
#endregion ISharedRegionModule
|
||||||
|
|
||||||
void OnLoginsEnabled(string regionName)
|
void OnLoginsEnabled(IScene scene)
|
||||||
{
|
{
|
||||||
Scene scene = null;
|
|
||||||
foreach (Scene s in m_scenes.Values)
|
|
||||||
if (s.RegionInfo.RegionName == regionName)
|
|
||||||
{
|
|
||||||
scene = s;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (scene != null)
|
|
||||||
UploadMapTile(scene);
|
UploadMapTile(scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
///<summary>
|
///<summary>
|
||||||
///
|
///
|
||||||
///</summary>
|
///</summary>
|
||||||
|
|
|
@ -496,14 +496,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public delegate void RegionHeartbeatEnd(Scene scene);
|
public delegate void RegionHeartbeatEnd(Scene scene);
|
||||||
public event RegionHeartbeatEnd OnRegionHeartbeatEnd;
|
public event RegionHeartbeatEnd OnRegionHeartbeatEnd;
|
||||||
|
|
||||||
public delegate void LoginsEnabled(string regionName);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This should only fire in all circumstances if the RegionReady module is active.
|
/// This should only fire in all circumstances if the RegionReady module is active.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// TODO: Fire this even when the RegionReady module is not active.
|
/// TODO: Fire this even when the RegionReady module is not active.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
|
public delegate void LoginsEnabled(IScene scene);
|
||||||
public event LoginsEnabled OnLoginsEnabled;
|
public event LoginsEnabled OnLoginsEnabled;
|
||||||
|
|
||||||
public delegate void PrimsLoaded(Scene s);
|
public delegate void PrimsLoaded(Scene s);
|
||||||
|
@ -2477,7 +2476,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TriggerLoginsEnabled (string regionName)
|
public void TriggerLoginsEnabled(Scene scene)
|
||||||
{
|
{
|
||||||
LoginsEnabled handler = OnLoginsEnabled;
|
LoginsEnabled handler = OnLoginsEnabled;
|
||||||
|
|
||||||
|
@ -2487,7 +2486,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
d(regionName);
|
d(scene);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1493,7 +1493,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
// need to be able to tell these have changed in RegionReady
|
// need to be able to tell these have changed in RegionReady
|
||||||
LoginLock = false;
|
LoginLock = false;
|
||||||
EventManager.TriggerLoginsEnabled(RegionInfo.RegionName);
|
EventManager.TriggerLoginsEnabled(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// For RegionReady lockouts
|
// For RegionReady lockouts
|
||||||
|
|
|
@ -59,7 +59,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady
|
||||||
private bool m_disable_logins;
|
private bool m_disable_logins;
|
||||||
private string m_uri = string.Empty;
|
private string m_uri = string.Empty;
|
||||||
|
|
||||||
Scene m_scene = null;
|
Scene m_scene;
|
||||||
|
|
||||||
#region INonSharedRegionModule interface
|
#region INonSharedRegionModule interface
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady
|
||||||
m_scene.RegionInfo.RegionName, c.Message, m_channelNotify);
|
m_scene.RegionInfo.RegionName, c.Message, m_channelNotify);
|
||||||
|
|
||||||
m_scene.EventManager.TriggerOnChatBroadcast(this, c);
|
m_scene.EventManager.TriggerOnChatBroadcast(this, c);
|
||||||
m_scene.EventManager.TriggerLoginsEnabled(m_scene.RegionInfo.RegionName);
|
m_scene.EventManager.TriggerLoginsEnabled(m_scene);
|
||||||
m_scene.SceneGridService.InformNeighborsThatRegionisUp(m_scene.RequestModuleInterface<INeighbourService>(), m_scene.RegionInfo);
|
m_scene.SceneGridService.InformNeighborsThatRegionisUp(m_scene.RequestModuleInterface<INeighbourService>(), m_scene.RegionInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,20 +200,28 @@ namespace OpenSim.Region.OptionalModules.Scripting.RegionReady
|
||||||
void OnOarFileLoaded(Guid requestId, string message)
|
void OnOarFileLoaded(Guid requestId, string message)
|
||||||
{
|
{
|
||||||
m_oarFileLoading = true;
|
m_oarFileLoading = true;
|
||||||
|
|
||||||
if (message==String.Empty)
|
if (message==String.Empty)
|
||||||
{
|
{
|
||||||
m_lastOarLoadedOk = true;
|
m_lastOarLoadedOk = true;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_log.WarnFormat("[RegionReady]: Oar file load errors: {0}", message);
|
m_log.WarnFormat("[RegionReady]: Oar file load errors: {0}", message);
|
||||||
m_lastOarLoadedOk = false;
|
m_lastOarLoadedOk = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This will be triggerd by Scene if we have no scripts
|
/// <summary>
|
||||||
// m_ScriptsRezzing will be false if there were none
|
/// This will be triggered by Scene directly if it contains no scripts on startup.
|
||||||
// else it will be true and we should wait on the
|
/// </summary>
|
||||||
// empty compile queue
|
/// <remarks>
|
||||||
void OnLoginsEnabled(string regionName)
|
/// m_ScriptsRezzing will be false if there were none
|
||||||
|
/// else it will be true and we should wait on the
|
||||||
|
/// empty compile queue
|
||||||
|
/// </remarks>
|
||||||
|
/// <param name='scene'></param>
|
||||||
|
void OnLoginsEnabled(IScene scene)
|
||||||
{
|
{
|
||||||
if (m_scene.StartDisabled == false)
|
if (m_scene.StartDisabled == false)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue