diff options
author | Justin Clark-Casey (justincc) | 2014-10-08 23:16:01 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-10-08 23:16:01 +0100 |
commit | 458ccd26ff293794541c50ff8280e87e0aff0356 (patch) | |
tree | 758c27d84bd24893d168993793f83368c47a19cc /OpenSim/Region/CoreModules | |
parent | HG Restricted appearance checking code is only called when HG teleporting via... (diff) | |
download | opensim-SC-458ccd26ff293794541c50ff8280e87e0aff0356.zip opensim-SC-458ccd26ff293794541c50ff8280e87e0aff0356.tar.gz opensim-SC-458ccd26ff293794541c50ff8280e87e0aff0356.tar.bz2 opensim-SC-458ccd26ff293794541c50ff8280e87e0aff0356.tar.xz |
Use Scene or IEntityTransferModule directly in HGEntityTransferModule instead of casting or re-obtaining module.
This code originates from when IEntityTransferModule was shared rather than one per region.
Now it's one per region we know that callers are always in the same scene as the module.
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index a0bb146..0c0cdf2 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -294,7 +294,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
294 | logout = success; // flag for later logout from this grid; this is an HG TP | 294 | logout = success; // flag for later logout from this grid; this is an HG TP |
295 | 295 | ||
296 | if (success) | 296 | if (success) |
297 | sp.Scene.EventManager.TriggerTeleportStart(sp.ControllingClient, reg, finalDestination, teleportFlags, logout); | 297 | Scene.EventManager.TriggerTeleportStart(sp.ControllingClient, reg, finalDestination, teleportFlags, logout); |
298 | 298 | ||
299 | return success; | 299 | return success; |
300 | } | 300 | } |
@@ -516,13 +516,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
516 | // Local region? | 516 | // Local region? |
517 | if (info != null) | 517 | if (info != null) |
518 | { | 518 | { |
519 | ((Scene)(remoteClient.Scene)).RequestTeleportLocation(remoteClient, info.RegionHandle, lm.Position, | 519 | Scene.RequestTeleportLocation( |
520 | remoteClient, info.RegionHandle, lm.Position, | ||
520 | Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); | 521 | Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); |
521 | } | 522 | } |
522 | else | 523 | else |
523 | { | 524 | { |
524 | // Foreign region | 525 | // Foreign region |
525 | Scene scene = (Scene)(remoteClient.Scene); | ||
526 | GatekeeperServiceConnector gConn = new GatekeeperServiceConnector(); | 526 | GatekeeperServiceConnector gConn = new GatekeeperServiceConnector(); |
527 | GridRegion gatekeeper = new GridRegion(); | 527 | GridRegion gatekeeper = new GridRegion(); |
528 | gatekeeper.ServerURI = lm.Gatekeeper; | 528 | gatekeeper.ServerURI = lm.Gatekeeper; |
@@ -533,10 +533,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
533 | 533 | ||
534 | if (finalDestination != null) | 534 | if (finalDestination != null) |
535 | { | 535 | { |
536 | ScenePresence sp = scene.GetScenePresence(remoteClient.AgentId); | 536 | ScenePresence sp = Scene.GetScenePresence(remoteClient.AgentId); |
537 | IEntityTransferModule transferMod = scene.RequestModuleInterface<IEntityTransferModule>(); | ||
538 | 537 | ||
539 | if (transferMod != null && sp != null) | 538 | if (sp != null) |
540 | { | 539 | { |
541 | if (message != null) | 540 | if (message != null) |
542 | sp.ControllingClient.SendAgentAlertMessage(message, true); | 541 | sp.ControllingClient.SendAgentAlertMessage(message, true); |
@@ -549,7 +548,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
549 | return; | 548 | return; |
550 | } | 549 | } |
551 | 550 | ||
552 | transferMod.DoTeleport( | 551 | DoTeleport( |
553 | sp, gatekeeper, finalDestination, lm.Position, Vector3.UnitX, | 552 | sp, gatekeeper, finalDestination, lm.Position, Vector3.UnitX, |
554 | (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); | 553 | (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); |
555 | } | 554 | } |
@@ -633,4 +632,4 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
633 | return region; | 632 | return region; |
634 | } | 633 | } |
635 | } | 634 | } |
636 | } | 635 | } \ No newline at end of file |