private void Game_Replay_Click(object sender, RoutedEventArgs e)
		{
			if (game == null || game.State == DominionBase.GameState.Running || game.State == DominionBase.GameState.NotStarted)
			{
				miReplay.IsEnabled = false;
				return;
			}

			DominionBase.GameSettings settings = new DominionBase.GameSettings();
			settings.IdenticalStartingHands = game.Settings.IdenticalStartingHands;
			settings.ColonyPlatinumUsage = DominionBase.ColonyPlatinumUsage.Never;
			settings.ShelterUsage = DominionBase.ShelterUsage.Never;
			Dictionary<String, DominionBase.Cards.Card> cardDictMap = new Dictionary<string,DominionBase.Cards.Card>();

			settings.Preset = new DominionBase.Cards.Preset("Replay");
			foreach (DominionBase.Piles.Supply supply in game.Table.Supplies.Values)
			{
				if (supply.Location == DominionBase.Cards.Location.Kingdom)
				{
					settings.Preset.Cards.Add(DominionBase.Cards.Card.CreateInstance(supply.CardType));
				}

				//if (supply.CardType == DominionBase.Cards.Prosperity.TypeClass.Colony || supply.CardType == DominionBase.Cards.Prosperity.TypeClass.Platinum)
				//    settings.ColonyPlatinumUsage = DominionBase.ColonyPlatinumUsage.Always;
			}
			if (game.Settings.ColonyPlatinumUsage == DominionBase.ColonyPlatinumUsage.Used)
				settings.ColonyPlatinumUsage = DominionBase.ColonyPlatinumUsage.Always;
			if (game.Settings.ShelterUsage == DominionBase.ShelterUsage.Used)
				settings.ShelterUsage = DominionBase.ShelterUsage.Always;

			List<DominionBase.Cards.Card> copyOfPresetCards = new List<DominionBase.Cards.Card>(settings.Preset.Cards);
			foreach (DominionBase.Cards.Card presetCard in copyOfPresetCards)
				presetCard.CheckSetup(settings.Preset, game.Table);
			settings.RandomAI_Unique = game.Settings.RandomAI_Unique;
			settings.RandomAI_AllowedAIs.Clear();
			settings.RandomAI_AllowedAIs.AddRange(game.Settings.RandomAI_AllowedAIs);

			StartGame(settings);

		}
		private void Game_NewGame_Click(object sender, RoutedEventArgs e)
		{
			if (game != null && game.State == DominionBase.GameState.Running)
			{
				_StartingNewGame = true;
				if (!IsEndGameOK())
					return;
			}
			else
			{
				DominionBase.GameSettings settings = new DominionBase.GameSettings();
				settings.IdenticalStartingHands = _Settings.IdenticalStartingHands;
				settings.Constraints.AddRange(_Settings.Constraints);
				if (_Settings.UsePreset)
				{
					settings.Constraints.Clear();
					try { settings.Preset = _Settings.Presets.SingleOrDefault(p => p.Name == _Settings.PresetName); }
					catch { }

					if (settings.Preset == null)
					{
						wMessageBox.Show(String.Format("Cannot find preset named \"{0}\"!{1}Please check your presets.txt file.", _Settings.PresetName, System.Environment.NewLine), "Cannot find preset", MessageBoxButton.OK, MessageBoxImage.Exclamation);
						return;
					}
				}
				settings.CardSettings.AddRange(_Settings.CardSettings);
				settings.RandomAI_Unique = _Settings.RandomAI_Unique;
				settings.RandomAI_AllowedAIs.Clear();
				settings.RandomAI_AllowedAIs.AddRange(_Settings.RandomAI_AllowedAIs);
				if (_Settings.ForceColonyPlatinum)
					settings.ColonyPlatinumUsage = DominionBase.ColonyPlatinumUsage.Always;
				if (_Settings.ForceShelters)
					settings.ShelterUsage = DominionBase.ShelterUsage.Always;

				StartGame(settings);

				this.DataContext = wMain.Settings;
			}
		}