Build UIToolkit property panels for Open Commissioning components when their Interaction is selected.
| Type | Script | Role |
|---|---|---|
PanelManager |
PanelManager.cs |
Sidebar host, selection subscription |
PanelHandler |
PanelHandler.cs |
Abstract factory: ReferenceType → IPanel |
IPanel |
IPanel.cs |
Panel instance contract |
Panel |
Panel.cs |
Base panel implementation |
PanelFactory |
PanelFactory.cs |
Panel creation helpers |
SubsystemPanel |
SubsystemPanel.cs |
Container for toolbar tool content |
Namespace: OC.UI.Panel.
Each handler is a MonoBehaviour on DefaultPanels (under Interactions):
public abstract class PanelHandler : MonoBehaviour
{
public abstract Type ReferenceType { get; }
public abstract IPanel Create();
}Shipped handlers (see Panel Manager for the full list) map OC component types to panel UXML/USS and field bindings.
Reusable UIToolkit field wrappers under Runtime/Panels/Scripts/Fields/, including:
- Numeric:
PanelFloatField,PanelIntegerField,PanelSlider,PanelSliderInt - Vectors:
PanelVector2Field,PanelVector3Field,PanelVector3IntField - Text:
PanelTextField,PanelTextFieldInt,PanelTextFieldFloat - UI:
PanelButton,PanelToggle,PanelToggleIcon,PanelDropdownField,PanelEnumField - Status:
PanelBinaryStatusField,PanelLinkStatus,PanelProgressBarField - Layout:
PanelGroupContainer,PanelHorizontalGroup,PanelScrollView,PanelListView
Panels compose these elements to mirror commissioning data on selected devices.
PanelDragAndDrop— reposition floating panelsMoveable— drag behavior helperPanelManager._dockThreshold— snap distance to sidebar
- Subclass
PanelHandler; implementReferenceTypeandCreate(). - Build a
Panel(orIPanel) that binds to your OC component. - Add the handler component to DefaultPanels (or your custom manager object).
- Register the handler reference on
PanelManager._panelHandlers.