Перейти к содержанию

UniRenderLayer

Платформо-независимая конфигурация слоя оверлея или HUD.

Обзор

UniRenderLayer представляет изолированный слой интерфейса, отображаемый в игровом HUD или поверх открытых экранов. Содержит корневой Widget, контекст UIContext, цепочки пост-эффектов (UiPostEffectChain), политики рендеринга и управление жизненным циклом.

Пост-эффекты и шейдеры

Слои поддерживают пост-обработку через postEffect(...), накладывая размытие (blur), виньетки, эффект ЭЛТ-монитора или цветокоррекцию на буфер слоя перед финальным выводом.

Инвалидация кэша и закрытие

Слой реализует AutoCloseable и может быть отключён вызовом close(). При использовании кэширования вызов invalidateRenderCache() принудительно запрашивает перерисовку у бэкенда.

Настройка HUD-слоя с эффектом свечения

Widget hudWidget = new CompassWidget();
UniRenderLayer layer = new UniRenderLayer(hudWidget)
    .renderPolicy(UiRenderPolicy.continuous())
    .postEffect("unigui:bloom");
UniHudRender.register(layer);

API

UniRenderLayer::attachRuntimeControl(RuntimeLayerControl)

attachRuntimeControl(RuntimeLayerControl)

Внутренний хук для привязки контроллера управления слоем рантайма.

Параметр Тип Описание
control RuntimeLayerControl Экземпляр RuntimeLayerControl.

UniRenderLayer::clearPostEffect()

clearPostEffect()

Очищает все пост-эффекты на слое.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::close()

close()

Закрывает слой и отключает его от конвейера рантайма.

UniRenderLayer::closed()

closed()

Возвращает true, если слой отрисовки был закрыт.

Возвращает boolean: True, если закрыт..

UniRenderLayer::context()

context()

Возвращает контекст интерфейса, привязанный к слою.

Возвращает UIContext: UIContext или null..

UniRenderLayer::debugHotkeysEnabled()

debugHotkeysEnabled()

Возвращает true, если для слоя включены отладочные горячие клавиши.

Возвращает boolean: True, если отладочные клавиши активны..

UniRenderLayer::debugHotkeysEnabled(boolean)

debugHotkeysEnabled(boolean)

Включает или выключает отладочные горячие клавиши для слоя.

Параметр Тип Описание
value boolean True для включения отладки.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::defaultFont()

defaultFont()

Возвращает шрифт по умолчанию для слоя или null.

Возвращает FontFace: Шрифт FontFace или null..

UniRenderLayer::defaultFont(FontFace)

defaultFont(FontFace)

Устанавливает шрифт по умолчанию для слоя.

Параметр Тип Описание
font FontFace Шрифт FontFace.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::hasCustomUiScale()

hasCustomUiScale()

Возвращает true, если задан пользовательский масштаб интерфейса.

Возвращает boolean: True, если задан конечный масштаб..

UniRenderLayer::invalidateRenderCache()

invalidateRenderCache()

Инвалидирует кэш отрисовки прикреплённого слоя в рантайме.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::postEffect()

postEffect()

Возвращает копию цепочки пост-эффектов слоя.

Возвращает UiPostEffectChain: Копия UiPostEffectChain..

UniRenderLayer::postEffect(String)

postEffect(String)

Устанавливает одиночный пост-эффект по идентификатору.

Параметр Тип Описание
effectId String Идентификатор зарегистрированного пост-эффекта.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::postEffect(UiPostEffectChain)

postEffect(UiPostEffectChain)

Устанавливает цепочку пост-эффектов для слоя.

Параметр Тип Описание
chain UiPostEffectChain Цепочка пост-эффектов.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::renderPolicy()

renderPolicy()

Возвращает политику рендеринга слоя.

Возвращает UiRenderPolicy: Активная политика UiRenderPolicy..

UniRenderLayer::renderPolicy(UiRenderPolicy)

renderPolicy(UiRenderPolicy)

Устанавливает политику рендеринга для слоя.

Параметр Тип Описание
policy UiRenderPolicy Политика UiRenderPolicy.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::root()

root()

Возвращает корневой виджет слоя.

Возвращает Widget: Экземпляр корневого виджета..

UniRenderLayer::scaleWithGameGui()

scaleWithGameGui()

Возвращает true, если масштаб слоя синхронизируется с настройками GUI игры.

Возвращает boolean: True при синхронизации масштаба..

UniRenderLayer::scaleWithGameGui(boolean)

scaleWithGameGui(boolean)

Определяет, должен ли слой синхронизировать масштаб с настройками GUI игры.

Параметр Тип Описание
value boolean True для включения синхронизации.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..

UniRenderLayer::uiScale()

uiScale()

Возвращает пользовательский масштаб интерфейса или NaN, если не задан.

Возвращает float: Множитель масштабирования..

UniRenderLayer::uiScale(float)

uiScale(float)

Устанавливает фиксированный масштаб интерфейса для слоя.

Параметр Тип Описание
scale float Положительный конечный масштабный коэффициент.

Возвращает UniRenderLayer: Текущий экземпляр слоя для цепочки вызовов..