public virtual ISceneEntity [] GetEntities(Vector3 pos, float radius) { lock (m_objectEntitiesLock) { List <ISceneEntity> tmp = new List <ISceneEntity> (m_objectEntities.Count); m_objectEntities.ForEach(delegate(ISceneEntity entity) { //Add attachments as well, as they might be needed if ((entity.AbsolutePosition - pos).LengthSquared() < radius * radius || entity.IsAttachment) { tmp.Add(entity); } }); return(tmp.ToArray()); } }