public wCardViewer() { InitializeComponent(); this.AllCards = DominionBase.Cards.CardCollection.GetAllCards(c => c.Location != DominionBase.Cards.Location.Invisible); this.AllCards.Sort(delegate(DominionBase.Cards.Card c1, DominionBase.Cards.Card c2) { return(c1.Name.CompareTo(c2.Name)); }); cbCards.ItemsSource = this.AllCards; SourceContainerList sources = new SourceContainerList(this.AllCards.Select(c => c.Source).Distinct().OrderBy(s => s.ToString())); cbSets.ItemsSource = sources; }
public wSettings(ref Settings settings) { this._MasterSettings = settings; this.Settings = new NET_WPF.Settings(settings); this.DataContext = this.Settings; #region Card & Group generation this.Cards = DominionBase.Cards.CardCollection.GetAllCards(c => c.Location == DominionBase.Cards.Location.Kingdom); this.Cards.Sort(delegate(DominionBase.Cards.Card c1, DominionBase.Cards.Card c2) { return(c1.Name.CompareTo(c2.Name)); }); foreach (DominionBase.Cards.Card card in this.Cards) { if (!this.Costs.ContainsKey(card.BaseCost)) { this.Costs[card.BaseCost] = 0; } this.Costs[card.BaseCost]++; foreach (DominionBase.Cards.Group group in Enum.GetValues(typeof(DominionBase.Cards.Group))) { if (group == DominionBase.Cards.Group.Basic || group == DominionBase.Cards.Group.None) { continue; } if ((card.GroupMembership & group) == group) { if (!Groups.ContainsKey(group)) { Groups[group] = 0; } Groups[group]++; } } } #endregion InitializeComponent(); #region Tab #1 -- Players slidNumPlayers.Value = this.Settings.NumberOfPlayers; slidHumanPlayers.Value = this.Settings.NumberOfHumanPlayers; IEnumerable <Type> aiTypes = DominionBase.Players.PlayerCollection.GetAllAIs(); IEnumerable <ucPlayerSettings> playerSettings = spPlayers.Children.OfType <ucPlayerSettings>(); for (int count = 0; count < this.Settings.PlayerSettings.Count; count++) { playerSettings.ElementAt(count).AITypes = aiTypes; playerSettings.ElementAt(count).PlayerSettings = this.Settings.PlayerSettings[count]; } // human players used to be limited to 1 slidHumanPlayers.Maximum = slidNumPlayers.Value; slidNumPlayers_ValueChanged(slidNumPlayers, null); slidHumanPlayers_ValueChanged(slidHumanPlayers, null); lbAISelection.DataContext = new ViewModel.AIListViewModel(aiTypes.Where(t => t != typeof(DominionBase.Players.AI.RandomAI)), settings.RandomAI_AllowedAIs); lbAISelection.SetBinding(ListBox.ItemsSourceProperty, new Binding("AIs")); #endregion #region Tab #2 -- Automation if (this.Settings.AutoPlayTreasures_LoanFirst) { rbChooser_AutomaticallyPlayTreasuresLoanBeforeVenture.IsChecked = true; } else { rbChooser_AutomaticallyPlayTreasuresVentureBeforeLoan.IsChecked = true; } if (this.Settings.AutoPlayTreasures_HornOfPlentyFirst) { rbChooser_AutomaticallyPlayTreasuresHornOfPlentyBeforeBank.IsChecked = true; } else { rbChooser_AutomaticallyPlayTreasuresBankBeforeHornOfPlenty.IsChecked = true; } #endregion #region Tab #3 -- Interface cbLayoutStyle.SelectedValue = this.Settings.LayoutStyle; cbGameLogLocation.SelectedValue = this.Settings.GameLogLocation; slidToolTipDuration_ValueChanged(slidToolTipDuration, null); #endregion #region Tab #4 -- Kingdom Card Setup cbUsePreset.IsChecked = this.Settings.UsePreset; cbShowPresetCards.IsChecked = this.Settings.Settings_ShowPresetCards; cbUsePreset_Checked(cbUsePreset, null); cbShowPresetCards_Checked(cbShowPresetCards, null); ucccConstraints.ConstraintCollection = this.Settings.Constraints; cbPresets.ItemsSource = this.Settings.Presets; cbPresets.SelectedItem = this.Settings.Presets.SingleOrDefault(p => p.Name == this.Settings.PresetName); #endregion #region Tab #5 -- Card Settings foreach (DominionBase.Cards.CardsSettings cardsSettings in this.Settings.CardSettings) { icCardSettings.Items.Add(new ucCardSettings { CardsSettings = cardsSettings }); } #endregion #region Tab #6 -- Set & Group Information IEnumerable <DominionBase.Cards.Source> sets = Enum.GetValues(typeof(DominionBase.Cards.Source)).Cast <DominionBase.Cards.Source>(); cbSet.ItemsSource = sets.Where(s => s != DominionBase.Cards.Source.All); IEnumerable <DominionBase.Cards.Category> categories = Enum.GetValues(typeof(DominionBase.Cards.Category)).Cast <DominionBase.Cards.Category>(); cbCategory.ItemsSource = categories.Where(c => c != DominionBase.Cards.Category.Unknown && this.Cards.Any(card => (card.Category & c) == c)); cbGroup.ItemsSource = this.Groups.OrderBy(kvp => (int)kvp.Key); #endregion }
public wSettings(ref Settings settings) { this._MasterSettings = settings; this.Settings = new NET_WPF.Settings(settings); this.DataContext = this.Settings; #region Card & Group generation this.Cards = DominionBase.Cards.CardCollection.GetAllCards(c => c.Location == DominionBase.Cards.Location.Kingdom); this.Cards.Sort(delegate(DominionBase.Cards.Card c1, DominionBase.Cards.Card c2) { return c1.Name.CompareTo(c2.Name); }); foreach (DominionBase.Cards.Card card in this.Cards) { if (!this.Costs.ContainsKey(card.BaseCost)) this.Costs[card.BaseCost] = 0; this.Costs[card.BaseCost]++; foreach (DominionBase.Cards.Group group in Enum.GetValues(typeof(DominionBase.Cards.Group))) { if (group == DominionBase.Cards.Group.Basic || group == DominionBase.Cards.Group.None) continue; if ((card.GroupMembership & group) == group) { if (!Groups.ContainsKey(group)) Groups[group] = 0; Groups[group]++; } } } #endregion InitializeComponent(); #region Tab #1 -- Players slidNumPlayers.Value = this.Settings.NumberOfPlayers; slidHumanPlayers.Value = this.Settings.NumberOfHumanPlayers; IEnumerable<Type> aiTypes = DominionBase.Players.PlayerCollection.GetAllAIs(); IEnumerable<ucPlayerSettings> playerSettings = spPlayers.Children.OfType<ucPlayerSettings>(); for (int count = 0; count < this.Settings.PlayerSettings.Count; count++) { playerSettings.ElementAt(count).AITypes = aiTypes; playerSettings.ElementAt(count).PlayerSettings = this.Settings.PlayerSettings[count]; } // human players used to be limited to 1 slidHumanPlayers.Maximum = slidNumPlayers.Value; slidNumPlayers_ValueChanged(slidNumPlayers, null); slidHumanPlayers_ValueChanged(slidHumanPlayers, null); lbAISelection.DataContext = new ViewModel.AIListViewModel(aiTypes.Where(t => t != typeof(DominionBase.Players.AI.RandomAI)), settings.RandomAI_AllowedAIs); lbAISelection.SetBinding(ListBox.ItemsSourceProperty, new Binding("AIs")); #endregion #region Tab #2 -- Automation if (this.Settings.AutoPlayTreasures_LoanFirst) rbChooser_AutomaticallyPlayTreasuresLoanBeforeVenture.IsChecked = true; else rbChooser_AutomaticallyPlayTreasuresVentureBeforeLoan.IsChecked = true; if (this.Settings.AutoPlayTreasures_HornOfPlentyFirst) rbChooser_AutomaticallyPlayTreasuresHornOfPlentyBeforeBank.IsChecked = true; else rbChooser_AutomaticallyPlayTreasuresBankBeforeHornOfPlenty.IsChecked = true; #endregion #region Tab #3 -- Interface cbLayoutStyle.SelectedValue = this.Settings.LayoutStyle; cbGameLogLocation.SelectedValue = this.Settings.GameLogLocation; slidToolTipDuration_ValueChanged(slidToolTipDuration, null); #endregion #region Tab #4 -- Kingdom Card Setup cbUsePreset.IsChecked = this.Settings.UsePreset; cbShowPresetCards.IsChecked = this.Settings.Settings_ShowPresetCards; cbUsePreset_Checked(cbUsePreset, null); cbShowPresetCards_Checked(cbShowPresetCards, null); ucccConstraints.ConstraintCollection = this.Settings.Constraints; cbPresets.ItemsSource = this.Settings.Presets; cbPresets.SelectedItem = this.Settings.Presets.SingleOrDefault(p => p.Name == this.Settings.PresetName); #endregion #region Tab #5 -- Card Settings foreach (DominionBase.Cards.CardsSettings cardsSettings in this.Settings.CardSettings) icCardSettings.Items.Add(new ucCardSettings { CardsSettings = cardsSettings }); #endregion #region Tab #6 -- Set & Group Information IEnumerable<DominionBase.Cards.Source> sets = Enum.GetValues(typeof(DominionBase.Cards.Source)).Cast<DominionBase.Cards.Source>(); cbSet.ItemsSource = sets.Where(s => s != DominionBase.Cards.Source.All); IEnumerable<DominionBase.Cards.Category> categories = Enum.GetValues(typeof(DominionBase.Cards.Category)).Cast<DominionBase.Cards.Category>(); cbCategory.ItemsSource = categories.Where(c => c != DominionBase.Cards.Category.Unknown && this.Cards.Any(card => (card.Category & c) == c)); cbGroup.ItemsSource = this.Groups.OrderBy(kvp => (int)kvp.Key); #endregion }