diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index bb491a1..4a36b5d 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -231,7 +231,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
231 | public event ScriptReset OnScriptReset; | 231 | public event ScriptReset OnScriptReset; |
232 | public event GetScriptRunning OnGetScriptRunning; | 232 | public event GetScriptRunning OnGetScriptRunning; |
233 | public event SetScriptRunning OnSetScriptRunning; | 233 | public event SetScriptRunning OnSetScriptRunning; |
234 | public event UpdateVector OnAutoPilotGo; | 234 | public event Action<Vector3> OnAutoPilotGo; |
235 | public event TerrainUnacked OnUnackedTerrain; | 235 | public event TerrainUnacked OnUnackedTerrain; |
236 | public event ActivateGesture OnActivateGesture; | 236 | public event ActivateGesture OnActivateGesture; |
237 | public event DeactivateGesture OnDeactivateGesture; | 237 | public event DeactivateGesture OnDeactivateGesture; |
@@ -11617,36 +11617,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
11617 | 11617 | ||
11618 | protected void HandleAutopilot(Object sender, string method, List<String> args) | 11618 | protected void HandleAutopilot(Object sender, string method, List<String> args) |
11619 | { | 11619 | { |
11620 | try | 11620 | float locx = 0; |
11621 | { | 11621 | float locy = 0; |
11622 | float locx = 0f; | 11622 | float locz = 0; |
11623 | float locy = 0f; | 11623 | uint regionX = 0; |
11624 | float locz = 0f; | 11624 | uint regionY = 0; |
11625 | uint regionX = 0; | ||
11626 | uint regionY = 0; | ||
11627 | try | ||
11628 | { | ||
11629 | Utils.LongToUInts(m_scene.RegionInfo.RegionHandle, out regionX, out regionY); | ||
11630 | locx = Convert.ToSingle(args[0]) - (float)regionX; | ||
11631 | locy = Convert.ToSingle(args[1]) - (float)regionY; | ||
11632 | locz = Convert.ToSingle(args[2]); | ||
11633 | } | ||
11634 | catch (InvalidCastException) | ||
11635 | { | ||
11636 | m_log.Error("[CLIENT]: Invalid autopilot request"); | ||
11637 | return; | ||
11638 | } | ||
11639 | 11625 | ||
11640 | UpdateVector handlerAutoPilotGo = OnAutoPilotGo; | 11626 | Utils.LongToUInts(m_scene.RegionInfo.RegionHandle, out regionX, out regionY); |
11641 | if (handlerAutoPilotGo != null) | 11627 | locx = Convert.ToSingle(args[0]) - (float)regionX; |
11642 | { | 11628 | locy = Convert.ToSingle(args[1]) - (float)regionY; |
11643 | handlerAutoPilotGo(0, new Vector3(locx, locy, locz), this); | 11629 | locz = Convert.ToSingle(args[2]); |
11644 | } | 11630 | |
11645 | } | 11631 | Action<Vector3> handlerAutoPilotGo = OnAutoPilotGo; |
11646 | catch (Exception e) | 11632 | if (handlerAutoPilotGo != null) |
11647 | { | 11633 | handlerAutoPilotGo(new Vector3(locx, locy, locz)); |
11648 | m_log.ErrorFormat("[LLCLIENTVIEW]: HandleAutopilot exception {0} {1}", e.Message, e.StackTrace); | ||
11649 | } | ||
11650 | } | 11634 | } |
11651 | 11635 | ||
11652 | /// <summary> | 11636 | /// <summary> |