C# Class OpenSim.Region.CoreModules.World.Land.LandManagementModule

Inheritance: INonSharedRegionModule
显示文件 Open project: nebadon2025/opensimulator Class Usage Examples

Protected Properties

Property Type Description
m_Dialog IDialogModule
m_groupManager IGroupsModule
m_primCountModule IPrimCountModule
m_userManager IUserManagement

Private Properties

Property Type Description
AppendParcelReport void
AppendParcelsSummaryReport void
ClientOnParcelDeedToGroup void
ClientOnParcelInfoRequest void
ClientOnSimWideDeletes void
CreateBitmapForID ].bool[
EventManagerOnIncomingLandDataFromStorage void
EventManagerOnNewClient void
EventManagerOnRegisterCaps void
FinalizeLandPrimCountUpdate void
ForceAvatarToPosition void
IncomingLandObjectFromStorage void
OnEndParcelFrozen void
ProcessPropertiesUpdate string
RemoteParcelRequest string
performFinalLandJoin void

Public Methods

Method Description
AddLandObject ( ILandObject land ) : ILandObject

Adds a land object to the stored list and adds them to the landIDList to what they own

AddRegion ( Scene scene ) : void
AllParcels ( ) : List
Clear ( bool setupDefaultParcel ) : void

Clear the scene of all parcels

ClientOnParcelAbandonRequest ( int local_id, IClientAPI remote_client ) : void
ClientOnParcelAccessListRequest ( UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client ) : void
ClientOnParcelAccessListUpdateRequest ( UUID agentID, uint flags, int landLocalID, UUID transactionID, int sequenceID, int sections, List entries, IClientAPI remote_client ) : void
ClientOnParcelDivideRequest ( int west, int south, int east, int north, IClientAPI remote_client ) : void
ClientOnParcelEjectUser ( IClientAPI client, UUID parcelowner, uint flags, UUID target ) : void
ClientOnParcelFreezeUser ( IClientAPI client, UUID parcelowner, uint flags, UUID target ) : void
ClientOnParcelGodForceOwner ( int local_id, UUID ownerID, IClientAPI remote_client ) : void
ClientOnParcelGodMark ( IClientAPI client, UUID god, int landID ) : void
ClientOnParcelJoinRequest ( int west, int south, int east, int north, IClientAPI remote_client ) : void
ClientOnParcelObjectOwnerRequest ( int local_id, IClientAPI remote_client ) : void
ClientOnParcelPropertiesRequest ( int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client ) : void
ClientOnParcelPropertiesUpdateRequest ( LandUpdateArgs args, int localID, IClientAPI remote_client ) : void
ClientOnParcelReclaim ( int local_id, IClientAPI remote_client ) : void
ClientOnParcelSelectObjects ( int local_id, int request_type, List returnIDs, IClientAPI remote_client ) : void
ClientOnSetHome ( IClientAPI remoteClient, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint flags ) : void

Sets the Home Point. The LoginService uses this to know where to put a user when they log-in

Close ( ) : void
EnforceBans ( ILandObject land, ScenePresence avatar ) : bool
EventMakeChildAgent ( ScenePresence avatar ) : void
EventManagerOnAvatarEnteringNewParcel ( ScenePresence avatar, int localLandID, UUID regionID ) : void
EventManagerOnClientMovement ( ScenePresence avatar ) : void

Like handleEventManagerOnSignificantClientMovement, but called with an AgentUpdate regardless of distance.

EventManagerOnLandBuy ( Object o, EventManager e ) : void
EventManagerOnNoLandDataFromStorage ( ) : void
EventManagerOnObjectBeingRemovedFromScene ( SceneObjectGroup obj ) : void
EventManagerOnParcelPrimCountAdd ( SceneObjectGroup obj ) : void
EventManagerOnParcelPrimCountUpdate ( ) : void
EventManagerOnRequestParcelPrimCountUpdate ( ) : void
EventManagerOnSetAllowedForcefulBan ( bool forceful ) : void
EventManagerOnSignificantClientMovement ( ScenePresence avatar ) : void
EventManagerOnValidateLandBuy ( Object o, EventManager e ) : void
GetLandObject ( float x_float, float y_float ) : ILandObject

Get the land object at the specified point

GetLandObject ( int parcelLocalID ) : ILandObject
GetLandObject ( int x, int y ) : ILandObject
GetLandObject ( int x, int y, bool returnNullIfLandObjectOutsideBounds ) : ILandObject
GetLandObjectClipedXY ( float x, float y ) : ILandObject
Initialise ( IConfigSource source ) : void
Join ( int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id ) : void

Join 2 land objects together

ParcelsNearPoint ( Vector3 position ) : List
RegionLoaded ( Scene scene ) : void
RemoveRegion ( Scene scene ) : void
ResetOverMeRecords ( ) : void
ResetSimLandObjects ( ) : void

Resets the sim to the default land object (full sim piece of land owned by the default user)

ReturnObject ( SceneObjectGroup obj, IClientAPI client ) : void
ReturnObjectsInParcel ( int localID, uint returnType, UUID agentIDs, UUID taskIDs, IClientAPI remoteClient ) : void
SendLandUpdate ( ScenePresence avatar, ILandObject over ) : void
SendOutNearestBanLine ( IClientAPI client ) : void
SendParcelOverlay ( IClientAPI remote_client ) : void

Send the parcel overlay blocks to the client. We send the overlay packets around a location and limited by the 'parcelLayerViewDistance'. This number is usually 128 and the code is arranged so it sends all the parcel overlay information for a whole region if the region is legacy sized (256x256). If the region is larger, only the parcel layer information is sent around the point specified. This reduces the problem of parcel layer information blocks increasing exponentially as region size increases.

Subdivide ( int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id ) : void

Subdivides a piece of land

UpdateLandObject ( int local_id, LandData data ) : void
UpdateLandProperties ( ILandObject land, LandUpdateArgs args, IClientAPI remote_client ) : void
removeLandObject ( int local_id ) : void

Removes a land object from the list. Will not remove if local_id is still owning an area in landIDList

sendClientInitialLandInfo ( IClientAPI remoteClient ) : void
setParcelObjectMaxOverride ( overrideParcelMaxPrimCountDelegate overrideDel ) : void
setParcelOtherCleanTime ( IClientAPI remoteClient, int localID, int otherCleanTime ) : void
setSimulatorObjectMaxOverride ( overrideSimulatorMaxPrimCountDelegate overrideDel ) : void

Protected Methods

Method Description
CreateDefaultParcel ( ) : ILandObject

Create a default parcel that spans the entire region and is owned by the estate owner.

HandleClearCommand ( string module, string args ) : void
HandleShowCommand ( string module, string args ) : void
RegisterCommands ( ) : void

Private Methods

Method Description
AppendParcelReport ( System.StringBuilder report, ILandObject lo ) : void
AppendParcelsSummaryReport ( System.StringBuilder report ) : void
ClientOnParcelDeedToGroup ( int parcelLocalID, UUID groupID, IClientAPI remote_client ) : void
ClientOnParcelInfoRequest ( IClientAPI remoteClient, UUID parcelID ) : void
ClientOnSimWideDeletes ( IClientAPI client, UUID agentID, int flags, UUID targetID ) : void
CreateBitmapForID ( int landID ) : ].bool[
EventManagerOnIncomingLandDataFromStorage ( List data ) : void
EventManagerOnNewClient ( IClientAPI client ) : void
EventManagerOnRegisterCaps ( UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : void
FinalizeLandPrimCountUpdate ( ) : void
ForceAvatarToPosition ( ScenePresence avatar, System.Vector3 position ) : void
IncomingLandObjectFromStorage ( LandData data ) : void
OnEndParcelFrozen ( object avatar ) : void
ProcessPropertiesUpdate ( string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string
RemoteParcelRequest ( string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string
performFinalLandJoin ( ILandObject master, ILandObject slave ) : void

Method Details

AddLandObject() public method

Adds a land object to the stored list and adds them to the landIDList to what they own
public AddLandObject ( ILandObject land ) : ILandObject
land ILandObject
return ILandObject

AddRegion() public method

public AddRegion ( Scene scene ) : void
scene OpenSim.Region.Framework.Scenes.Scene
return void

AllParcels() public method

public AllParcels ( ) : List
return List

Clear() public method

Clear the scene of all parcels
public Clear ( bool setupDefaultParcel ) : void
setupDefaultParcel bool
return void

ClientOnParcelAbandonRequest() public method

public ClientOnParcelAbandonRequest ( int local_id, IClientAPI remote_client ) : void
local_id int
remote_client IClientAPI
return void

ClientOnParcelAccessListRequest() public method

public ClientOnParcelAccessListRequest ( UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client ) : void
agentID UUID
sessionID UUID
flags uint
sequenceID int
landLocalID int
remote_client IClientAPI
return void

ClientOnParcelAccessListUpdateRequest() public method

public ClientOnParcelAccessListUpdateRequest ( UUID agentID, uint flags, int landLocalID, UUID transactionID, int sequenceID, int sections, List entries, IClientAPI remote_client ) : void
agentID UUID
flags uint
landLocalID int
transactionID UUID
sequenceID int
sections int
entries List
remote_client IClientAPI
return void

ClientOnParcelDivideRequest() public method

public ClientOnParcelDivideRequest ( int west, int south, int east, int north, IClientAPI remote_client ) : void
west int
south int
east int
north int
remote_client IClientAPI
return void

ClientOnParcelEjectUser() public method

public ClientOnParcelEjectUser ( IClientAPI client, UUID parcelowner, uint flags, UUID target ) : void
client IClientAPI
parcelowner UUID
flags uint
target UUID
return void

ClientOnParcelFreezeUser() public method

public ClientOnParcelFreezeUser ( IClientAPI client, UUID parcelowner, uint flags, UUID target ) : void
client IClientAPI
parcelowner UUID
flags uint
target UUID
return void

ClientOnParcelGodForceOwner() public method

public ClientOnParcelGodForceOwner ( int local_id, UUID ownerID, IClientAPI remote_client ) : void
local_id int
ownerID UUID
remote_client IClientAPI
return void

ClientOnParcelGodMark() public method

public ClientOnParcelGodMark ( IClientAPI client, UUID god, int landID ) : void
client IClientAPI
god UUID
landID int
return void

ClientOnParcelJoinRequest() public method

public ClientOnParcelJoinRequest ( int west, int south, int east, int north, IClientAPI remote_client ) : void
west int
south int
east int
north int
remote_client IClientAPI
return void

ClientOnParcelObjectOwnerRequest() public method

public ClientOnParcelObjectOwnerRequest ( int local_id, IClientAPI remote_client ) : void
local_id int
remote_client IClientAPI
return void

ClientOnParcelPropertiesRequest() public method

public ClientOnParcelPropertiesRequest ( int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client ) : void
start_x int
start_y int
end_x int
end_y int
sequence_id int
snap_selection bool
remote_client IClientAPI
return void

ClientOnParcelPropertiesUpdateRequest() public method

public ClientOnParcelPropertiesUpdateRequest ( LandUpdateArgs args, int localID, IClientAPI remote_client ) : void
args LandUpdateArgs
localID int
remote_client IClientAPI
return void

ClientOnParcelReclaim() public method

public ClientOnParcelReclaim ( int local_id, IClientAPI remote_client ) : void
local_id int
remote_client IClientAPI
return void

ClientOnParcelSelectObjects() public method

public ClientOnParcelSelectObjects ( int local_id, int request_type, List returnIDs, IClientAPI remote_client ) : void
local_id int
request_type int
returnIDs List
remote_client IClientAPI
return void

ClientOnSetHome() public method

Sets the Home Point. The LoginService uses this to know where to put a user when they log-in
public ClientOnSetHome ( IClientAPI remoteClient, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint flags ) : void
remoteClient IClientAPI
regionHandle ulong
position System.Vector3
lookAt System.Vector3
flags uint
return void

Close() public method

public Close ( ) : void
return void

CreateDefaultParcel() protected method

Create a default parcel that spans the entire region and is owned by the estate owner.
protected CreateDefaultParcel ( ) : ILandObject
return ILandObject

EnforceBans() public method

public EnforceBans ( ILandObject land, ScenePresence avatar ) : bool
land ILandObject
avatar OpenSim.Region.Framework.Scenes.ScenePresence
return bool

EventMakeChildAgent() public method

public EventMakeChildAgent ( ScenePresence avatar ) : void
avatar OpenSim.Region.Framework.Scenes.ScenePresence
return void

EventManagerOnAvatarEnteringNewParcel() public method

public EventManagerOnAvatarEnteringNewParcel ( ScenePresence avatar, int localLandID, UUID regionID ) : void
avatar OpenSim.Region.Framework.Scenes.ScenePresence
localLandID int
regionID UUID
return void

EventManagerOnClientMovement() public method

Like handleEventManagerOnSignificantClientMovement, but called with an AgentUpdate regardless of distance.
public EventManagerOnClientMovement ( ScenePresence avatar ) : void
avatar OpenSim.Region.Framework.Scenes.ScenePresence
return void

EventManagerOnLandBuy() public method

public EventManagerOnLandBuy ( Object o, EventManager e ) : void
o Object
e EventManager
return void

EventManagerOnNoLandDataFromStorage() public method

public EventManagerOnNoLandDataFromStorage ( ) : void
return void

EventManagerOnObjectBeingRemovedFromScene() public method

public EventManagerOnObjectBeingRemovedFromScene ( SceneObjectGroup obj ) : void
obj OpenSim.Region.Framework.Scenes.SceneObjectGroup
return void

EventManagerOnParcelPrimCountAdd() public method

public EventManagerOnParcelPrimCountAdd ( SceneObjectGroup obj ) : void
obj OpenSim.Region.Framework.Scenes.SceneObjectGroup
return void

EventManagerOnParcelPrimCountUpdate() public method

public EventManagerOnParcelPrimCountUpdate ( ) : void
return void

EventManagerOnRequestParcelPrimCountUpdate() public method

public EventManagerOnRequestParcelPrimCountUpdate ( ) : void
return void

EventManagerOnSetAllowedForcefulBan() public method

public EventManagerOnSetAllowedForcefulBan ( bool forceful ) : void
forceful bool
return void

EventManagerOnSignificantClientMovement() public method

public EventManagerOnSignificantClientMovement ( ScenePresence avatar ) : void
avatar OpenSim.Region.Framework.Scenes.ScenePresence
return void

EventManagerOnValidateLandBuy() public method

public EventManagerOnValidateLandBuy ( Object o, EventManager e ) : void
o Object
e EventManager
return void

GetLandObject() public method

Get the land object at the specified point
public GetLandObject ( float x_float, float y_float ) : ILandObject
x_float float Value between 0 - 256 on the x axis of the point
y_float float Value between 0 - 256 on the y axis of the point
return ILandObject

GetLandObject() public method

public GetLandObject ( int parcelLocalID ) : ILandObject
parcelLocalID int
return ILandObject

GetLandObject() public method

public GetLandObject ( int x, int y ) : ILandObject
x int
y int
return ILandObject

GetLandObject() public method

public GetLandObject ( int x, int y, bool returnNullIfLandObjectOutsideBounds ) : ILandObject
x int
y int
returnNullIfLandObjectOutsideBounds bool
return ILandObject

GetLandObjectClipedXY() public method

public GetLandObjectClipedXY ( float x, float y ) : ILandObject
x float
y float
return ILandObject

HandleClearCommand() protected method

protected HandleClearCommand ( string module, string args ) : void
module string
args string
return void

HandleShowCommand() protected method

protected HandleShowCommand ( string module, string args ) : void
module string
args string
return void

Initialise() public method

public Initialise ( IConfigSource source ) : void
source IConfigSource
return void

Join() public method

Join 2 land objects together
public Join ( int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id ) : void
start_x int start x of selection area
start_y int start y of selection area
end_x int end x of selection area
end_y int end y of selection area
attempting_user_id UUID UUID of the avatar trying to join the land objects
return void

ParcelsNearPoint() public method

public ParcelsNearPoint ( Vector3 position ) : List
position Vector3
return List

RegionLoaded() public method

public RegionLoaded ( Scene scene ) : void
scene Scene
return void

RegisterCommands() protected method

protected RegisterCommands ( ) : void
return void

RemoveRegion() public method

public RemoveRegion ( Scene scene ) : void
scene Scene
return void

ResetOverMeRecords() public method

public ResetOverMeRecords ( ) : void
return void

ResetSimLandObjects() public method

Resets the sim to the default land object (full sim piece of land owned by the default user)
public ResetSimLandObjects ( ) : void
return void

ReturnObject() public method

public ReturnObject ( SceneObjectGroup obj, IClientAPI client ) : void
obj SceneObjectGroup
client IClientAPI
return void

ReturnObjectsInParcel() public method

public ReturnObjectsInParcel ( int localID, uint returnType, UUID agentIDs, UUID taskIDs, IClientAPI remoteClient ) : void
localID int
returnType uint
agentIDs UUID
taskIDs UUID
remoteClient IClientAPI
return void

SendLandUpdate() public method

public SendLandUpdate ( ScenePresence avatar, ILandObject over ) : void
avatar ScenePresence
over ILandObject
return void

SendOutNearestBanLine() public method

public SendOutNearestBanLine ( IClientAPI client ) : void
client IClientAPI
return void

SendParcelOverlay() public method

Send the parcel overlay blocks to the client. We send the overlay packets around a location and limited by the 'parcelLayerViewDistance'. This number is usually 128 and the code is arranged so it sends all the parcel overlay information for a whole region if the region is legacy sized (256x256). If the region is larger, only the parcel layer information is sent around the point specified. This reduces the problem of parcel layer information blocks increasing exponentially as region size increases.
public SendParcelOverlay ( IClientAPI remote_client ) : void
remote_client IClientAPI The object representing the client
return void

Subdivide() public method

Subdivides a piece of land
public Subdivide ( int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id ) : void
start_x int West Point
start_y int South Point
end_x int East Point
end_y int North Point
attempting_user_id UUID UUID of user who is trying to subdivide
return void

UpdateLandObject() public method

public UpdateLandObject ( int local_id, LandData data ) : void
local_id int
data LandData
return void

UpdateLandProperties() public method

public UpdateLandProperties ( ILandObject land, LandUpdateArgs args, IClientAPI remote_client ) : void
land ILandObject
args LandUpdateArgs
remote_client IClientAPI
return void

removeLandObject() public method

Removes a land object from the list. Will not remove if local_id is still owning an area in landIDList
public removeLandObject ( int local_id ) : void
local_id int Land.localID of the peice of land to remove.
return void

sendClientInitialLandInfo() public method

public sendClientInitialLandInfo ( IClientAPI remoteClient ) : void
remoteClient IClientAPI
return void

setParcelObjectMaxOverride() public method

public setParcelObjectMaxOverride ( overrideParcelMaxPrimCountDelegate overrideDel ) : void
overrideDel overrideParcelMaxPrimCountDelegate
return void

setParcelOtherCleanTime() public method

public setParcelOtherCleanTime ( IClientAPI remoteClient, int localID, int otherCleanTime ) : void
remoteClient IClientAPI
localID int
otherCleanTime int
return void

setSimulatorObjectMaxOverride() public method

public setSimulatorObjectMaxOverride ( overrideSimulatorMaxPrimCountDelegate overrideDel ) : void
overrideDel overrideSimulatorMaxPrimCountDelegate
return void

Property Details

m_Dialog protected_oe property

protected IDialogModule m_Dialog
return IDialogModule

m_groupManager protected_oe property

protected IGroupsModule m_groupManager
return IGroupsModule

m_primCountModule protected_oe property

protected IPrimCountModule m_primCountModule
return IPrimCountModule

m_userManager protected_oe property

protected IUserManagement m_userManager
return IUserManagement