protected override IEnumerable <TaskInfo> GetChildren() { yield return(TaskInfo.FromAction("loadGameClient", 1.0, progress => { progress.ReportStatusMessage(this.L("game_client_manager", "status_loading_game_client")); _client = new LocalGameClient(_path, progress); })); yield return(TaskInfo.FromAction("loadGameClientConfiguration", 9.0, progress => { progress.ReportStatusMessage(this.L("game_client_manager", "status_loading_game_client_configuration")); var repositoryConfigFile = ApplicationPath.GetRepositoryConfigFile(_client, RepositoryConfigFile); RepositoryConfiguration config; if (File.Exists(repositoryConfigFile)) { config = RepositoryConfiguration.Load(repositoryConfigFile); config.MarkerColor = _repositoryManager.MarkerManager.ApplyForColor(config.MarkerColor); } else { config = new RepositoryConfiguration(_client); config.MarkerColor = _repositoryManager.MarkerManager.ApplyForColor(); } _repositoryManager._repositoryConfigurations[_client] = config; _repositoryManager._repositories.Add(_client); })); }
private void SaveRepositoryConfigurations() { File.WriteAllLines(s_repositoriesConfigFile, _repositories.Select(r => r.Path).ToArray()); foreach (var repository in _repositories) { var config = _repositoryConfigurations[repository]; var repositoryConfigFile = ApplicationPath.GetRepositoryConfigFile(repository, RepositoryConfigFile); RepositoryConfiguration.Save(config, repositoryConfigFile); } }
private static Dictionary <string, TankInstanceConfigurationInfo> LoadRepositoryTankConfigInfoStorage(IRepository repository) { var configFile = ApplicationPath.GetRepositoryConfigFile(repository, c_tankConfigStorageFile); try { using (var file = File.OpenRead(configFile)) { return((Dictionary <string, TankInstanceConfigurationInfo>)s_configInfoSerializer.ReadObject(file)); } } catch (Exception ex) { typeof(TankInstance).LogError("failed to load tank config info for repository '{0}': {1}", repository.ID, ex.Message); return(new Dictionary <string, TankInstanceConfigurationInfo>()); } }
static void Application_Exit(object sender, ExitEventArgs e) { foreach (var repositoryConfigInfoStorage in s_configInfoStorages) { var configFile = ApplicationPath.GetRepositoryConfigFile(repositoryConfigInfoStorage.Key, c_tankConfigStorageFile); try { using (var file = File.Create(configFile)) { s_configInfoSerializer.WriteObject(file, repositoryConfigInfoStorage.Value); } } catch (Exception ex) { typeof(TankInstance).LogError("failed to save tank config info for repository '{0}': {1}", repositoryConfigInfoStorage.Key.ID, ex.Message); } } }
private static string GetConfigFile(LocalGameClient client) { return(ApplicationPath.GetRepositoryConfigFile(client, c_configFile)); }