From 1fb2f0296fdaff56745daa1c1e8096cd8e25462b Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 15 Aug 2015 02:46:41 +0200 Subject: Track selected objects per client --- OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'OpenSim/Region/ClientStack/Linden/UDP') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 849fec3..7b6889a 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -474,6 +474,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP set { m_disableFacelights = value; } } + public List SelectedObjects {get; private set;} public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } @@ -494,6 +495,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // DebugPacketLevel = 1; CloseSyncLock = new Object(); + SelectedObjects = new List(); RegisterInterface(this); RegisterInterface(this); @@ -7347,6 +7349,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP for (int i = 0; i < incomingselect.ObjectData.Length; i++) { + if (!SelectedObjects.Contains(incomingselect.ObjectData[i].ObjectLocalID)) + SelectedObjects.Add(incomingselect.ObjectData[i].ObjectLocalID); handlerObjectSelect = OnObjectSelect; if (handlerObjectSelect != null) { @@ -7373,6 +7377,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP for (int i = 0; i < incomingdeselect.ObjectData.Length; i++) { + if (!SelectedObjects.Contains(incomingdeselect.ObjectData[i].ObjectLocalID)) + SelectedObjects.Add(incomingdeselect.ObjectData[i].ObjectLocalID); handlerObjectDeselect = OnObjectDeselect; if (handlerObjectDeselect != null) { -- cgit v1.1