Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

EditorApplication.hierarchyChanged

Описание

Событие, возникающее при изменении объекта или группы объектов в иерархии.

Действия, запускающие это событие, включают создание, переименование, изменение родительских элементов или уничтожение объектов в текущей иерархии, а также загрузку, выгрузку, переименование или изменение порядка загруженных сцен. Обратите внимание, что событие возникает не сразу в ответ на эти действия, а во время следующего обновления приложения-редактора.

Действия, выполняемые с объектами, у которых установлен HideFlags.HideInHierarchy, не вызовут это событие, а изменят Object. hideFlags будет.

В следующем примере скрипт регистрирует количество объектов в консоли при каждом изменении иерархии. Скопируйте его в файл HierarchyMonitor.cs и поместите в папку Editor.

using System.Linq; using UnityEditor; using UnityEngine; [InitializeOnLoadAttribute] public static class HierarchyMonitor { static HierarchyMonitor() { EditorApplication.hierarchyChanged += OnHierarchyChanged; } static void OnHierarchyChanged() { var all = Resources.FindObjectsOfTypeAll(typeof(GameObject)); var numberVisible = all.Where(obj => (obj.hideFlags & HideFlags.HideInHierarchy) != HideFlags.HideInHierarchy).Count(); Debug.LogFormat("There are currently {0} GameObjects visible in the hierarchy.", numberVisible); } }

Смотрите так же: EditorWindow.OnHierarchyChange.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3