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);
            }
        }
Example #3
0
        protected BaseSettingsContainer()
        {
            foreach (var format in DI.GetBaseImplementations <ISettingsFormat>())
            {
                foreach (var extension in format.Extensions)
                {
                    AvailableSettingsFormats[extension] = format;
                }
            }

            if (AvailableSettingsFormats.Count == 0)
            {
                AvailableSettingsFormats.Add("memory", new MemorySettingsFormat());
            }
        }
Example #4
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);
        }
Example #5
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);
            }
        }