AlicizaX/Client/Assets/Books/UIExtension/UXController.md
2026-04-01 13:20:06 +08:00

1.9 KiB

UIExtension UXController 数据驱动绑定模块手册

模块概述

UXControllerUXBinding 组成 UI 状态驱动绑定系统,用于把控制器状态映射到 UI 属性值。

适用场景

  • 页签状态切换。
  • UI 主题或皮肤切换。
  • 可见性、文本、颜色、尺寸等属性联动。

可调用 API

类型:UXController

源码:Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Controller/UXController.cs

  • 属性:ControllersBindingsControllerCount
  • ControllerDefinition 属性:IdNameLengthDescriptionSelectedIndex
  • 方法:TryGetControllerById(...)TryGetControllerByName(...)GetControllerByName(...)GetControllerAt(...)GetControllerIndex(...)SetControllerIndex(...)SetControllerIndexByName(...)ResetAllControllers()

类型:UXBinding

源码:Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Controller/UXBinding.cs

  • 属性:ControllerEntries
  • 方法:Initialize()SetController(...)CaptureDefaults()ResetToDefaults()PreviewEntry(...)CaptureEntryValue(...)CaptureEntryFallbackValue(...)
  • BindingEntry 属性:ControllerIdControllerIndexPropertyValueFallbackModeFallbackValueHasCapturedDefault

类型:UXBindingValue

  • BoolValue
  • FloatValue
  • StringValue
  • ColorValue
  • Vector2Value
  • Vector3Value
  • ObjectValue
  • CopyFrom(UXBindingValue other)

工具类:UXBindingPropertyUtility

源码:Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Controller/UXBindingPropertyUtility.cs

  • AllMetadata
  • GetMetadata(...)
  • IsSupported(...)
  • GetSupportedProperties(...)
  • CaptureValue(...)
  • ApplyValue(...)

枚举

  • UXBindingFallbackMode
  • UXBindingValueKind
  • UXBindingProperty

快速上手

controller.SetControllerIndex("TabState", 1);