OpenMetaverse.AgentManager.Teleport C# (CSharp) Method

Teleport() public method

Teleport agent to another region
This call is blocking
public Teleport ( ulong regionHandle, System.Vector3 position, System.Vector3 lookAt ) : bool
regionHandle ulong handle of region to teleport agent to
position System.Vector3 position in destination sim to teleport to
lookAt System.Vector3 direction in destination sim agent will look at
return bool
        public bool Teleport(ulong regionHandle, Vector3 position, Vector3 lookAt)
        {
            if (Client.Network.CurrentSim == null ||
                Client.Network.CurrentSim.Caps == null ||
                !Client.Network.CurrentSim.Caps.IsEventQueueRunning)
            {
                // Wait a bit to see if the event queue comes online
                AutoResetEvent queueEvent = new AutoResetEvent(false);
                NetworkManager.EventQueueRunningCallback queueCallback =
                    delegate(Simulator simulator)
                    {
                        if (simulator == Client.Network.CurrentSim)
                            queueEvent.Set();
                    };

                Client.Network.OnEventQueueRunning += queueCallback;
                queueEvent.WaitOne(10 * 1000, false);
                Client.Network.OnEventQueueRunning -= queueCallback;
            }

            teleportStat = TeleportStatus.None;
            teleportEvent.Reset();

            RequestTeleport(regionHandle, position, lookAt);

            teleportEvent.WaitOne(Client.Settings.TELEPORT_TIMEOUT, false);

            if (teleportStat == TeleportStatus.None ||
                teleportStat == TeleportStatus.Start ||
                teleportStat == TeleportStatus.Progress)
            {
                teleportMessage = "Teleport timed out.";
                teleportStat = TeleportStatus.Failed;
            }

            return (teleportStat == TeleportStatus.Finished);
        }

Same methods

AgentManager::Teleport ( UUID landmark ) : bool
AgentManager::Teleport ( string simName, System.Vector3 position ) : bool
AgentManager::Teleport ( string simName, System.Vector3 position, System.Vector3 lookAt ) : bool
AgentManager::Teleport ( ulong regionHandle, System.Vector3 position ) : bool