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); } }
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()); } }
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); }
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); } }