aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs20
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneManager.cs14
2 files changed, 34 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 97a4ae1..cff832e 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -1363,5 +1363,25 @@ namespace OpenSim.Region.Environment.Scenes
1363 1363
1364 base.Close(); 1364 base.Close();
1365 } 1365 }
1366
1367 internal bool TryGetAvatarByName(string avatarName, out ScenePresence avatar)
1368 {
1369 foreach( ScenePresence presence in m_scenePresences.Values )
1370 {
1371 if( !presence.IsChildAgent )
1372 {
1373 string name = presence.ControllingClient.FirstName + " " + presence.ControllingClient.LastName;
1374
1375 if( String.Compare( avatarName, name, true ) == 0 )
1376 {
1377 avatar = presence;
1378 return true;
1379 }
1380 }
1381 }
1382
1383 avatar = null;
1384 return false;
1385 }
1366 } 1386 }
1367} 1387}
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index 79fdff7..196976c 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -233,5 +233,19 @@ namespace OpenSim.Region.Environment.Scenes
233 m_localScenes.Remove(scene); 233 m_localScenes.Remove(scene);
234 scene.Close(); 234 scene.Close();
235 } 235 }
236
237 public bool TryGetAvatarByName(string avatarName, out ScenePresence avatar)
238 {
239 foreach (Scene scene in m_localScenes)
240 {
241 if (scene.TryGetAvatarByName(avatarName, out avatar))
242 {
243 return true;
244 }
245 }
246
247 avatar = null;
248 return false;
249 }
236 } 250 }
237} \ No newline at end of file 251} \ No newline at end of file