public override void Load(AbstractSettingScriptableObject caller = null) { GetStorage(TypeScopeSettings.Local).Deserialize(); GetStorage(TypeScopeSettings.Global).Deserialize(); _dominationLocalStorage = GetValue <bool>("dominationLocalSettings", false, scope: TypeScopeSettings.Local); InvokeOnSettingsChanged(caller); }
// У нас инверсия считывания данных при старте, чтобы не было множество лишних вызвов, добавил caller private void AbstractSettings_OnSettingsChanged(AbstractSettingScriptableObject caller) { if (caller == null || caller == this) { GetSettings(settings); Raise(); } }
protected void InvokeOnSettingsChanged(AbstractSettingScriptableObject caller = null) { OnSettingsChanged?.Invoke(caller); }