mirror of
https://github.com/opensim/opensim.git
synced 2026-08-13 05:05:43 +08:00
Mantis#1965. Thank you kindly, HomerHorwitz for a patch that:
Places touched:
- Added two events for in-packets to LLCLientView: RegionHandleRequest and
ParcelInfoRequest
- Added sending of two out-packets to LLCLientView: RegionIDAndHandleReply and
ParcelInfoReply.
- Scene handles the RegionHandleRequest, LandManagementModule the
ParcelInfoRequest
- Added inter-region request for LandData by RegionHandle and local position.
This was implemented as XML-RPC request. The returned LandData isn't
complete, it only contains the data necessary for answering the
ParcelInfoRequest
- Added new CAPS (0009) for RemoteParcelRequest and some methods for LandData
handling to LandManagementModule
- Added methods for fake parcelID creation and parsing to Util
- Fixed missing implementation of interface methods.
- Added new file:
OpenSim/Framework/Communications/Capabilities/LLSDRemoteParcelResponse.cs
NOTE: This is part of the patch, too.
Due to the many places touched, I would consider this patch as experimental.
This commit is contained in:
@@ -59,7 +59,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
public event ChildAgentUpdate OnChildAgentUpdate;
|
||||
public event RemoveKnownRegionsFromAvatarList OnRemoveKnownRegionFromAvatar;
|
||||
public event LogOffUser OnLogOffUser;
|
||||
|
||||
public event GetLandData OnGetLandData;
|
||||
|
||||
private AgentCrossing handlerAvatarCrossingIntoRegion = null; // OnAvatarCrossingIntoRegion;
|
||||
private ExpectUserDelegate handlerExpectUser = null; // OnExpectUser;
|
||||
private ExpectPrimDelegate handlerExpectPrim = null; // OnExpectPrim;
|
||||
@@ -69,6 +70,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
private ChildAgentUpdate handlerChildAgentUpdate = null; // OnChildAgentUpdate;
|
||||
private RemoveKnownRegionsFromAvatarList handlerRemoveKnownRegionFromAvatar = null; // OnRemoveKnownRegionFromAvatar;
|
||||
private LogOffUser handlerLogOffUser = null;
|
||||
private GetLandData handlerGetLandData = null; // OnGetLandData
|
||||
|
||||
public KillObjectDelegate KillObject;
|
||||
public string _debugRegionName = String.Empty;
|
||||
@@ -108,6 +110,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
regionCommsHost.OnRegionUp += newRegionUp;
|
||||
regionCommsHost.OnChildAgentUpdate += ChildAgentUpdate;
|
||||
regionCommsHost.OnLogOffUser += GridLogOffUser;
|
||||
regionCommsHost.OnGetLandData += FetchLandData;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -131,6 +134,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
regionCommsHost.OnExpectPrim -= IncomingPrimCrossing;
|
||||
regionCommsHost.OnAvatarCrossingIntoRegion -= AgentCrossing;
|
||||
regionCommsHost.OnCloseAgentConnection -= CloseConnection;
|
||||
regionCommsHost.OnGetLandData -= FetchLandData;
|
||||
m_commsProvider.GridService.DeregisterRegion(m_regionInfo);
|
||||
regionCommsHost = null;
|
||||
}
|
||||
@@ -227,6 +231,16 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
return false;
|
||||
}
|
||||
|
||||
protected LandData FetchLandData(uint x, uint y)
|
||||
{
|
||||
handlerGetLandData = OnGetLandData;
|
||||
if (handlerGetLandData != null)
|
||||
{
|
||||
return handlerGetLandData(x, y);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Inform Client of Neighbours
|
||||
|
||||
Reference in New Issue
Block a user