private static IEnumerable <GameObject> GetObjectsRecurse(GameObject root) { List <GameObject> list = new List <GameObject> { root }; IEnumerator enumerator = root.transform.GetEnumerator(); try { while (enumerator.MoveNext()) { Transform transform = (Transform)enumerator.Current; list.AddRange(NavMeshEditorWindow.GetObjectsRecurse(transform.gameObject)); } } finally { IDisposable disposable; if ((disposable = (enumerator as IDisposable)) != null) { disposable.Dispose(); } } return(list); }
private static IEnumerable <GameObject> GetObjectsRecurse(GameObject root) { List <GameObject> list = new List <GameObject> { root }; foreach (Transform transform in root.transform) { list.AddRange(NavMeshEditorWindow.GetObjectsRecurse(transform.gameObject)); } return(list); }
private static List <GameObject> GetObjects(bool includeChildren) { if (!includeChildren) { return(new List <GameObject>((IEnumerable <GameObject>)Selection.gameObjects)); } List <GameObject> gameObjectList = new List <GameObject>(); foreach (GameObject gameObject in Selection.gameObjects) { gameObjectList.AddRange(NavMeshEditorWindow.GetObjectsRecurse(gameObject)); } return(gameObjectList); }
private static List <GameObject> GetObjects(bool includeChildren) { if (includeChildren) { List <GameObject> list = new List <GameObject>(); GameObject[] gameObjects = Selection.gameObjects; for (int i = 0; i < gameObjects.Length; i++) { GameObject root = gameObjects[i]; list.AddRange(NavMeshEditorWindow.GetObjectsRecurse(root)); } return(list); } return(new List <GameObject>(Selection.gameObjects)); }