diff options
author | UbitUmarov | 2014-08-21 23:43:06 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-21 23:43:06 +0100 |
commit | be02fb3904dbe8f7071ad393229c3e04b08bb697 (patch) | |
tree | a1b23ae91d54395da947e1800f21c5ecc5571c4b | |
parent | make the hack more extensive. Forbid sog/sop updates if Intransit but (diff) | |
download | opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.zip opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.tar.gz opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.tar.bz2 opensim-SC-be02fb3904dbe8f7071ad393229c3e04b08bb697.tar.xz |
replace hack by sog kills on tp out
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index fd1ec82..260dfc8 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -5848,18 +5848,32 @@ namespace OpenSim.Region.Framework.Scenes | |||
5848 | 5848 | ||
5849 | public void HasMovedAway() | 5849 | public void HasMovedAway() |
5850 | { | 5850 | { |
5851 | List<uint> myids = new List<uint>(); | ||
5852 | foreach (SceneObjectGroup sog in m_attachments) | ||
5853 | myids.Add(sog.RootPart.LocalId); | ||
5854 | myids.Add(LocalId); | ||
5855 | |||
5851 | List<ScenePresence> allpresences = m_scene.GetScenePresences(); | 5856 | List<ScenePresence> allpresences = m_scene.GetScenePresences(); |
5852 | foreach (ScenePresence p in allpresences) | 5857 | foreach (ScenePresence p in allpresences) |
5853 | { | 5858 | { |
5854 | if (p == this) | 5859 | if (p == this) |
5855 | continue; | 5860 | continue; |
5856 | SendKillTo(p); | 5861 | p.ControllingClient.SendKillObject(myids); |
5857 | p.SendKillTo(this); | 5862 | p.SendKillTo(this); |
5858 | } | 5863 | } |
5859 | if (Scene.AttachmentsModule != null) | 5864 | if (Scene.AttachmentsModule != null) |
5860 | Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); | 5865 | Scene.AttachmentsModule.DeleteAttachmentsFromScene(this, true); |
5861 | } | 5866 | } |
5862 | 5867 | ||
5868 | public void SendFullKillsTo(ScenePresence p) | ||
5869 | { | ||
5870 | List<uint> ids = new List<uint>(); | ||
5871 | foreach (SceneObjectGroup sog in m_attachments) | ||
5872 | ids.Add(sog.RootPart.LocalId); | ||
5873 | ids.Add(LocalId); | ||
5874 | p.ControllingClient.SendKillObject(ids); | ||
5875 | } | ||
5876 | |||
5863 | public void SendKillTo(ScenePresence p) | 5877 | public void SendKillTo(ScenePresence p) |
5864 | { | 5878 | { |
5865 | foreach (SceneObjectGroup sog in m_attachments) | 5879 | foreach (SceneObjectGroup sog in m_attachments) |