aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-10-08 23:16:01 +0100
committerJustin Clark-Casey (justincc)2014-10-08 23:16:01 +0100
commit458ccd26ff293794541c50ff8280e87e0aff0356 (patch)
tree758c27d84bd24893d168993793f83368c47a19cc /OpenSim/Region/CoreModules
parentHG Restricted appearance checking code is only called when HG teleporting via... (diff)
downloadopensim-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.cs15
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