aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorAdam Frisby2009-05-12 21:21:33 +0000
committerAdam Frisby2009-05-12 21:21:33 +0000
commit3a28f748d5cb586a5401b9b4d1f2f108af79ace1 (patch)
tree30604d290d5bb0389db40202b0793a9cda586820 /OpenSim/Region/Framework
parent* EventManager's OnNewPresence event now fires correctly again. (diff)
downloadopensim-SC-3a28f748d5cb586a5401b9b4d1f2f108af79ace1.zip
opensim-SC-3a28f748d5cb586a5401b9b4d1f2f108af79ace1.tar.gz
opensim-SC-3a28f748d5cb586a5401b9b4d1f2f108af79ace1.tar.bz2
opensim-SC-3a28f748d5cb586a5401b9b4d1f2f108af79ace1.tar.xz
* Adds ScenePresence.TeleportWithMomentum - same as .Teleport, but preserves velocity.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 8fd4b47..8950942 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1015,6 +1015,24 @@ namespace OpenSim.Region.Framework.Scenes
1015 SendTerseUpdateToAllClients(); 1015 SendTerseUpdateToAllClients();
1016 } 1016 }
1017 1017
1018 public void TeleportWithMomentum(Vector3 pos)
1019 {
1020 bool isFlying = false;
1021 if (m_physicsActor != null)
1022 isFlying = m_physicsActor.Flying;
1023
1024 RemoveFromPhysicalScene();
1025 AbsolutePosition = pos;
1026 AddToPhysicalScene(isFlying);
1027 if (m_appearance != null)
1028 {
1029 if (m_appearance.AvatarHeight > 0)
1030 SetHeight(m_appearance.AvatarHeight);
1031 }
1032
1033 SendTerseUpdateToAllClients();
1034 }
1035
1018 /// <summary> 1036 /// <summary>
1019 /// 1037 ///
1020 /// </summary> 1038 /// </summary>