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);
                }));
            }
Beispiel #2
0
 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);
                }
            }
        }
Beispiel #5
0
 private static string GetConfigFile(LocalGameClient client)
 {
     return(ApplicationPath.GetRepositoryConfigFile(client, c_configFile));
 }