Class UnityCollectionSettingsLoader
Loads every settings asset an installer needs for a module label, applying the adopted-twin rule
(CollectionSettingsSelection): once a project owns the clone made from a shipped
asset, the shipped original is dropped instead of being installed beside it. Without it an adopted
project registers two of everything a collection holds — two music services, two menu definitions,
two of each modal — because LoadAllFromAnyBlocking<T>(IEnumerable<string>)
returns both and the caller keeps both.
The collection counterpart of UnitySingletonSettingsLoader, and kept beside it rather
than added to UnityAssetUtils.cs for the same reason: that file is already at the file-size
ratchet.
Partial adoption keeps working: a shipped member with no adopted twin is untouched, so a project
that adopted only some of a collection installs its own clones plus the shipped remainder.
Inheritance
UnityCollectionSettingsLoader
Assembly: Serenity.UnityGlobal.Infrastructure.dll
Syntax
public static class UnityCollectionSettingsLoader
Methods
LoadBlocking<T>(IEnumerable<string>, ILogService)
Loads every candidate settings asset of type T for
moduleLabels, then drops the shipped ones an adopted twin shadows. Returns an
empty array when no candidate exists at all — the caller keeps its own "not found" handling,
unchanged.
Declaration
public static T[] LoadBlocking<T>(IEnumerable<string> moduleLabels, ILogService logService) where T : Object, IFoundationSettings
Parameters
Returns
Type Parameters
LoadBlocking<T>(string, ILogService)
Loads every settings asset for one module label. See the multi-label overload.
Declaration
public static T[] LoadBlocking<T>(string moduleLabel, ILogService logService) where T : Object, IFoundationSettings
Parameters
Returns
Type Parameters