From ed80c7ae322cf77bbdf10fc1fa2c02da8d16ea68 Mon Sep 17 00:00:00 2001 From: MW Date: Mon, 11 Jun 2007 10:24:24 +0000 Subject: [PATCH] Added AttachObject method to IClientAPI. Added RequestAvatar(LLUUID avatarID) method to world. --- .../Interfaces/IClientAPI.cs | 1 + OpenSim/OpenSim.Region/World/World.cs | 9 +++++++++ .../OpenSim.RegionServer/ClientView.API.cs | 20 +++++++++++++++++++ OpenSim/OpenSim.RegionServer/ClientView.cs | 2 +- 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Common/OpenSim.Framework/Interfaces/IClientAPI.cs b/Common/OpenSim.Framework/Interfaces/IClientAPI.cs index d3dc6d2ad9..8a9b59868f 100644 --- a/Common/OpenSim.Framework/Interfaces/IClientAPI.cs +++ b/Common/OpenSim.Framework/Interfaces/IClientAPI.cs @@ -102,6 +102,7 @@ namespace OpenSim.Framework.Interfaces void InformClientOfNeighbour(ulong neighbourHandle, System.Net.IPAddress neighbourIP, ushort neighbourPort); AgentCircuitData RequestClientInfo(); + void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint); void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID, PrimData primData, LLVector3 pos, LLUUID textureID); void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation); } diff --git a/OpenSim/OpenSim.Region/World/World.cs b/OpenSim/OpenSim.Region/World/World.cs index aad09b3df0..e316e271fb 100644 --- a/OpenSim/OpenSim.Region/World/World.cs +++ b/OpenSim/OpenSim.Region/World/World.cs @@ -591,6 +591,15 @@ namespace OpenSim.Region return result; } + + public Avatar RequestAvatar(LLUUID avatarID) + { + if (this.Avatars.ContainsKey(avatarID)) + { + return Avatars[avatarID]; + } + return null; + } #endregion #region ShutDown diff --git a/OpenSim/OpenSim.RegionServer/ClientView.API.cs b/OpenSim/OpenSim.RegionServer/ClientView.API.cs index fe46fcb8b1..780035cb62 100644 --- a/OpenSim/OpenSim.RegionServer/ClientView.API.cs +++ b/OpenSim/OpenSim.RegionServer/ClientView.API.cs @@ -424,6 +424,26 @@ namespace OpenSim #region Primitive Packet/data Sending Methods + /// + /// + /// + /// + /// + /// + public void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) + { + ObjectAttachPacket attach = new ObjectAttachPacket(); + attach.AgentData.AgentID = this.AgentID; + attach.AgentData.SessionID = this.SessionID; + attach.AgentData.AttachmentPoint = attachPoint; + attach.ObjectData = new ObjectAttachPacket.ObjectDataBlock[1]; + attach.ObjectData[0] = new ObjectAttachPacket.ObjectDataBlock(); + attach.ObjectData[0].ObjectLocalID = localID; + attach.ObjectData[0].Rotation = rotation; + + this.OutPacket(attach); + } + /// /// Sends a full ObjectUpdatePacket to a client to inform it of a new primitive /// or big changes to a existing primitive. diff --git a/OpenSim/OpenSim.RegionServer/ClientView.cs b/OpenSim/OpenSim.RegionServer/ClientView.cs index 809d3cfaab..f9a7fe44a4 100644 --- a/OpenSim/OpenSim.RegionServer/ClientView.cs +++ b/OpenSim/OpenSim.RegionServer/ClientView.cs @@ -69,7 +69,7 @@ namespace OpenSim private AgentAssetUpload UploadAssets; private LLUUID newAssetFolder = LLUUID.Zero; - private bool debug = true; + private bool debug = false; protected IWorld m_world; private Dictionary m_clientThreads; private AssetCache m_assetCache;