public TableausView(ISolitaireGameInstance gameInstance) { InitializeComponent(); var vm = new TableausViewModel(gameInstance); DataContext = vm; }
//shows whats on the table public TableausViewModel(ISolitaireGameInstance gameInstance) { StackViewModels = new ObservableCollection <VerticalCardStackViewModel>(); foreach (var tableau in gameInstance.Tableaus) { StackViewModels.Add(new VerticalCardStackViewModel(tableau)); } }
//Overflow Instance public OverflowCardStackViewModel(ISolitaireGameInstance gameInstance, IEventAggregator eventAggregator) { var stack = gameInstance.OverflowStack; _eventAggregator = eventAggregator; _cards = new List <Card>(stack); _wasteStack = new List <Card>(); DealtCards = new ObservableCollection <Card>(); TopCard = stack[stack.Count - 1]; DealStackCommand = new DelegateCommand(DealStack); SendCardToFoundationCommand = new DelegateCommand(SendCardToFoundation); }
public FoundationsView(ISolitaireGameInstance gameInstance, IEventAggregator eventAggregator) { InitializeComponent(); DataContext = new FoundationsViewModel(gameInstance, eventAggregator); }
public OverflowCardStackView(ISolitaireGameInstance gameInstance, IEventAggregator eventAggregator) { InitializeComponent(); DataContext = new OverflowCardStackViewModel(gameInstance, eventAggregator); }
//new foundation public FoundationsViewModel(ISolitaireGameInstance gameInstance, IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; Foundations = new Dictionary <Card.Suits, IFoundation>(gameInstance.Foundations); _eventAggregator.GetEvent <CardTransferRequestEvent>().Subscribe(AcceptCard); }