logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class ViewPreviewRendererRegistry

    The catalogue of IViewPreviewRenderers an author's definition can be previewed with, discovered across every currently-compiled editor assembly rather than hardcoded here — mirrors CutscenePreviewProviderRegistry's role as the cross-assembly registration point a module-owning assembly cannot be referenced back from. A thin façade over Serenity.Global.Infrastructure.Editor.EditorTypeRegistry`1, shared with ViewAuthoringToolOpenerRegistry, which discovers every implementation through Serenity.Global.Infrastructure.Editor.EditorTypeDiscovery instead of requiring each module to push its own registration on domain reload.

    Inheritance
    object
    ViewPreviewRendererRegistry
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Ui.Infrastructure.Editor.Preview
    Assembly: Serenity.UnityUi.Infrastructure.Editor.dll
    Syntax
    public static class ViewPreviewRendererRegistry

    Properties

    All

    Every discovered renderer, in resolution order (a PlaceholderViewPreviewRenderer last).

    Declaration
    public static IReadOnlyList<IViewPreviewRenderer> All { get; }
    Property Value
    Type Description
    IReadOnlyList<IViewPreviewRenderer>

    Methods

    Refresh()

    Discards the cached catalogue, forcing the next All/Resolve(UnityViewDefinition) to rebuild it.

    Declaration
    public static void Refresh()

    Resolve(UnityViewDefinition)

    The renderer that claims definition — the first whose CanRender agrees.

    Declaration
    public static IViewPreviewRenderer Resolve(UnityViewDefinition definition)
    Parameters
    Type Name Description
    UnityViewDefinition definition

    The definition to resolve a renderer for.

    Returns
    Type Description
    IViewPreviewRenderer

    Never null: falls back to the catalogue's own discovered placeholder when nothing else claims it — in practice unreachable, since CanRender(UnityViewDefinition) always agrees and is always sorted last, so the loop inside Serenity.Global.Infrastructure.Editor.EditorTypeRegistry`1.Resolve(System.Func{`0,System.Boolean},System.Func{`0,System.Boolean},`0) always matches it before falling through to Serenity.Ui.Infrastructure.Editor.Preview.ViewPreviewRendererRegistry.DiscoveredPlaceholder.

    In this article
    © 2026 Serenity. All Rights Reserved