C# Class OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule

Inheritance: ISharedRegionModule, IEntityTransferModule
Datei anzeigen Open project: N3X15/VoxelSim Class Usage Examples

Protected Properties

Property Type Description
m_Enabled bool
m_aScene OpenSim.Region.Framework.Scenes.Scene
m_agentsInTransit List

Public Methods

Method Description
AddRegion ( Scene scene ) : void
AgentArrivedAtDestination ( UUID id ) : void
Close ( ) : void
Cross ( SceneObjectGroup grp, System.Vector3 attemptedPosition, bool silent ) : void

Move the given scene object into a new region depending on which region its absolute position has moved into. This method locates the new region handle and offsets the prim position for the new region

Cross ( ScenePresence agent, bool isFlying ) : void
EnableChildAgent ( ScenePresence sp, GridRegion region ) : void

This informs a single neighboring region about agent "avatar". Calls an asynchronous method to do so.. so it doesn't lag the sim.

EnableChildAgents ( ScenePresence sp ) : void

This informs all neighboring regions about agent "avatar". Calls an asynchronous method to do so.. so it doesn't lag the sim.

InformClientToInitiateTeleportToLocationAsync ( ScenePresence agent, uint regionX, uint regionY, System.Vector3 position, Scene initiatingScene ) : void
Initialise ( IConfigSource source ) : void
PostInitialise ( ) : void
RegionLoaded ( Scene scene ) : void
RemoveRegion ( Scene scene ) : void
Teleport ( ScenePresence sp, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
TeleportHome ( UUID id, IClientAPI client ) : void

Protected Methods

Method Description
AgentHasMovedAway ( UUID sessionID, bool logout ) : void
CreateAgent ( ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, string &reason, bool &logout ) : bool
CrossAgentToNewRegionAsync ( ScenePresence agent, System.Vector3 pos, uint neighbourx, uint neighboury, bool isFlying ) : ScenePresence

This Closes child agents on neighboring regions Calls an asynchronous method to do so.. so it doesn't lag the sim.

CrossAttachmentsIntoNewRegion ( GridRegion destination, ScenePresence sp, bool silent ) : bool
CrossPrimGroupIntoNewRegion ( GridRegion destination, SceneObjectGroup grp, bool silent ) : bool

Move the given scene object into a new region

DoTeleport ( ScenePresence sp, GridRegion reg, GridRegion finalDestination, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags, IEventQueue eq ) : void
GetFinalDestination ( GridRegion region ) : GridRegion
IsOutsideRegion ( Scene s, System.Vector3 pos ) : bool
KillEntity ( Scene scene, uint localID ) : void
NeedsClosing ( uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY, GridRegion reg ) : bool
NeedsNewAgent ( uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY ) : bool
OnNewClient ( IClientAPI client ) : void
RequestNeighbours ( Scene pScene, uint pRegionLocX, uint pRegionLocY ) : List
ResetFromTransit ( UUID id ) : bool
SetCallbackURL ( AgentData agent, RegionInfo region ) : void
SetInTransit ( UUID id ) : void
UpdateAgent ( GridRegion reg, GridRegion finalDestination, AgentData agent ) : bool
WaitForCallback ( UUID id ) : bool

Private Methods

Method Description
CrossAgentToNewRegionCompleted ( IAsyncResult iar ) : void
Fail ( ScenePresence sp, GridRegion finalDestination ) : void
InformClientOfNeighbourAsync ( ScenePresence sp, AgentCircuitData a, GridRegion reg, IPEndPoint endPoint, bool newAgent ) : void

Async component for informing client of which neighbours exist

This needs to run asynchronously, as a network timeout may block the thread for a long while

InformClientOfNeighbourCompleted ( IAsyncResult iar ) : void
InformClientToInitateTeleportToLocation ( ScenePresence agent, uint regionX, uint regionY, System.Vector3 position, Scene initiatingScene ) : void
InformClientToInitiateTeleportToLocationCompleted ( IAsyncResult iar ) : void
NeighbourHandles ( List neighbours ) : List
NewNeighbours ( List currentNeighbours, List previousNeighbours ) : List
OldNeighbours ( List currentNeighbours, List previousNeighbours ) : List

Method Details

AddRegion() public method

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

AgentArrivedAtDestination() public method

public AgentArrivedAtDestination ( UUID id ) : void
id UUID
return void

AgentHasMovedAway() protected method

protected AgentHasMovedAway ( UUID sessionID, bool logout ) : void
sessionID UUID
logout bool
return void

Close() public method

public Close ( ) : void
return void

CreateAgent() protected method

protected CreateAgent ( ScenePresence sp, GridRegion reg, GridRegion finalDestination, AgentCircuitData agentCircuit, uint teleportFlags, string &reason, bool &logout ) : bool
sp OpenSim.Region.Framework.Scenes.ScenePresence
reg OpenSim.Services.Interfaces.GridRegion
finalDestination OpenSim.Services.Interfaces.GridRegion
agentCircuit OpenSim.Framework.AgentCircuitData
teleportFlags uint
reason string
logout bool
return bool

Cross() public method

Move the given scene object into a new region depending on which region its absolute position has moved into. This method locates the new region handle and offsets the prim position for the new region
public Cross ( SceneObjectGroup grp, System.Vector3 attemptedPosition, bool silent ) : void
grp OpenSim.Region.Framework.Scenes.SceneObjectGroup the scene object that we're crossing
attemptedPosition System.Vector3 the attempted out of region position of the scene object
silent bool
return void

Cross() public method

public Cross ( ScenePresence agent, bool isFlying ) : void
agent OpenSim.Region.Framework.Scenes.ScenePresence
isFlying bool
return void

CrossAgentToNewRegionAsync() protected method

This Closes child agents on neighboring regions Calls an asynchronous method to do so.. so it doesn't lag the sim.
protected CrossAgentToNewRegionAsync ( ScenePresence agent, System.Vector3 pos, uint neighbourx, uint neighboury, bool isFlying ) : ScenePresence
agent OpenSim.Region.Framework.Scenes.ScenePresence
pos System.Vector3
neighbourx uint
neighboury uint
isFlying bool
return OpenSim.Region.Framework.Scenes.ScenePresence

CrossAttachmentsIntoNewRegion() protected method

protected CrossAttachmentsIntoNewRegion ( GridRegion destination, ScenePresence sp, bool silent ) : bool
destination OpenSim.Services.Interfaces.GridRegion
sp OpenSim.Region.Framework.Scenes.ScenePresence
silent bool
return bool

CrossPrimGroupIntoNewRegion() protected method

Move the given scene object into a new region
protected CrossPrimGroupIntoNewRegion ( GridRegion destination, SceneObjectGroup grp, bool silent ) : bool
destination OpenSim.Services.Interfaces.GridRegion
grp OpenSim.Region.Framework.Scenes.SceneObjectGroup Scene Object Group that we're crossing
silent bool
return bool

DoTeleport() protected method

protected DoTeleport ( ScenePresence sp, GridRegion reg, GridRegion finalDestination, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags, IEventQueue eq ) : void
sp OpenSim.Region.Framework.Scenes.ScenePresence
reg OpenSim.Services.Interfaces.GridRegion
finalDestination OpenSim.Services.Interfaces.GridRegion
position System.Vector3
lookAt System.Vector3
teleportFlags uint
eq IEventQueue
return void

EnableChildAgent() public method

This informs a single neighboring region about agent "avatar". Calls an asynchronous method to do so.. so it doesn't lag the sim.
public EnableChildAgent ( ScenePresence sp, GridRegion region ) : void
sp OpenSim.Region.Framework.Scenes.ScenePresence
region OpenSim.Services.Interfaces.GridRegion
return void

EnableChildAgents() public method

This informs all neighboring regions about agent "avatar". Calls an asynchronous method to do so.. so it doesn't lag the sim.
public EnableChildAgents ( ScenePresence sp ) : void
sp OpenSim.Region.Framework.Scenes.ScenePresence
return void

GetFinalDestination() protected method

protected GetFinalDestination ( GridRegion region ) : GridRegion
region OpenSim.Services.Interfaces.GridRegion
return OpenSim.Services.Interfaces.GridRegion

InformClientToInitiateTeleportToLocationAsync() public method

public InformClientToInitiateTeleportToLocationAsync ( ScenePresence agent, uint regionX, uint regionY, System.Vector3 position, Scene initiatingScene ) : void
agent OpenSim.Region.Framework.Scenes.ScenePresence
regionX uint
regionY uint
position System.Vector3
initiatingScene OpenSim.Region.Framework.Scenes.Scene
return void

Initialise() public method

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

IsOutsideRegion() protected method

protected IsOutsideRegion ( Scene s, System.Vector3 pos ) : bool
s OpenSim.Region.Framework.Scenes.Scene
pos System.Vector3
return bool

KillEntity() protected method

protected KillEntity ( Scene scene, uint localID ) : void
scene OpenSim.Region.Framework.Scenes.Scene
localID uint
return void

NeedsClosing() protected method

protected NeedsClosing ( uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY, GridRegion reg ) : bool
oldRegionX uint
newRegionX uint
oldRegionY uint
newRegionY uint
reg OpenSim.Services.Interfaces.GridRegion
return bool

NeedsNewAgent() protected method

protected NeedsNewAgent ( uint oldRegionX, uint newRegionX, uint oldRegionY, uint newRegionY ) : bool
oldRegionX uint
newRegionX uint
oldRegionY uint
newRegionY uint
return bool

OnNewClient() protected method

protected OnNewClient ( IClientAPI client ) : void
client IClientAPI
return void

PostInitialise() public method

public PostInitialise ( ) : void
return void

RegionLoaded() public method

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

RemoveRegion() public method

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

RequestNeighbours() protected method

protected RequestNeighbours ( Scene pScene, uint pRegionLocX, uint pRegionLocY ) : List
pScene OpenSim.Region.Framework.Scenes.Scene
pRegionLocX uint
pRegionLocY uint
return List

ResetFromTransit() protected method

protected ResetFromTransit ( UUID id ) : bool
id UUID
return bool

SetCallbackURL() protected method

protected SetCallbackURL ( AgentData agent, RegionInfo region ) : void
agent OpenSim.Framework.AgentData
region OpenSim.Framework.RegionInfo
return void

SetInTransit() protected method

protected SetInTransit ( UUID id ) : void
id UUID
return void

Teleport() public method

public Teleport ( ScenePresence sp, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
sp OpenSim.Region.Framework.Scenes.ScenePresence
regionHandle ulong
position System.Vector3
lookAt System.Vector3
teleportFlags uint
return void

TeleportHome() public method

public TeleportHome ( UUID id, IClientAPI client ) : void
id UUID
client IClientAPI
return void

UpdateAgent() protected method

protected UpdateAgent ( GridRegion reg, GridRegion finalDestination, AgentData agent ) : bool
reg OpenSim.Services.Interfaces.GridRegion
finalDestination OpenSim.Services.Interfaces.GridRegion
agent OpenSim.Framework.AgentData
return bool

WaitForCallback() protected method

protected WaitForCallback ( UUID id ) : bool
id UUID
return bool

Property Details

m_Enabled protected_oe property

protected bool m_Enabled
return bool

m_aScene protected_oe property

protected Scene,OpenSim.Region.Framework.Scenes m_aScene
return OpenSim.Region.Framework.Scenes.Scene

m_agentsInTransit protected_oe property

protected List m_agentsInTransit
return List