Namespace Serenity.Ui.Infrastructure.Editor
Classes
EditorAssetUtils
Small editor helpers for loading project assets by type, collapsing the recurring
FindAssets → GUIDToAssetPath → LoadAssetAtPath triplet into one call (and dropping any nulls).
LayoutSizeDrawer
Inspector drawer for LayoutSize. Instead of a raw enum + number (or a free text box),
it shows a friendly unit dropdown (fit content / px / fr / %), a value field that only appears when a
value is needed, and a plain-English hint of what the unit does. Expand the row to set optional
min/max pixel clamps. This keeps "how much space does this region take" approachable
for non-developers while mapping 1:1 to the runtime model.
SerenityUiPreviewWindow
A preview of a view (a UnityMenuSettingsDefinition or a UnityCompositeViewDefinition) with two modes:
- No theme — the structural wireframe (labeled boxes + option rows placed by view/option alignment).
- A chosen theme — a LIVE render that instantiates that theme's real prefab templates into a hidden canvas and renders them to a texture, so the actual themed result is shown at a reference resolution.
An optional backdrop image can sit behind the view (e.g. a gameplay screenshot) to judge it in context.
UnityCompositeViewDefinitionEditor
Inspector for UnityCompositeViewDefinition built on Serenity.Global.Infrastructure.Settings.Editor.FoundationEditor`1, so a
composite gets a managed Id/Guid exactly like a menu does (auto-generated Guid,
duplicate-id checks, the standard Id field). Without this, a custom view used the default inspector
and its Id stayed empty — which made it unusable anywhere a view is referenced by id (the
initial-view picker, navigation signals, hosting), since those store the asset's Id.
The transition-path rewrite-on-rename algorithm lives in CompositeNavPathRewriter; this
editor only detects which child slots changed and calls into it.