diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/EntityList.cs | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/EntityList.cs b/OpenSim/Region/Environment/Scenes/EntityList.cs index 4a0e668..c64e549 100644 --- a/OpenSim/Region/Environment/Scenes/EntityList.cs +++ b/OpenSim/Region/Environment/Scenes/EntityList.cs | |||
@@ -57,8 +57,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
57 | // | 57 | // |
58 | // Add(SOG) | 58 | // Add(SOG) |
59 | // Add(SP) | 59 | // Add(SP) |
60 | // Remove(SOG) | 60 | // RemoveObject(SOG) |
61 | // Remove(SP) | 61 | // RemovePresence(SP) |
62 | // List() | 62 | // List() |
63 | // ListObjects() | 63 | // ListObjects() |
64 | // ListPresenes() | 64 | // ListPresenes() |
@@ -77,5 +77,36 @@ namespace OpenSim.Region.Environment.Scenes | |||
77 | { | 77 | { |
78 | m_pres_by_uuid[pres.UUID] = pres; | 78 | m_pres_by_uuid[pres.UUID] = pres; |
79 | } | 79 | } |
80 | |||
81 | public SceneObjectGroup RemoveObject(LLUUID uuid) | ||
82 | { | ||
83 | SceneObjectGroup sog = null; | ||
84 | try | ||
85 | { | ||
86 | sog = (SceneObjectGroup)m_obj_by_uuid[uuid]; | ||
87 | m_obj_by_uuid.Remove(uuid); | ||
88 | m_obj_by_local.Remove(sog.LocalId); | ||
89 | } | ||
90 | catch (Exception e) | ||
91 | { | ||
92 | sog = null; | ||
93 | } | ||
94 | return sog; | ||
95 | } | ||
96 | |||
97 | public ScenePresence RemovePresence(LLUUID uuid) | ||
98 | { | ||
99 | ScenePresence sp = null; | ||
100 | try | ||
101 | { | ||
102 | sp = (ScenePresence)m_pres_by_uuid[uuid]; | ||
103 | m_pres_by_uuid.Remove(uuid); | ||
104 | } | ||
105 | catch (Exception e) | ||
106 | { | ||
107 | sp = null; | ||
108 | } | ||
109 | return sp; | ||
110 | } | ||
80 | } | 111 | } |
81 | } \ No newline at end of file | 112 | } \ No newline at end of file |