C# 클래스 OpenSim.Region.CoreModules.World.Land.LandManagementModule

상속: INonSharedRegionModule
파일 보기 프로젝트 열기: nebadon2025/opensimulator 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
m_Dialog IDialogModule
m_groupManager IGroupsModule
m_primCountModule IPrimCountModule
m_userManager IUserManagement

Private Properties

프로퍼티 타입 설명
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

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
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

비공개 메소드들

메소드 설명
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

메소드 상세

AddLandObject() 공개 메소드

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
리턴 ILandObject

AddRegion() 공개 메소드

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

AllParcels() 공개 메소드

public AllParcels ( ) : List
리턴 List

Clear() 공개 메소드

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

ClientOnParcelAbandonRequest() 공개 메소드

public ClientOnParcelAbandonRequest ( int local_id, IClientAPI remote_client ) : void
local_id int
remote_client IClientAPI
리턴 void

ClientOnParcelAccessListRequest() 공개 메소드

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
리턴 void

ClientOnParcelAccessListUpdateRequest() 공개 메소드

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
리턴 void

ClientOnParcelDivideRequest() 공개 메소드

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
리턴 void

ClientOnParcelEjectUser() 공개 메소드

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

ClientOnParcelFreezeUser() 공개 메소드

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

ClientOnParcelGodForceOwner() 공개 메소드

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

ClientOnParcelGodMark() 공개 메소드

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

ClientOnParcelJoinRequest() 공개 메소드

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
리턴 void

ClientOnParcelObjectOwnerRequest() 공개 메소드

public ClientOnParcelObjectOwnerRequest ( int local_id, IClientAPI remote_client ) : void
local_id int
remote_client IClientAPI
리턴 void

ClientOnParcelPropertiesRequest() 공개 메소드

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
리턴 void

ClientOnParcelPropertiesUpdateRequest() 공개 메소드

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

ClientOnParcelReclaim() 공개 메소드

public ClientOnParcelReclaim ( int local_id, IClientAPI remote_client ) : void
local_id int
remote_client IClientAPI
리턴 void

ClientOnParcelSelectObjects() 공개 메소드

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
리턴 void

ClientOnSetHome() 공개 메소드

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
리턴 void

Close() 공개 메소드

public Close ( ) : void
리턴 void

CreateDefaultParcel() 보호된 메소드

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

EnforceBans() 공개 메소드

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

EventMakeChildAgent() 공개 메소드

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

EventManagerOnAvatarEnteringNewParcel() 공개 메소드

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

EventManagerOnClientMovement() 공개 메소드

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

EventManagerOnLandBuy() 공개 메소드

public EventManagerOnLandBuy ( Object o, EventManager e ) : void
o Object
e EventManager
리턴 void

EventManagerOnNoLandDataFromStorage() 공개 메소드

public EventManagerOnNoLandDataFromStorage ( ) : void
리턴 void

EventManagerOnObjectBeingRemovedFromScene() 공개 메소드

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

EventManagerOnParcelPrimCountAdd() 공개 메소드

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

EventManagerOnParcelPrimCountUpdate() 공개 메소드

public EventManagerOnParcelPrimCountUpdate ( ) : void
리턴 void

EventManagerOnRequestParcelPrimCountUpdate() 공개 메소드

public EventManagerOnRequestParcelPrimCountUpdate ( ) : void
리턴 void

EventManagerOnSetAllowedForcefulBan() 공개 메소드

public EventManagerOnSetAllowedForcefulBan ( bool forceful ) : void
forceful bool
리턴 void

EventManagerOnSignificantClientMovement() 공개 메소드

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

EventManagerOnValidateLandBuy() 공개 메소드

public EventManagerOnValidateLandBuy ( Object o, EventManager e ) : void
o Object
e EventManager
리턴 void

GetLandObject() 공개 메소드

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
리턴 ILandObject

GetLandObject() 공개 메소드

public GetLandObject ( int parcelLocalID ) : ILandObject
parcelLocalID int
리턴 ILandObject

GetLandObject() 공개 메소드

public GetLandObject ( int x, int y ) : ILandObject
x int
y int
리턴 ILandObject

GetLandObject() 공개 메소드

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

GetLandObjectClipedXY() 공개 메소드

public GetLandObjectClipedXY ( float x, float y ) : ILandObject
x float
y float
리턴 ILandObject

HandleClearCommand() 보호된 메소드

protected HandleClearCommand ( string module, string args ) : void
module string
args string
리턴 void

HandleShowCommand() 보호된 메소드

protected HandleShowCommand ( string module, string args ) : void
module string
args string
리턴 void

Initialise() 공개 메소드

public Initialise ( IConfigSource source ) : void
source IConfigSource
리턴 void

Join() 공개 메소드

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
리턴 void

ParcelsNearPoint() 공개 메소드

public ParcelsNearPoint ( Vector3 position ) : List
position Vector3
리턴 List

RegionLoaded() 공개 메소드

public RegionLoaded ( Scene scene ) : void
scene Scene
리턴 void

RegisterCommands() 보호된 메소드

protected RegisterCommands ( ) : void
리턴 void

RemoveRegion() 공개 메소드

public RemoveRegion ( Scene scene ) : void
scene Scene
리턴 void

ResetOverMeRecords() 공개 메소드

public ResetOverMeRecords ( ) : void
리턴 void

ResetSimLandObjects() 공개 메소드

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

ReturnObject() 공개 메소드

public ReturnObject ( SceneObjectGroup obj, IClientAPI client ) : void
obj SceneObjectGroup
client IClientAPI
리턴 void

ReturnObjectsInParcel() 공개 메소드

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

SendLandUpdate() 공개 메소드

public SendLandUpdate ( ScenePresence avatar, ILandObject over ) : void
avatar ScenePresence
over ILandObject
리턴 void

SendOutNearestBanLine() 공개 메소드

public SendOutNearestBanLine ( IClientAPI client ) : void
client IClientAPI
리턴 void

SendParcelOverlay() 공개 메소드

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
리턴 void

Subdivide() 공개 메소드

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
리턴 void

UpdateLandObject() 공개 메소드

public UpdateLandObject ( int local_id, LandData data ) : void
local_id int
data LandData
리턴 void

UpdateLandProperties() 공개 메소드

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

removeLandObject() 공개 메소드

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.
리턴 void

sendClientInitialLandInfo() 공개 메소드

public sendClientInitialLandInfo ( IClientAPI remoteClient ) : void
remoteClient IClientAPI
리턴 void

setParcelObjectMaxOverride() 공개 메소드

public setParcelObjectMaxOverride ( overrideParcelMaxPrimCountDelegate overrideDel ) : void
overrideDel overrideParcelMaxPrimCountDelegate
리턴 void

setParcelOtherCleanTime() 공개 메소드

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

setSimulatorObjectMaxOverride() 공개 메소드

public setSimulatorObjectMaxOverride ( overrideSimulatorMaxPrimCountDelegate overrideDel ) : void
overrideDel overrideSimulatorMaxPrimCountDelegate
리턴 void

프로퍼티 상세

m_Dialog 보호되어 있는 프로퍼티

protected IDialogModule m_Dialog
리턴 IDialogModule

m_groupManager 보호되어 있는 프로퍼티

protected IGroupsModule m_groupManager
리턴 IGroupsModule

m_primCountModule 보호되어 있는 프로퍼티

protected IPrimCountModule m_primCountModule
리턴 IPrimCountModule

m_userManager 보호되어 있는 프로퍼티

protected IUserManagement m_userManager
리턴 IUserManagement