Перейти к основному содержимому

История обновлений

Версия 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 / LoadSceneGoToAsync / 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

Первый релиз.