logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SerenitySystemConfigurationFreshnessWatcher

    Keeps a SerenitySystemConfigurationResolver honest about project changes the caller did not itself cause: a reader who leaves a Hub view or wizard window open, authors a settings asset through an external tool, and returns finds the resolver's cache invalidated automatically instead of only on the next manual Refresh. Subscribes to UnityEditor.EditorApplication.projectChanged by default, mirroring InstallableSystemSettingsResolutionCache's subscription; the subscribe and unsubscribe delegates are injectable so a test can raise a change without touching the real editor event.

    Inheritance
    object
    SerenitySystemConfigurationFreshnessWatcher
    Implements
    IDisposable
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.CreateGame.Infrastructure.Editor.Systems
    Assembly: Serenity.UnityCreateGame.Infrastructure.Editor.dll
    Syntax
    public sealed class SerenitySystemConfigurationFreshnessWatcher : IDisposable

    Constructors

    SerenitySystemConfigurationFreshnessWatcher(SerenitySystemConfigurationResolver, Action, Action<Action>, Action<Action>)

    Declaration
    public SerenitySystemConfigurationFreshnessWatcher(SerenitySystemConfigurationResolver resolver, Action onInvalidated = null, Action<Action> subscribe = null, Action<Action> unsubscribe = null)
    Parameters
    Type Name Description
    SerenitySystemConfigurationResolver resolver
    Action onInvalidated
    Action<Action> subscribe
    Action<Action> unsubscribe

    Methods

    Dispose()

    Unsubscribes from project-change notifications. Safe to call more than once.

    Declaration
    public void Dispose()

    Implements

    IDisposable
    In this article
    © 2026 Serenity. All Rights Reserved