public TournamentSettings(TournamentPersistence storage)
        {
            _storage = storage;

            // default values
            NumberOfGenerations = 1000000;
            Algorithm2          = true; // use Algo2 by default now
            LoggingOn           = false;
            SkillLevels         = new ObservableCollection <SkillLevel>();
            SkillLevels.Add(new SkillLevel {
                Name = "Novice", Value = 10
            });
            SkillLevels.Add(new SkillLevel {
                Name = "Beginner", Value = 30
            });
            SkillLevels.Add(new SkillLevel {
                Name = "Intermediate", Value = 50
            });
            SkillLevels.Add(new SkillLevel {
                Name = "Experienced", Value = 80
            });
            SkillLevels.Add(new SkillLevel {
                Name = "Guru", Value = 100
            });

            Initialise();
            Save();
        }
Beispiel #2
0
 internal void SetStorageLocator(TournamentPersistence storageLocator)
 {
     try
     {
         ViewModel = new TournamentViewModel(storageLocator);
     }
     catch (InvalidPlayerListException e)
     {
         MessageBox.Show(string.Format("{0}\r\nSee README.rtf to help diagnose the error", e.Message), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         Application.Current.Shutdown();
         return;
     }
     catch (InvalidRoundException e)
     {
         MessageBox.Show(string.Format("{0}\r\nDelete the file or correct it", e.Message), "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         Application.Current.Shutdown();
         return;
     }
     catch (Exception e)
     {
         // For better diagnostics
         MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         throw;
     }
     Title       = string.Format("{0} - {1} {2}", storageLocator.Name, Constants.TitleBarText, Constants.VersionText());
     DataContext = ViewModel;
 }
Beispiel #3
0
        public TournamentViewModel(TournamentPersistence storageLocator)
        {
            Tournament = new Tournament(storageLocator);
            Tournament.LoadExistingData();

            ResultsViewModel      = new ResultsViewModel(Tournament);
            RoundManagerViewModel = new RoundManagerViewModel(Tournament);
            PlayerViewModel       = new PlayerViewModel(Tournament);
            SettingsViewModel     = new SettingsViewModel(Tournament.Settings);
        }
        public Tournament(TournamentPersistence storageLocator)
        {
            _storage = storageLocator;
            LoadSettings();

            var provider = new PlayerListFile(_storage, Settings);

            PlayerProvider          = provider;
            PlayerPairings          = new PlayerPairings();
            provider.PlayerDeleted += PlayerDeleted;
            Rounds = new ObservableCollection <HatRound>();
        }
        internal static TournamentSettings Load(TournamentPersistence storage)
        {
            var filename = storage.SettingsPath;

            if (!File.Exists(filename))
            {
                return(new TournamentSettings(storage));
            }

            using (var stream = new FileStream(filename, FileMode.Open))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(TournamentSettings));
                var           result     = serializer.Deserialize(stream) as TournamentSettings;
                if (result == null)
                {
                    return(null);
                }
                result._storage = storage;
                result.Initialise();
                return(result);
            }
        }