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.
Implements
Inherited Members
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()