История обновлений
Версия 1.3.0
Нововведения:
- Возможность реализовать собственный
TransitionManagerчерез интерфейсITransitionManager— для интеграции с DI-фреймворками (например, Zenject) или другой архитектурой проекта. - Поддержка Addressables: сцены, добавленные в Addressables, помечаются на графе значком ADR и не требуют присутствия в Build Settings.
- Кнопки Delete Preview и Enable/Disable Auto-Preview в инспекторе ноды для управления превью конкретной сцены.
- Новые методы графа:
IsOneWayOrigin()/IsOneWayDestination(),TryGetSceneDataByAddress()(при включённых Addressables). - Настройка Force-refresh affected scenes on graph save — принудительное обновление
ITransitionComponentна затронутых сценах при сохранении графа. - Улучшения SmartConnection: положение нового порта теперь зависит от позиции курсора относительно других портов, подсказки при перетаскивании связи.
- Поддержка новых версий Unity 6 (6.3–6.7) — пакет теперь работает во всём диапазоне от 2023.2.10f1 до 6.7.
Изменения:
WorldGraphContainerбольше не хранит логику графа напрямую — рантайм-граф вынесен в отдельный классWorldGraph, доступный черезWorldGraphContainer.GetWorldGraph()илиITransitionManager.Graph.- Методы переходов
TransitionManagerстали асинхронными:GoTo/GoFrom/LoadScene→GoToAsync/GoFromAsync/LoadSceneAsync(возвращаютTask); старые синхронные версии помечены[Obsolete], а изGoFromAsyncв интерфейсе убран параметрignoreShortcuts. - Введён интерфейс
IWorldGraph— чистый контракт рантайм-графа;ITransitionManager.Graphтеперь имеет типIWorldGraph(реализация — классWorldGraph). - Breaking change:
RefreshContext.Managerпомечен[Obsolete]. Вместо него используйтеRefreshContext.EditorGraph— см. С версии 1.2 на 1.3. - События
TransitionManager.OnXxxстали свойствами экземпляраTransitionManager.Instance.Xxx. - Методы расширения
IsShortcutOutput()/IsShortcutInput()переименованы вIsShortcutDestination()/IsShortcutOrigin();IsOutput()/IsInput()теперь требуют явныйITransitionManager. - На ноде графа отображается имя сцены вместо пути к файлу.
- Оверлей Scene Inspector WGE: кнопки Validate и Open TM заменены на одну кнопку Project Settings; добавлено отображение типа используемого менеджера (Default / Custom).
- Часть
Get-методов графа (GetOppositePassageGuid,GetSceneDataByBuildIndexи др.) заменена на парныеTryGet-методы с явнымbool+out. Старые версии удалены с публичного графа и оставлены как[Obsolete]наWorldGraphContainer/ContainerEditorData— см. Замена Get-методов на TryGet.
Исправления:
- Исправлен баг с необновлением графа при сохранении контейнера.
- Исправлена утечка памяти при отображении превью сцены.
- Исправлен баг в системе SmartConnection, из-за которого автоподключение к порту иногда не происходило.
- Корректная работа Undo/Redo для отображения превью сцен и для кнопки отключения авто-захвата.
Версия 1.2.0
Нововведения:
- Отображение превью сцен на нодах.
- Оверлей Scene Inspector WGE отображающий информацию по текущей сцене.
- Оверлей Screenshot Utility WGE для создания превью сцен.
- Кнопки для переключения между сценами в Toolbar.
- Окно настроек ассета в
Edit > Project Settings > World Graph Editor. - Возможность вручную задать задержку между фазами перехода с помощью
TransitionContext. - Валидатор сцен.
- Поддержка собственных тестов для валидатора сцен.
- Проверка на достижимость сцен в графе.
- QOL функции в API.
Изменения:
- Метод
Refresh()вITransitionComponentтеперь принимаетRefreshContextвместоTransitionManager. - Автоматический вызов
Refresh()вITransitionComponentпри изменениях в сцене/иерархии/графе. - Убрана поддержка версии 2022.3.
Исправления:
- Чтобы избежать возможной двусмысленности, названия портов с начальными или конечными пробелами теперь считаются недопустимыми. Например, "Left", "Left " и " Left" рассматриваются как одно и то же имя.
- Различные незначительные улучшения и внутренние изменения.
Версия 1.1.0
Нововведения:
- Методы
RegisterAsyncHandlerиUnregisterAsyncHandlerтеперь поддерживаютCancellationTokenдля управления отменой задач - Добавлен способ переноса данных из версии 1.0 в 1.1+.
Изменения:
- Изменен способ хранения данных в
WorldGraphContainer. - Все EditorOnly методы перенесены из
WorldGraphContainerвWorldGraphContainer.EditorData. - Методы
RegisterAsyncHandlerиUnregisterAsyncHandlerпринимающиеFunc<Task>больше не поддерживаются. Теперь требуетсяFunc<CancellationToken, Task>.
Исправления:
- Исправлена ошибка, из за которой при вызове
TransitionManager.LoadScene()персонаж появлялся в позиции(0, 0, 0)а не вDefaultSpawnPoint. - Исправлена ошибка, при которой зарегистрированные асинхронные задачи не отменялись после выхода из
Play Mode.
Версия 1.0.0
Первый релиз.