Class StructuredBackendAuthoringFactory
Engine-side (non-IMGUI) half of the shared backend authoring step: per-kind connection defaults,
validation, and shared backend asset construction. Extracted from
Serenity.Leaderboard.Infrastructure.Editor.Builder.LeaderboardCreator so the GameSave and
GameProgress creation wizards do not each duplicate this logic a second and third time; Leaderboard's
own copy is left untouched to avoid touching its already-tested code.
Inheritance
StructuredBackendAuthoringFactory
Assembly: Serenity.UnityStructuredPersistence.Infrastructure.Editor.dll
Syntax
public static class StructuredBackendAuthoringFactory
Fields
DatabaseKinds
Declaration
public static readonly StructuredBackendAuthoringKind[] DatabaseKinds
Field Value
Methods
BuildBackendAsset(StructuredBackendAuthoringKind, StructuredBackendAuthoringFields, string, string)
Instantiates the shared, consumer-agnostic backend asset for the chosen authoring kind and fills
only the fields that subtype actually carries. Every kind produces an explicit asset — including
PlayerPrefs, whose definition is field-less — because
the runtime selects the store by the asset's concrete type.
Declaration
public static UnityStructuredBackendDefinition BuildBackendAsset(StructuredBackendAuthoringKind kind, StructuredBackendAuthoringFields fields, string defaultLocalFileDirectoryName, string defaultSqliteDatabaseFileName)
Parameters
Returns
GetKindDefaults(StructuredBackendAuthoringKind, string)
Connection defaults for a given backend kind. Non-server kinds report Port 0 and the shared
Database name since none of them use a server connection. Sqlite reports TimeoutSeconds 0 because the
shared UnitySqliteBackendDefinition carries no timeout knob — the driver default applies.
Declaration
public static StructuredBackendAuthoringFactory.KindDefaults GetKindDefaults(StructuredBackendAuthoringKind kind, string defaultSqliteDatabaseFileName)
Parameters
Returns
IsDatabaseKind(StructuredBackendAuthoringKind)
Declaration
public static bool IsDatabaseKind(StructuredBackendAuthoringKind kind)
Parameters
Returns
ScriptingDefineFor(StructuredBackendAuthoringKind)
The scripting define a database kind's driver requires, or empty for a non-database kind.
Declaration
public static string ScriptingDefineFor(StructuredBackendAuthoringKind kind)
Parameters
Returns
ValidateBackendFields(StructuredBackendAuthoringKind, StructuredBackendAuthoringFields, SerenityCreationValidationResult)
Validates fields for kind, reporting into result.
Declaration
public static void ValidateBackendFields(StructuredBackendAuthoringKind kind, StructuredBackendAuthoringFields fields, SerenityCreationValidationResult result)
Parameters