public void Unregister(FluentPerCampaignSettings settings)
 {
     if (LoadedSettings.ContainsKey(settings.Id))
     {
         LoadedSettings.Remove(settings.Id);
     }
 }
Beispiel #2
0
 public void Unregister(FluentGlobalSettings settings)
 {
     if (LoadedSettings.ContainsKey(settings.Id))
     {
         LoadedSettings.Remove(settings.Id);
     }
 }
        public override bool SaveSettings(BaseSettings settings)
        {
            if (Game.Current?.PlayerTroop?.StringId == null)
            {
                return(false);
            }

            if (!(settings is PerCharacterSettings tSettings) || !LoadedSettings.ContainsKey(tSettings.Id))
            {
                return(false);
            }

            var path = Path.Combine(RootFolder, tSettings.CharacterId, tSettings.FolderName, tSettings.SubFolder ?? "", $"{tSettings.Id}.{tSettings.Format}");

            if (AvailableSettingsFormats.ContainsKey(tSettings.Format))
            {
                AvailableSettingsFormats[tSettings.Format].Save(tSettings, path);
            }
            else
            {
                AvailableSettingsFormats["memory"].Save(tSettings, path);
            }

            return(true);
        }
        protected override void RegisterSettings(PerCharacterSettings tSettings)
        {
            if (Game.Current?.PlayerTroop?.StringId == null)
            {
                return;
            }

            if (tSettings == null || LoadedSettings.ContainsKey(tSettings.Id))
            {
                return;
            }

            LoadedSettings.Add(tSettings.Id, tSettings);

            var path = Path.Combine(RootFolder, tSettings.CharacterId, tSettings.FolderName, tSettings.SubFolder ?? "", $"{tSettings.Id}.{tSettings.Format}");

            if (AvailableSettingsFormats.ContainsKey(tSettings.Format))
            {
                AvailableSettingsFormats[tSettings.Format].Load(tSettings, path);
            }
            else
            {
                AvailableSettingsFormats["memory"].Load(tSettings, path);
            }
        }
Beispiel #5
0
        public virtual bool OverrideSettings(BaseSettings settings)
        {
            if (!(settings is TSettings tSettings) || !LoadedSettings.ContainsKey(tSettings.Id))
            {
                return(false);
            }

            SettingsUtils.OverrideSettings(LoadedSettings[tSettings.Id], tSettings);
            return(true);
        }
Beispiel #6
0
        protected override void RegisterSettings(GlobalSettings?settings)
        {
            if (settings is null || LoadedSettings.ContainsKey(settings.Id))
            {
                return;
            }

            LoadedSettings.Add(settings.Id, settings);

            var directoryPath   = Path.Combine(RootFolder, settings.FolderName, settings.SubFolder);
            var settingsFormats = GenericServiceProvider.GetService <IEnumerable <ISettingsFormat> >() ?? Enumerable.Empty <ISettingsFormat>();
            var settingsFormat  = settingsFormats.FirstOrDefault(x => x.FormatTypes.Any(y => y == settings.FormatType));

            settingsFormat?.Load(settings, directoryPath, settings.Id);
        }
Beispiel #7
0
        /// <inheritdoc/>
        public override bool SaveSettings(BaseSettings settings)
        {
            var behavior = GenericServiceProvider.GetService <PerSaveCampaignBehavior>();

            if (behavior is null)
            {
                return(false);
            }

            if (settings is not PerSaveSettings || !LoadedSettings.ContainsKey(settings.Id))
            {
                return(false);
            }

            return(behavior.SaveSettings((PerSaveSettings)settings));
        }
Beispiel #8
0
        private void ReloadAll()
        {
            var containerId = LegacyFluentGlobalSettings.ContainerId;

            if (AppDomain.CurrentDomain.GetData(containerId) is null)
            {
                AppDomain.CurrentDomain.SetData(containerId, new Dictionary <string, LegacyFluentGlobalSettings>());
            }

            var storage = (AppDomain.CurrentDomain.GetData(containerId) as Dictionary <string, LegacyFluentGlobalSettings>) !;

            foreach (var(id, settings) in storage)
            {
                if (!LoadedSettings.ContainsKey(id))
                {
                    RegisterSettings(new MCMv3FluentGlobalSettingsWrapper(settings));
                }
            }
        }
Beispiel #9
0
        public virtual bool SaveSettings(BaseSettings settings)
        {
            if (!(settings is TSettings tSettings) || !LoadedSettings.ContainsKey(tSettings.Id))
            {
                return(false);
            }

            var path = Path.Combine(RootFolder, tSettings.FolderName, tSettings.SubFolder ?? "", $"{tSettings.Id}.{tSettings.Format}");

            if (AvailableSettingsFormats.ContainsKey(tSettings.Format))
            {
                AvailableSettingsFormats[tSettings.Format].Save(tSettings, path);
            }
            else
            {
                AvailableSettingsFormats["memory"].Save(tSettings, path);
            }

            return(true);
        }
Beispiel #10
0
        protected virtual void RegisterSettings(TSettings tSettings)
        {
            if (tSettings == null || LoadedSettings.ContainsKey(tSettings.Id))
            {
                return;
            }

            LoadedSettings.Add(tSettings.Id, tSettings);

            var path = Path.Combine(RootFolder, tSettings.FolderName, tSettings.SubFolder ?? "", $"{tSettings.Id}.{tSettings.Format}");

            if (AvailableSettingsFormats.ContainsKey(tSettings.Format))
            {
                AvailableSettingsFormats[tSettings.Format].Load(tSettings, path);
            }
            else
            {
                AvailableSettingsFormats["memory"].Load(tSettings, path);
            }
        }