From 008e1fe8df1862a8a3a8edfaf39d4cd9f57ad52b Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 14 Dec 2008 05:49:07 +0000 Subject: [PATCH] Plumb the TP-Sending packets --- OpenSim/Framework/IClientAPI.cs | 6 ++++ .../ClientStack/LindenUDP/LLClientView.cs | 28 +++++++++++++++++++ .../Modules/World/NPC/NPCAvatar.cs | 3 ++ .../Examples/SimpleModule/MyNpcCharacter.cs | 2 ++ OpenSim/Tests/Common/Mock/TestClient.cs | 3 ++ 5 files changed, 42 insertions(+) diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 8a3c4b6c59..751a2a5ace 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -411,6 +411,9 @@ namespace OpenSim.Framework public delegate void SoundTrigger(UUID soundId,UUID ownerid,UUID objid, UUID parentid,float Gain, Vector3 Position,UInt64 Handle); + public delegate void StartLure(byte lureType, string message, UUID targetID, IClientAPI client); + public delegate void TeleportLureRequest(UUID lureID, uint teleportFlags, IClientAPI client); + #endregion public struct DirPlacesReplyData @@ -717,6 +720,9 @@ namespace OpenSim.Framework event DeclineCallingCard OnDeclineCallingCard; event SoundTrigger OnSoundTrigger; + event StartLure OnStartLure; + event TeleportLureRequest OnTeleportLureRequest; + // void ActivateGesture(UUID assetId, UUID gestureId); /// diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 08029528e4..8b20946c19 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -269,6 +269,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP private MapItemRequest handlerMapItemRequest; + private StartLure handlerStartLure; + private TeleportLureRequest handlerTeleportLureRequest; + private readonly IGroupsModule m_GroupsModule; //private TerrainUnacked handlerUnackedTerrain = null; @@ -1011,6 +1014,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP public event DeclineCallingCard OnDeclineCallingCard; public event SoundTrigger OnSoundTrigger; + public event StartLure OnStartLure; + public event TeleportLureRequest OnTeleportLureRequest; public void ActivateGesture(UUID assetId, UUID gestureId) @@ -7168,6 +7173,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP } } break; + case PacketType.StartLure: + StartLurePacket startLureRequest = (StartLurePacket)Pack; + handlerStartLure = OnStartLure; + if (handlerStartLure != null) + handlerStartLure(startLureRequest.Info.LureType, + Utils.BytesToString( + startLureRequest.Info.Message), + startLureRequest.TargetData[0].TargetID, + this); + break; + + case PacketType.TeleportLureRequest: + TeleportLureRequestPacket teleportLureRequest = + (TeleportLureRequestPacket)Pack; + + handlerTeleportLureRequest = OnTeleportLureRequest; + if (handlerTeleportLureRequest != null) + handlerTeleportLureRequest( + teleportLureRequest.Info.LureID, + teleportLureRequest.Info.TeleportFlags, + this); + break; + default: m_log.Warn("[CLIENT]: unhandled packet " + Pack); break; diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index fb1d1ff7fc..66662a02a2 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs @@ -342,6 +342,9 @@ namespace OpenSim.Region.Environment.Modules.World.NPC public event DeclineCallingCard OnDeclineCallingCard; public event SoundTrigger OnSoundTrigger; + public event StartLure OnStartLure; + public event TeleportLureRequest OnTeleportLureRequest; + #pragma warning restore 67 diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 5a5d0e2a25..35b5233a99 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs @@ -237,6 +237,8 @@ namespace OpenSim.Region.Examples.SimpleModule public event DeclineCallingCard OnDeclineCallingCard; public event SoundTrigger OnSoundTrigger; + public event StartLure OnStartLure; + public event TeleportLureRequest OnTeleportLureRequest; #pragma warning restore 67 diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index 9b44ac4588..1bcf829ab3 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs @@ -233,6 +233,9 @@ namespace OpenSim.Tests.Common.Mock public event SoundTrigger OnSoundTrigger; + public event StartLure OnStartLure; + public event TeleportLureRequest OnTeleportLureRequest; + #pragma warning restore 67 ///