Fix child agent scoping

viewer-2-initial-appearance
Melanie 2011-01-03 19:42:26 +00:00
parent c48ddbfef1
commit e1664b8d38
1 changed files with 4 additions and 4 deletions

View File

@ -193,7 +193,7 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
public delegate void SendChildAgentDataUpdateDelegate(AgentPosition cAgentData, ulong regionHandle); public delegate void SendChildAgentDataUpdateDelegate(AgentPosition cAgentData, UUID scopeID, ulong regionHandle);
/// <summary> /// <summary>
/// This informs all neighboring regions about the settings of it's child agent. /// This informs all neighboring regions about the settings of it's child agent.
@ -202,7 +202,7 @@ namespace OpenSim.Region.Framework.Scenes
/// This contains information, such as, Draw Distance, Camera location, Current Position, Current throttle settings, etc. /// This contains information, such as, Draw Distance, Camera location, Current Position, Current throttle settings, etc.
/// ///
/// </summary> /// </summary>
private void SendChildAgentDataUpdateAsync(AgentPosition cAgentData, ulong regionHandle) private void SendChildAgentDataUpdateAsync(AgentPosition cAgentData, UUID scopeID, ulong regionHandle)
{ {
//m_log.Info("[INTERGRID]: Informing neighbors about my agent in " + m_regionInfo.RegionName); //m_log.Info("[INTERGRID]: Informing neighbors about my agent in " + m_regionInfo.RegionName);
try try
@ -245,7 +245,7 @@ namespace OpenSim.Region.Framework.Scenes
if (regionHandle != m_regionInfo.RegionHandle) if (regionHandle != m_regionInfo.RegionHandle)
{ {
SendChildAgentDataUpdateDelegate d = SendChildAgentDataUpdateAsync; SendChildAgentDataUpdateDelegate d = SendChildAgentDataUpdateAsync;
d.BeginInvoke(cAgentData, regionHandle, d.BeginInvoke(cAgentData, m_regionInfo.ScopeID, regionHandle,
SendChildAgentDataUpdateCompleted, SendChildAgentDataUpdateCompleted,
d); d);
} }
@ -273,7 +273,7 @@ namespace OpenSim.Region.Framework.Scenes
//m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID); //m_commsProvider.InterRegion.TellRegionToCloseChildConnection(regionHandle, agentID);
uint x = 0, y = 0; uint x = 0, y = 0;
Utils.LongToUInts(regionHandle, out x, out y); Utils.LongToUInts(regionHandle, out x, out y);
GridRegion destination = m_scene.GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y); GridRegion destination = m_scene.GridService.GetRegionByPosition(m_regionInfo.ScopeID, (int)x, (int)y);
m_scene.SimulationService.CloseAgent(destination, agentID); m_scene.SimulationService.CloseAgent(destination, agentID);
} }