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: Текущий экземпляр слоя для цепочки вызовов..