mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 00:46:02 +08:00
Minor ScenePresence related refactoring
This commit is contained in:
@@ -1407,12 +1407,28 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
lock (m_scenePresences)
|
||||
{
|
||||
m_scenePresences.Remove(agentID);
|
||||
if (m_scenePresences.Remove(agentID))
|
||||
{
|
||||
//m_log.Info(String.Format("[SCENE] Removed scene presence {0}", agentID));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.Warn(
|
||||
String.Format("[SCENE] Tried to remove non-existent scene prescence with agent ID {0} from scene ScenePresences list", agentID));
|
||||
}
|
||||
}
|
||||
|
||||
lock (Entities)
|
||||
{
|
||||
Entities.Remove(agentID);
|
||||
if (Entities.Remove(agentID))
|
||||
{
|
||||
//m_log.Info(String.Format("[SCENE] Removed scene presence {0} from entities list", agentID));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_log.Warn(
|
||||
String.Format("[SCENE] Tried to remove non-existent scene prescence with agent ID {0} from scene Entities list", agentID));
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
@@ -1425,7 +1441,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.Error("Scene.cs:RemoveClient exception: " + e.ToString());
|
||||
m_log.Error("[SCENE] Scene.cs:RemoveClient exception: " + e.ToString());
|
||||
}
|
||||
|
||||
// Remove client agent from profile, so new logins will work
|
||||
|
||||
@@ -316,21 +316,17 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
List<ScenePresence> avatars = new List<ScenePresence>();
|
||||
|
||||
ForEachCurrentScene(delegate(Scene scene)
|
||||
{
|
||||
List<EntityBase> EntitieList = scene.GetEntities();
|
||||
{
|
||||
List<ScenePresence> scenePrescences = scene.GetScenePresences();
|
||||
|
||||
foreach (EntityBase entity in EntitieList)
|
||||
{
|
||||
if (entity is ScenePresence)
|
||||
{
|
||||
ScenePresence scenePrescence = entity as ScenePresence;
|
||||
if (!scenePrescence.IsChildAgent)
|
||||
{
|
||||
avatars.Add(scenePrescence);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
foreach (ScenePresence scenePrescence in scenePrescences)
|
||||
{
|
||||
if (!scenePrescence.IsChildAgent)
|
||||
{
|
||||
avatars.Add(scenePrescence);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return avatars;
|
||||
}
|
||||
@@ -423,4 +419,4 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
m_localScenes.ForEach(action);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user