logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class FoundationReferenceContracts

    The single declarative table of every cross-asset string reference (by Serenity Id or Guid) an IFoundationSettings asset can hold, replacing what used to be several independent, hand-maintained lists: SerenityDiscoveryRegistry's curated id-contracts dump (an AI-facing report, now a projection of this table) and half of Serenity.GameSettings.Application.Validation.GameSettingWiringMap (its target-type/field lookup; the wiring-specific IsMixerParam/Summary stay its own). A future adoption-time remapper walks every row against a real asset to re-point references at adopted counterparts.

    Split into five collaborators by module ownership, not partial — none carries any serialized state or Unity lifecycle, so each is a named, independently readable table: Serenity.Global.Application.References.UiReferenceContracts, Serenity.Global.Application.References.GameSettingReferenceContracts, Serenity.Global.Application.References.ViewReferenceContracts, Serenity.Global.Application.References.BootTaskReferenceContracts and Serenity.Global.Application.References.FeedbackReferenceContracts.

    Inheritance
    object
    FoundationReferenceContracts
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Global.Application.References
    Assembly: Serenity.Global.Application.dll
    Syntax
    public static class FoundationReferenceContracts
    Remarks

    Deliberately excluded (documented here, not added on a guess):

    • UnityLeaderboardViewDefinition.BoardId — a row key inside UnityLeaderboardSettings.Boards, not an asset Id.
    • UnityHudElementDefinition.ParentId — addresses a sibling HUD element within the same asset, not another asset.
    • ICompositeViewDefinition.InitialActiveChildId — addresses a hosted child within the same composite, not another asset.
    • HudState.ActiveHudId — runtime state, never serialized on a settings asset.

    Candidates NOT verified against a real field and therefore not added on a guess: OptionsCascadeMenu._entries[].ActionId/.ConditionId, UnityAchievementSettings.PointsScoreKey, LeaderboardBoardSetting.SourceScoreKey.

    Properties

    All

    Every declared reference row, across every owner type.

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

    Methods

    ForOwnerType(string)

    Every row whose OwnerTypeName matches ownerTypeName exactly.

    Declaration
    public static IReadOnlyList<FoundationReferenceContract> ForOwnerType(string ownerTypeName)
    Parameters
    Type Name Description
    string ownerTypeName
    Returns
    Type Description
    IReadOnlyList<FoundationReferenceContract>

    ForOwnerTypeOrBase(IReadOnlyList<string>)

    Every row whose owner type name appears anywhere in ownerTypeNameChain — the concrete type first, then each base type — so a row declared against a shared base type still applies to every concrete subtype in the chain.

    Declaration
    public static IReadOnlyList<FoundationReferenceContract> ForOwnerTypeOrBase(IReadOnlyList<string> ownerTypeNameChain)
    Parameters
    Type Name Description
    IReadOnlyList<string> ownerTypeNameChain
    Returns
    Type Description
    IReadOnlyList<FoundationReferenceContract>
    In this article
    © 2026 Serenity. All Rights Reserved