private void PlacesReplyHandler(Packet packet, Simulator simulator) { if (OnPlacesReply != null) { PlacesReplyPacket placesReply = packet as PlacesReplyPacket; List <PlacesSearchData> places = new List <PlacesSearchData>(); foreach (PlacesReplyPacket.QueryDataBlock block in placesReply.QueryData) { PlacesSearchData place = new PlacesSearchData(); place.OwnerID = block.OwnerID; place.Name = Helpers.FieldToUTF8String(block.Name); place.Desc = Helpers.FieldToUTF8String(block.Desc); place.ActualArea = block.ActualArea; place.BillableArea = block.BillableArea; place.Flags = block.Flags; place.GlobalX = block.GlobalX; place.GlobalY = block.GlobalY; place.GlobalZ = block.GlobalZ; place.SimName = Helpers.FieldToUTF8String(block.SimName); place.SnapshotID = block.SnapshotID; place.Dwell = block.Dwell; place.Price = block.Price; places.Add(place); } try { OnPlacesReply(placesReply.TransactionData.TransactionID, places); } catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); } } }
public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID) { if (m_log.IsDebugEnabled) { m_log.DebugFormat("{0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); } OSD item = EventQueueHelper.PlacesQuery(groupUpdate); Enqueue(item, avatarID); }
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType) { OSDMap placesReply = new OSDMap(); placesReply.Add("message", OSD.FromString("PlacesReplyMessage")); OSDMap body = new OSDMap(); OSDArray agentData = new OSDArray(); OSDMap agentDataMap = new OSDMap(); agentDataMap.Add("AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID)); agentDataMap.Add("QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID)); agentDataMap.Add("TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID)); agentData.Add(agentDataMap); body.Add("AgentData", agentData); OSDArray QueryData = new OSDArray(); int i = 0; foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData) { OSDMap QueryDataMap = new OSDMap(); QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea)); QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea)); QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc)); QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell)); QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags))); QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX)); QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY)); QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ)); QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name)); QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID)); QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName)); QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID)); QueryDataMap.Add("ProductSku", OSD.FromString(regionType[i])); QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price)); QueryData.Add(QueryDataMap); i++; } body.Add("QueryData", QueryData); placesReply.Add("QueryData[]", body); placesReply.Add("body", body); return(placesReply); }
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType) { PlacesReplyMessage message = new PlacesReplyMessage(); message.AgentID = PlacesReply.AgentData.AgentID; message.QueryID = PlacesReply.AgentData.QueryID; message.TransactionID = PlacesReply.TransactionData.TransactionID; message.QueryDataBlocks = new PlacesReplyMessage.QueryData[PlacesReply.QueryData.Length]; OSDMap placesReply = new OSDMap { { "message", OSD.FromString("PlacesReplyMessage") } }; int i = 0; foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData) { message.QueryDataBlocks [i] = new PlacesReplyMessage.QueryData(); message.QueryDataBlocks [i].ActualArea = groupDataBlock.ActualArea; message.QueryDataBlocks [i].BillableArea = groupDataBlock.BillableArea; message.QueryDataBlocks [i].Description = Utils.BytesToString(groupDataBlock.Desc); message.QueryDataBlocks [i].Dwell = groupDataBlock.Dwell; message.QueryDataBlocks [i].Flags = groupDataBlock.Flags; message.QueryDataBlocks [i].GlobalX = groupDataBlock.GlobalX; message.QueryDataBlocks [i].GlobalY = groupDataBlock.GlobalY; message.QueryDataBlocks [i].GlobalZ = groupDataBlock.GlobalZ; message.QueryDataBlocks [i].Name = Utils.BytesToString(groupDataBlock.Name); message.QueryDataBlocks [i].OwnerID = groupDataBlock.OwnerID; message.QueryDataBlocks [i].SimName = Utils.BytesToString(groupDataBlock.SimName); message.QueryDataBlocks [i].SnapShotID = groupDataBlock.SnapshotID; message.QueryDataBlocks [i].ProductSku = regionType [i]; message.QueryDataBlocks [i].Price = groupDataBlock.Price; i++; } OSDMap map = message.Serialize(); placesReply ["body"] = map; return(placesReply); }
public virtual void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID, string[] info, UUID regionID) { OSD item = EventQueueHelper.PlacesQuery(groupUpdate, info); Enqueue(item, avatarID, regionID); }
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType) { OSDMap placesReply = new OSDMap {{"message", OSD.FromString("PlacesReplyMessage")}}; OSDMap body = new OSDMap(); OSDArray agentData = new OSDArray(); OSDMap agentDataMap = new OSDMap { {"AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID)}, {"QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID)}, {"TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID)} }; agentData.Add(agentDataMap); body.Add("AgentData", agentData); OSDArray QueryData = new OSDArray(); #if(!ISWIN) int i = 0; foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData) { OSDMap QueryDataMap = new OSDMap(); QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea)); QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea)); QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc)); QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell)); QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags))); QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX)); QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY)); QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ)); QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name)); QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID)); QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName)); QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID)); QueryDataMap.Add("ProductSku", OSD.FromString(regionType[i])); QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price)); QueryData.Add(QueryDataMap); i++; } #else int[] i = {0}; foreach (OSDMap QueryDataMap in PlacesReply.QueryData.Select(groupDataBlock => new OSDMap { {"ActualArea", OSD.FromInteger(groupDataBlock.ActualArea)}, {"BillableArea", OSD.FromInteger(groupDataBlock.BillableArea)}, {"Description", OSD.FromBinary(groupDataBlock.Desc)}, {"Dwell", OSD.FromInteger((int) groupDataBlock.Dwell)}, {"Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags))}, {"GlobalX", OSD.FromInteger((int) groupDataBlock.GlobalX)}, {"GlobalY", OSD.FromInteger((int) groupDataBlock.GlobalY)}, {"GlobalZ", OSD.FromInteger((int) groupDataBlock.GlobalZ)}, {"Name", OSD.FromBinary(groupDataBlock.Name)}, {"OwnerID", OSD.FromUUID(groupDataBlock.OwnerID)}, {"SimName", OSD.FromBinary(groupDataBlock.SimName)}, {"SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID)}, {"ProductSku", OSD.FromString(regionType[i[0]])}, {"Price", OSD.FromInteger(groupDataBlock.Price)} })) { QueryData.Add(QueryDataMap); i[0]++; } #endif body.Add("QueryData", QueryData); placesReply.Add("QueryData[]", body); placesReply.Add("body", body); return placesReply; }
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply) { OSDMap placesReply = new OSDMap(); placesReply.Add("message", OSD.FromString("PlacesReplyMessage")); OSDMap body = new OSDMap(); OSDArray agentData = new OSDArray(); OSDMap agentDataMap = new OSDMap(); agentDataMap.Add("AgentID", OSD.FromUUID(PlacesReply.AgentData.AgentID)); agentDataMap.Add("QueryID", OSD.FromUUID(PlacesReply.AgentData.QueryID)); agentDataMap.Add("TransactionID", OSD.FromUUID(PlacesReply.TransactionData.TransactionID)); agentData.Add(agentDataMap); body.Add("AgentData", agentData); OSDArray QueryData = new OSDArray(); foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData) { OSDMap QueryDataMap = new OSDMap(); QueryDataMap.Add("ActualArea", OSD.FromInteger(groupDataBlock.ActualArea)); QueryDataMap.Add("BillableArea", OSD.FromInteger(groupDataBlock.BillableArea)); QueryDataMap.Add("Description", OSD.FromBinary(groupDataBlock.Desc)); QueryDataMap.Add("Dwell", OSD.FromInteger((int)groupDataBlock.Dwell)); QueryDataMap.Add("Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags))); QueryDataMap.Add("GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX)); QueryDataMap.Add("GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY)); QueryDataMap.Add("GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ)); QueryDataMap.Add("Name", OSD.FromBinary(groupDataBlock.Name)); QueryDataMap.Add("OwnerID", OSD.FromUUID(groupDataBlock.OwnerID)); QueryDataMap.Add("SimName", OSD.FromBinary(groupDataBlock.SimName)); QueryDataMap.Add("SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID)); QueryDataMap.Add("ProductSku", OSD.FromInteger(0)); QueryDataMap.Add("Price", OSD.FromInteger(groupDataBlock.Price)); QueryData.Add(QueryDataMap); } body.Add("QueryData", QueryData); placesReply.Add("QueryData[]", body); return placesReply; }
public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID) { OSD item = EventQueueHelper.PlacesQuery(groupUpdate); Enqueue(item, avatarID); }
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType) { OpenMetaverse.Messages.Linden.PlacesReplyMessage message = new PlacesReplyMessage(); message.AgentID = PlacesReply.AgentData.AgentID; message.QueryID = PlacesReply.AgentData.QueryID; message.TransactionID = PlacesReply.TransactionData.TransactionID; message.QueryDataBlocks = new PlacesReplyMessage.QueryData[PlacesReply.QueryData.Length]; OSDMap placesReply = new OSDMap {{"message", OSD.FromString("PlacesReplyMessage")}}; int i = 0; foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData) { message.QueryDataBlocks[i] = new PlacesReplyMessage.QueryData(); message.QueryDataBlocks[i].ActualArea = groupDataBlock.ActualArea; message.QueryDataBlocks[i].BillableArea = groupDataBlock.BillableArea; message.QueryDataBlocks[i].Description = Utils.BytesToString(groupDataBlock.Desc); message.QueryDataBlocks[i].Dwell = groupDataBlock.Dwell; message.QueryDataBlocks[i].Flags = groupDataBlock.Flags; message.QueryDataBlocks[i].GlobalX = groupDataBlock.GlobalX; message.QueryDataBlocks[i].GlobalY = groupDataBlock.GlobalY; message.QueryDataBlocks[i].GlobalZ = groupDataBlock.GlobalZ; message.QueryDataBlocks[i].Name = Utils.BytesToString(groupDataBlock.Name); message.QueryDataBlocks[i].OwnerID = groupDataBlock.OwnerID; message.QueryDataBlocks[i].SimName = Utils.BytesToString(groupDataBlock.SimName); message.QueryDataBlocks[i].SnapShotID = groupDataBlock.SnapshotID; message.QueryDataBlocks[i].ProductSku = regionType[i]; message.QueryDataBlocks[i].Price = groupDataBlock.Price; i++; } OSDMap map = message.Serialize(); placesReply["body"] = map; return placesReply; }
public void QueryReply(PlacesReplyPacket groupUpdate, UUID avatarID) { if (m_log.IsDebugEnabled) { m_log.DebugFormat ("{0} called", System.Reflection.MethodBase.GetCurrentMethod ().Name); } OSD item = EventQueueHelper.PlacesQuery(groupUpdate); Enqueue(item, avatarID); }
public static OSD PlacesQuery(PlacesReplyPacket PlacesReply, string[] regionType) { OpenMetaverse.Messages.Linden.PlacesReplyMessage message = new PlacesReplyMessage(); message.AgentID = PlacesReply.AgentData.AgentID; message.QueryID = PlacesReply.AgentData.QueryID; message.TransactionID = PlacesReply.TransactionData.TransactionID; message.QueryDataBlocks = new PlacesReplyMessage.QueryData[PlacesReply.QueryData.Length]; OSDMap placesReply = new OSDMap { { "message", OSD.FromString("PlacesReplyMessage") } }; OSDArray QueryData = new OSDArray(); #if (!ISWIN) int i = 0; foreach (PlacesReplyPacket.QueryDataBlock groupDataBlock in PlacesReply.QueryData) { message.QueryDataBlocks[i] = new PlacesReplyMessage.QueryData(); message.QueryDataBlocks[i].ActualArea = groupDataBlock.ActualArea; message.QueryDataBlocks[i].BillableArea = groupDataBlock.BillableArea; message.QueryDataBlocks[i].Description = Utils.BytesToString(groupDataBlock.Desc); message.QueryDataBlocks[i].Dwell = groupDataBlock.Dwell; message.QueryDataBlocks[i].Flags = groupDataBlock.Flags; message.QueryDataBlocks[i].GlobalX = groupDataBlock.GlobalX; message.QueryDataBlocks[i].GlobalY = groupDataBlock.GlobalY; message.QueryDataBlocks[i].GlobalZ = groupDataBlock.GlobalZ; message.QueryDataBlocks[i].Name = Utils.BytesToString(groupDataBlock.Name); message.QueryDataBlocks[i].OwnerID = groupDataBlock.OwnerID; message.QueryDataBlocks[i].SimName = Utils.BytesToString(groupDataBlock.SimName); message.QueryDataBlocks[i].SnapShotID = groupDataBlock.SnapshotID; message.QueryDataBlocks[i].ProductSku = regionType[i]; message.QueryDataBlocks[i].Price = groupDataBlock.Price; i++; } #else int[] i = { 0 }; foreach (OSDMap QueryDataMap in PlacesReply.QueryData.Select(groupDataBlock => new OSDMap { { "ActualArea", OSD.FromInteger(groupDataBlock.ActualArea) }, { "BillableArea", OSD.FromInteger(groupDataBlock.BillableArea) }, { "Description", OSD.FromBinary(groupDataBlock.Desc) }, { "Dwell", OSD.FromInteger((int)groupDataBlock.Dwell) }, { "Flags", OSD.FromString(Convert.ToString(groupDataBlock.Flags)) }, { "GlobalX", OSD.FromInteger((int)groupDataBlock.GlobalX) }, { "GlobalY", OSD.FromInteger((int)groupDataBlock.GlobalY) }, { "GlobalZ", OSD.FromInteger((int)groupDataBlock.GlobalZ) }, { "Name", OSD.FromBinary(groupDataBlock.Name) }, { "OwnerID", OSD.FromUUID(groupDataBlock.OwnerID) }, { "SimName", OSD.FromBinary(groupDataBlock.SimName) }, { "SnapShotID", OSD.FromUUID(groupDataBlock.SnapshotID) }, { "ProductSku", OSD.FromString(regionType[i[0]]) }, { "Price", OSD.FromInteger(groupDataBlock.Price) } })) { QueryData.Add(QueryDataMap); i[0]++; } #endif OSDMap map = message.Serialize(); placesReply["body"] = map; return(placesReply); }