diff options
author | Melanie Thielker | 2015-08-15 02:46:41 +0200 |
---|---|---|
committer | Melanie Thielker | 2015-08-15 02:46:41 +0200 |
commit | 1fb2f0296fdaff56745daa1c1e8096cd8e25462b (patch) | |
tree | 6b168e1c3b237e219e8bb1c82d5aba271f3bd5cb | |
parent | Maybe reduce incidence of ghost avatars (diff) | |
download | opensim-SC_OLD-1fb2f0296fdaff56745daa1c1e8096cd8e25462b.zip opensim-SC_OLD-1fb2f0296fdaff56745daa1c1e8096cd8e25462b.tar.gz opensim-SC_OLD-1fb2f0296fdaff56745daa1c1e8096cd8e25462b.tar.bz2 opensim-SC_OLD-1fb2f0296fdaff56745daa1c1e8096cd8e25462b.tar.xz |
Track selected objects per client
5 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 4bb865a..b2786d4 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -742,6 +742,8 @@ namespace OpenSim.Framework | |||
742 | 742 | ||
743 | IScene Scene { get; } | 743 | IScene Scene { get; } |
744 | 744 | ||
745 | List<uint> SelectedObjects { get; } | ||
746 | |||
745 | // [Obsolete("LLClientView Specific - Replace with ???")] | 747 | // [Obsolete("LLClientView Specific - Replace with ???")] |
746 | int NextAnimationSequenceNumber { get; } | 748 | int NextAnimationSequenceNumber { get; } |
747 | 749 | ||
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 | |||
474 | set { m_disableFacelights = value; } | 474 | set { m_disableFacelights = value; } |
475 | } | 475 | } |
476 | 476 | ||
477 | public List<uint> SelectedObjects {get; private set;} | ||
477 | 478 | ||
478 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } | 479 | public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } |
479 | 480 | ||
@@ -494,6 +495,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
494 | // DebugPacketLevel = 1; | 495 | // DebugPacketLevel = 1; |
495 | 496 | ||
496 | CloseSyncLock = new Object(); | 497 | CloseSyncLock = new Object(); |
498 | SelectedObjects = new List<uint>(); | ||
497 | 499 | ||
498 | RegisterInterface<IClientIM>(this); | 500 | RegisterInterface<IClientIM>(this); |
499 | RegisterInterface<IClientInventory>(this); | 501 | RegisterInterface<IClientInventory>(this); |
@@ -7347,6 +7349,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7347 | 7349 | ||
7348 | for (int i = 0; i < incomingselect.ObjectData.Length; i++) | 7350 | for (int i = 0; i < incomingselect.ObjectData.Length; i++) |
7349 | { | 7351 | { |
7352 | if (!SelectedObjects.Contains(incomingselect.ObjectData[i].ObjectLocalID)) | ||
7353 | SelectedObjects.Add(incomingselect.ObjectData[i].ObjectLocalID); | ||
7350 | handlerObjectSelect = OnObjectSelect; | 7354 | handlerObjectSelect = OnObjectSelect; |
7351 | if (handlerObjectSelect != null) | 7355 | if (handlerObjectSelect != null) |
7352 | { | 7356 | { |
@@ -7373,6 +7377,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7373 | 7377 | ||
7374 | for (int i = 0; i < incomingdeselect.ObjectData.Length; i++) | 7378 | for (int i = 0; i < incomingdeselect.ObjectData.Length; i++) |
7375 | { | 7379 | { |
7380 | if (!SelectedObjects.Contains(incomingdeselect.ObjectData[i].ObjectLocalID)) | ||
7381 | SelectedObjects.Add(incomingdeselect.ObjectData[i].ObjectLocalID); | ||
7376 | handlerObjectDeselect = OnObjectDeselect; | 7382 | handlerObjectDeselect = OnObjectDeselect; |
7377 | if (handlerObjectDeselect != null) | 7383 | if (handlerObjectDeselect != null) |
7378 | { | 7384 | { |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index ed1503c..8c0ad75 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -68,6 +68,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
68 | 68 | ||
69 | private bool m_connected = true; | 69 | private bool m_connected = true; |
70 | 70 | ||
71 | public List<uint> SelectedObjects {get; private set;} | ||
72 | |||
71 | public IRCClientView(TcpClient client, Scene scene) | 73 | public IRCClientView(TcpClient client, Scene scene) |
72 | { | 74 | { |
73 | m_client = client; | 75 | m_client = client; |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 0b33c51..0b4d03a 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -65,6 +65,8 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
65 | private readonly Scene m_scene; | 65 | private readonly Scene m_scene; |
66 | private readonly UUID m_ownerID; | 66 | private readonly UUID m_ownerID; |
67 | 67 | ||
68 | public List<uint> SelectedObjects {get; private set;} | ||
69 | |||
68 | public NPCAvatar( | 70 | public NPCAvatar( |
69 | string firstname, string lastname, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene) | 71 | string firstname, string lastname, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene) |
70 | { | 72 | { |
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index d4f29c8..96bccd2 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -442,6 +442,8 @@ namespace OpenSim.Tests.Common.Mock | |||
442 | get { return new IPEndPoint(IPAddress.Loopback, (ushort)m_circuitCode); } | 442 | get { return new IPEndPoint(IPAddress.Loopback, (ushort)m_circuitCode); } |
443 | } | 443 | } |
444 | 444 | ||
445 | public List<uint> SelectedObjects {get; private set;} | ||
446 | |||
445 | /// <summary> | 447 | /// <summary> |
446 | /// Constructor | 448 | /// Constructor |
447 | /// </summary> | 449 | /// </summary> |