public GridRegion GetHomeRegion(AgentCircuitData circuit, out Vector3 position, out Vector3 lookAt)
{
if (circuit.ServiceURLs.ContainsKey ("HomeURI"))
{
IUserAgentService userAgentService = new UserAgentServiceConnector (circuit.ServiceURLs["HomeURI"].ToString ());
GridRegion region = userAgentService.GetHomeRegion (circuit, out position, out lookAt);
if (region != null)
{
Uri uri = null;
if (!circuit.ServiceURLs.ContainsKey ("HomeURI") ||
(circuit.ServiceURLs.ContainsKey ("HomeURI") && !Uri.TryCreate (circuit.ServiceURLs["HomeURI"].ToString (), UriKind.Absolute, out uri)))
return null;
region.ExternalHostName = uri.Host;
region.HttpPort = (uint)uri.Port;
region.ServerURI = region.ServerURI;
region.RegionName = string.Empty;
region.InternalEndPoint = new System.Net.IPEndPoint (System.Net.IPAddress.Parse ("0.0.0.0"), (int)0);
bool isComingHome = userAgentService.AgentIsComingHome (circuit.SessionID, m_GridName);
return region;
}
}
return GetHomeRegion (circuit.AgentID, out position, out lookAt);
}