C# 클래스 Universe.Modules.EntityTransfer.EntityTransferModule

상속: INonSharedRegionModule, IEntityTransferModule
파일 보기 프로젝트 열기: Virtual-Universe/Virtual-Universe

보호된 프로퍼티들

프로퍼티 타입 설명
m_Enabled bool
m_scene IScene

공개 메소드들

메소드 설명
AddRegion ( IScene scene ) : void
AddSceneObject ( IScene scene, ISceneEntity sceneObject ) : bool

Adds a Scene Object group to the Scene. Verifies that the creator of the object is not banned from the simulator. Checks if the item is an Attachment

CancelTeleport ( UUID AgentID, UUID RegionID ) : void
ClientTeleportHome ( UUID id, IClientAPI client ) : void
Close ( ) : void
Cross ( IScenePresence agent, bool isFlying, GridRegion crossingRegion ) : void
CrossGroupToNewRegion ( ISceneEntity grp, System.Vector3 attemptedPosition, GridRegion destination ) : bool

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

DoTeleport ( IScenePresence sp, GridRegion finalDestination, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
FailedToTeleportAgent ( GridRegion failedCrossingRegion, UUID agentID, string reason, bool isCrossing ) : void
IncomingChildAgentDataUpdate ( IScene scene, AgentData cAgentData ) : bool

We've got an update about an agent that sees into this region, send it to ScenePresence for processing It's the full data.

IncomingChildAgentDataUpdate ( IScene scene, AgentPosition cAgentData ) : bool

We've got an update about an agent that sees into this region, send it to ScenePresence for processing It's only positional data

IncomingCloseAgent ( IScene scene, UUID agentID ) : bool

Tell a single agent to disconnect from the region.

IncomingCreateObject ( UUID regionID, ISceneEntity sog ) : bool

Called when objects or attachments cross the border, or teleport, between regions.

IncomingRetrieveRootAgent ( IScene scene, UUID id, bool agentIsLeaving, AgentData &agent, AgentCircuitData &circuitData ) : bool
Initialize ( IConfigSource source ) : void
InternalCross ( IScenePresence agent, System.Vector3 attemptedPos, bool isFlying, GridRegion crossingRegion ) : void
MakeChildAgent ( IScenePresence sp, GridRegion finalDestination, bool isCrossing ) : void
NewUserConnection ( IScene scene, AgentCircuitData agent, uint teleportFlags, CreateAgentResponse &response ) : bool

Do the work necessary to initiate a new user connection for a particular scene. At the moment, this consists of setting up the caps infrastructure The return bool should allow for connections to be refused, but as not all calling paths take proper notice of it let, we allowed banned users in still.

RegionLoaded ( IScene scene ) : void
RemoveRegion ( IScene scene ) : void
RequestTeleportCancel ( IClientAPI client ) : void
RequestTeleportLandmark ( IClientAPI remoteClient, UUID regionID, System.Vector3 position ) : void

Tries to teleport agent to landmark.

RequestTeleportLocation ( IClientAPI remoteClient, GridRegion reg, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void

Tries to teleport agent to other region.

RequestTeleportLocation ( IClientAPI remoteClient, string regionName, System.Vector3 position, System.Vector3 lookat, uint teleportFlags ) : void

Tries to teleport agent to other region.

RequestTeleportLocation ( IClientAPI remoteClient, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void

Tries to teleport agent to other region.

Teleport ( IScenePresence sp, GridRegion finalDestination, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
Teleport ( IScenePresence sp, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
TeleportHome ( UUID id, IClientAPI client ) : bool

보호된 메소드들

메소드 설명
AuthorizeUser ( IScene scene, AgentCircuitData agent, string &reason ) : bool

Verify if the user can connect to this region. Checks the banlist and ensures that the region is set for public access

CacheUserInfo ( IScene scene, CachedUserInfo cache ) : void
CrossPrimGroupIntoNewRegion ( GridRegion destination, ISceneEntity grp, System.Vector3 attemptedPos ) : bool

Move the given scene object into a new region

EventManager_OnNewPresence ( IScenePresence sp ) : void
KillAttachments ( IScenePresence agent ) : void
KillEntities ( IScenePresence sp, IEntity grp ) : void
KillEntity ( IScene scene, IEntity entity ) : void
OnClosingClient ( IClientAPI client ) : void
OnNewClient ( IClientAPI client ) : void

비공개 메소드들

메소드 설명
BuildCircuitDataForPresence ( IScenePresence sp, System.Vector3 position ) : AgentCircuitData

메소드 상세

AddRegion() 공개 메소드

public AddRegion ( IScene scene ) : void
scene IScene
리턴 void

AddSceneObject() 공개 메소드

Adds a Scene Object group to the Scene. Verifies that the creator of the object is not banned from the simulator. Checks if the item is an Attachment
public AddSceneObject ( IScene scene, ISceneEntity sceneObject ) : bool
scene IScene
sceneObject ISceneEntity
리턴 bool

AuthorizeUser() 보호된 메소드

Verify if the user can connect to this region. Checks the banlist and ensures that the region is set for public access
protected AuthorizeUser ( IScene scene, AgentCircuitData agent, string &reason ) : bool
scene IScene
agent Universe.Framework.PresenceInfo.AgentCircuitData The circuit data for the agent
reason string outputs the reason to this string
리턴 bool

CacheUserInfo() 보호된 메소드

protected CacheUserInfo ( IScene scene, CachedUserInfo cache ) : void
scene IScene
cache Universe.Framework.Services.CachedUserInfo
리턴 void

CancelTeleport() 공개 메소드

public CancelTeleport ( UUID AgentID, UUID RegionID ) : void
AgentID UUID
RegionID UUID
리턴 void

ClientTeleportHome() 공개 메소드

public ClientTeleportHome ( UUID id, IClientAPI client ) : void
id UUID
client IClientAPI
리턴 void

Close() 공개 메소드

public Close ( ) : void
리턴 void

Cross() 공개 메소드

public Cross ( IScenePresence agent, bool isFlying, GridRegion crossingRegion ) : void
agent IScenePresence
isFlying bool
crossingRegion Universe.Framework.Services.GridRegion
리턴 void

CrossGroupToNewRegion() 공개 메소드

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 CrossGroupToNewRegion ( ISceneEntity grp, System.Vector3 attemptedPosition, GridRegion destination ) : bool
grp ISceneEntity the scene object that we're crossing
attemptedPosition System.Vector3 the attempted out of region position of the scene object
destination Universe.Framework.Services.GridRegion
리턴 bool

CrossPrimGroupIntoNewRegion() 보호된 메소드

Move the given scene object into a new region
protected CrossPrimGroupIntoNewRegion ( GridRegion destination, ISceneEntity grp, System.Vector3 attemptedPos ) : bool
destination Universe.Framework.Services.GridRegion
grp ISceneEntity Scene Object Group that we're crossing
attemptedPos System.Vector3
리턴 bool

DoTeleport() 공개 메소드

public DoTeleport ( IScenePresence sp, GridRegion finalDestination, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
sp IScenePresence
finalDestination Universe.Framework.Services.GridRegion
position System.Vector3
lookAt System.Vector3
teleportFlags uint
리턴 void

EventManager_OnNewPresence() 보호된 메소드

protected EventManager_OnNewPresence ( IScenePresence sp ) : void
sp IScenePresence
리턴 void

FailedToTeleportAgent() 공개 메소드

public FailedToTeleportAgent ( GridRegion failedCrossingRegion, UUID agentID, string reason, bool isCrossing ) : void
failedCrossingRegion Universe.Framework.Services.GridRegion
agentID UUID
reason string
isCrossing bool
리턴 void

IncomingChildAgentDataUpdate() 공개 메소드

We've got an update about an agent that sees into this region, send it to ScenePresence for processing It's the full data.
public IncomingChildAgentDataUpdate ( IScene scene, AgentData cAgentData ) : bool
scene IScene
cAgentData Universe.Framework.ClientInterfaces.AgentData /// Agent that contains all of the relevant things about an agent. /// Appearance, animations, position, etc. ///
리턴 bool

IncomingChildAgentDataUpdate() 공개 메소드

We've got an update about an agent that sees into this region, send it to ScenePresence for processing It's only positional data
public IncomingChildAgentDataUpdate ( IScene scene, AgentPosition cAgentData ) : bool
scene IScene
cAgentData Universe.Framework.ClientInterfaces.AgentPosition AgentPosition that contains agent positional data so we can know what to send
리턴 bool

IncomingCloseAgent() 공개 메소드

Tell a single agent to disconnect from the region.
public IncomingCloseAgent ( IScene scene, UUID agentID ) : bool
scene IScene
agentID UUID
리턴 bool

IncomingCreateObject() 공개 메소드

Called when objects or attachments cross the border, or teleport, between regions.
public IncomingCreateObject ( UUID regionID, ISceneEntity sog ) : bool
regionID UUID
sog ISceneEntity
리턴 bool

IncomingRetrieveRootAgent() 공개 메소드

public IncomingRetrieveRootAgent ( IScene scene, UUID id, bool agentIsLeaving, AgentData &agent, AgentCircuitData &circuitData ) : bool
scene IScene
id UUID
agentIsLeaving bool
agent Universe.Framework.ClientInterfaces.AgentData
circuitData Universe.Framework.PresenceInfo.AgentCircuitData
리턴 bool

Initialize() 공개 메소드

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

InternalCross() 공개 메소드

public InternalCross ( IScenePresence agent, System.Vector3 attemptedPos, bool isFlying, GridRegion crossingRegion ) : void
agent IScenePresence
attemptedPos System.Vector3
isFlying bool
crossingRegion Universe.Framework.Services.GridRegion
리턴 void

KillAttachments() 보호된 메소드

protected KillAttachments ( IScenePresence agent ) : void
agent IScenePresence
리턴 void

KillEntities() 보호된 메소드

protected KillEntities ( IScenePresence sp, IEntity grp ) : void
sp IScenePresence
grp IEntity
리턴 void

KillEntity() 보호된 메소드

protected KillEntity ( IScene scene, IEntity entity ) : void
scene IScene
entity IEntity
리턴 void

MakeChildAgent() 공개 메소드

public MakeChildAgent ( IScenePresence sp, GridRegion finalDestination, bool isCrossing ) : void
sp IScenePresence
finalDestination Universe.Framework.Services.GridRegion
isCrossing bool
리턴 void

NewUserConnection() 공개 메소드

Do the work necessary to initiate a new user connection for a particular scene. At the moment, this consists of setting up the caps infrastructure The return bool should allow for connections to be refused, but as not all calling paths take proper notice of it let, we allowed banned users in still.
public NewUserConnection ( IScene scene, AgentCircuitData agent, uint teleportFlags, CreateAgentResponse &response ) : bool
scene IScene
agent Universe.Framework.PresenceInfo.AgentCircuitData CircuitData of the agent who is connecting
teleportFlags uint
response Universe.Framework.Services.CreateAgentResponse /// Outputs the reason for the false response on this string, /// If the agent was accepted, this will be the Caps SEED for the region ///
리턴 bool

OnClosingClient() 보호된 메소드

protected OnClosingClient ( IClientAPI client ) : void
client IClientAPI
리턴 void

OnNewClient() 보호된 메소드

protected OnNewClient ( IClientAPI client ) : void
client IClientAPI
리턴 void

RegionLoaded() 공개 메소드

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

RemoveRegion() 공개 메소드

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

RequestTeleportCancel() 공개 메소드

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

RequestTeleportLandmark() 공개 메소드

Tries to teleport agent to landmark.
public RequestTeleportLandmark ( IClientAPI remoteClient, UUID regionID, System.Vector3 position ) : void
remoteClient IClientAPI
regionID UUID
position System.Vector3
리턴 void

RequestTeleportLocation() 공개 메소드

Tries to teleport agent to other region.
public RequestTeleportLocation ( IClientAPI remoteClient, GridRegion reg, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
remoteClient IClientAPI
reg Universe.Framework.Services.GridRegion
position System.Vector3
lookAt System.Vector3
teleportFlags uint
리턴 void

RequestTeleportLocation() 공개 메소드

Tries to teleport agent to other region.
public RequestTeleportLocation ( IClientAPI remoteClient, string regionName, System.Vector3 position, System.Vector3 lookat, uint teleportFlags ) : void
remoteClient IClientAPI
regionName string
position System.Vector3
lookat System.Vector3
teleportFlags uint
리턴 void

RequestTeleportLocation() 공개 메소드

Tries to teleport agent to other region.
public RequestTeleportLocation ( IClientAPI remoteClient, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
remoteClient IClientAPI
regionHandle ulong
position System.Vector3
lookAt System.Vector3
teleportFlags uint
리턴 void

Teleport() 공개 메소드

public Teleport ( IScenePresence sp, GridRegion finalDestination, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
sp IScenePresence
finalDestination Universe.Framework.Services.GridRegion
position System.Vector3
lookAt System.Vector3
teleportFlags uint
리턴 void

Teleport() 공개 메소드

public Teleport ( IScenePresence sp, ulong regionHandle, System.Vector3 position, System.Vector3 lookAt, uint teleportFlags ) : void
sp IScenePresence
regionHandle ulong
position System.Vector3
lookAt System.Vector3
teleportFlags uint
리턴 void

TeleportHome() 공개 메소드

public TeleportHome ( UUID id, IClientAPI client ) : bool
id UUID
client IClientAPI
리턴 bool

프로퍼티 상세

m_Enabled 보호되어 있는 프로퍼티

protected bool m_Enabled
리턴 bool

m_scene 보호되어 있는 프로퍼티

protected IScene m_scene
리턴 IScene