From 2bd03b7c8c3b14ea5e7b709aa9e1a3d63ed67e09 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Sun, 18 May 2008 03:21:22 +0000 Subject: * Group type stuff. Nothing spectacular. two packets, sorta almost semi half tiny amount implemented. --- .../Region/ClientStack/LindenUDP/LLClientView.cs | 55 +++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ClientStack') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index a86941f..fa608a9 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -249,6 +249,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP private ForceReleaseControls handlerForceReleaseControls = null; + private UUIDNameRequest handlerUUIDGroupNameRequest = null; + + private RequestObjectPropertiesFamily handlerObjectGroupRequest = null; + /* Properties */ public LLUUID SecureSessionId @@ -828,12 +832,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP public event UUIDNameRequest OnTeleportHomeRequest; + public event UUIDNameRequest OnUUIDGroupNameRequest; + public event ScriptAnswer OnScriptAnswer; public event RequestPayPrice OnRequestPayPrice; public event AgentSit OnUndo; public event ForceReleaseControls OnForceReleaseControls; + public event RequestObjectPropertiesFamily OnObjectGroupRequest; + public event DetailedEstateDataRequest OnDetailedEstateDataRequest; public event SetEstateFlagsRequest OnSetEstateFlagsRequest; public event SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture; @@ -3044,6 +3052,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP AddLocalPacketHandler(PacketType.MultipleObjectUpdate, MultipleObjUpdate); AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest); AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest); + AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest); + AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest); } private bool HandleMoneyTransferRequest(IClientAPI sender, Packet Pack) @@ -3090,6 +3100,39 @@ namespace OpenSim.Region.ClientStack.LindenUDP } + private bool HandleUUIDGroupNameRequest(IClientAPI sender, Packet Pack) + { + UUIDGroupNameRequestPacket upack = (UUIDGroupNameRequestPacket) Pack; + + for (int i=0;i< upack.UUIDNameBlock.Length; i++) + { + handlerUUIDGroupNameRequest = OnUUIDGroupNameRequest; + if (handlerUUIDGroupNameRequest != null) + { + handlerUUIDGroupNameRequest(upack.UUIDNameBlock[i].ID,this); + } + } + + return true; + } + + public bool HandleObjectGroupRequest(IClientAPI sender, Packet Pack) + { + + ObjectGroupPacket ogpack = (ObjectGroupPacket)Pack; + handlerObjectGroupRequest = OnObjectGroupRequest; + if (handlerObjectGroupRequest != null) + { + for (int i = 0; i < ogpack.ObjectData.Length; i++) + { + handlerObjectGroupRequest(this, ogpack.AgentData.GroupID, ogpack.ObjectData[i].ObjectLocalID, LLUUID.Zero); + } + } + return true; + } + + + private bool HandleViewerEffect(IClientAPI sender, Packet Pack) { ViewerEffectPacket viewer = (ViewerEffectPacket)Pack; @@ -5838,7 +5881,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP OutPacket(Groupupdate, ThrottleOutPacketType.Task); } - + public void SendGroupNameReply(LLUUID groupLLUID, string GroupName) + { + UUIDGroupNameReplyPacket pack = new UUIDGroupNameReplyPacket(); + UUIDGroupNameReplyPacket.UUIDNameBlockBlock[] uidnameblock = new UUIDGroupNameReplyPacket.UUIDNameBlockBlock[1]; + UUIDGroupNameReplyPacket.UUIDNameBlockBlock uidnamebloc = new UUIDGroupNameReplyPacket.UUIDNameBlockBlock(); + uidnamebloc.ID = groupLLUID; + uidnamebloc.GroupName = Helpers.StringToField(GroupName); + uidnameblock[0] = uidnamebloc; + pack.UUIDNameBlock = uidnameblock; + OutPacket(pack, ThrottleOutPacketType.Task); + } public ClientInfo GetClientInfo() { //MainLog.Instance.Verbose("CLIENT", "GetClientInfo BGN"); -- cgit v1.1