logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class CreateCharacterWindow

    Step-by-step window for creating (or editing) one CharacterConfigSO archetype asset. The stepped-wizard scaffolding — the header and breadcrumb, the body scroll, the footer and its error gate — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table and what the primary action does. It never mutates an asset itself: CharacterConfigCreator does the actual validation and generation work.

    Inheritance
    object
    CreateCharacterWindow
    Namespace: Serenity.Character.Infrastructure.Editor.Builder
    Assembly: Serenity.UnityCharacter.Infrastructure.Editor.dll
    Syntax
    public sealed class CreateCharacterWindow : SerenityStepWizardWindow<CreateCharacterWindow.WizardStep>

    Constructors

    CreateCharacterWindow()

    Declaration
    public CreateCharacterWindow()

    Properties

    PrimaryButtonLabel

    Re-read every repaint off Serenity.Character.Infrastructure.Editor.Builder.CreateCharacterWindow._cachedPreview, so the button says "Update" the moment the typed Id resolves to an archetype that already exists.

    Declaration
    protected override string PrimaryButtonLabel { get; }
    Property Value
    Type Description
    string

    WindowTitle

    Declaration
    protected override string WindowTitle { get; }
    Property Value
    Type Description
    string

    Methods

    BuildSteps()

    Declaration
    protected override WizardStepDescriptor<CreateCharacterWindow.WizardStep>[] BuildSteps()
    Returns
    Type Description
    WizardStepDescriptor<WizardStep>[]

    OnPrimaryAction()

    Lands on Done through the base's gated Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.GoTo(`0) and pings separately, rather than through Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.FinishWithAsset(System.String,`0) or Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.PingAndGoTo(System.String,`0,System.Boolean): this wizard never latches a terminal run (it has no "Create Another"), and its jump has always been the gated one — Summary re-validates clean after a successful write here, because an Id that now resolves to the asset just written is an update-in-place, not a collision.

    Declaration
    protected override void OnPrimaryAction()

    Open()

    Declaration
    public static void Open()
    In this article
    © 2026 Serenity. All Rights Reserved