コード例 #1
0
        public void Init(ScoreHandCP mod)
        {
            _tempMod  = mod;
            _cardList = _tempMod.CardList;
            _cardList.CollectionChanged += CollectionChanged;
            _thisGrid = new Grid();
            Text      = _tempMod.Text; // i think
            Grid parentGrid = new Grid();

            parentGrid.Children.Add(ThisDraw);
            parentGrid.Children.Add(_thisGrid);
            var thisRect = ThisFrame.GetControlArea();

            SetUpMarginsOnParentControl(_thisGrid, thisRect);
            _thisGrid.Margin = new Thickness(_thisGrid.Margin.Left, _thisGrid.Margin.Top + 8, _thisGrid.Margin.Right, _thisGrid.Margin.Bottom); // not sure why did not work well this time (?)
            AddAutoColumns(_thisGrid, 3);
            AddAutoRows(_thisGrid, 2);
            HorizontalAlignment = HorizontalAlignment.Stretch;

            Content = parentGrid;
            if (_cardList.Count > 0)
            {
                PopulateList();
            }
        }
コード例 #2
0
        public CribbagePatienceMainViewModel(IEventAggregator aggregator,
                                             CommandContainer commandContainer,
                                             IGamePackageResolver resolver
                                             )
        {
            _aggregator      = aggregator;
            CommandContainer = commandContainer;
            CommandContainer.ExecutingChanged += CommandContainer_ExecutingChanged; //hopefully no problem (?)
            DeckPile = resolver.ReplaceObject <DeckObservablePile <CribbageCard> >();
            DeckPile.DeckClickedAsync += DeckPile_DeckClickedAsync;
            DeckPile.NeverAutoDisable  = false;
            DeckPile.SendEnableProcesses(this, () =>
            {
                return(false);
            });

            Hand1            = new HandObservable <CribbageCard>(commandContainer);
            Hand1.Visible    = false; //has to be proven true.
            Hand1.Maximum    = 6;
            Hand1.AutoSelect = HandObservable <CribbageCard> .EnumAutoType.SelectAsMany;



            _mainGame = resolver.ReplaceObject <CribbagePatienceMainGameClass>(); //hopefully this works.  means you have to really rethink.
            _aggregator.Subscribe(this);
            _mainGame._saveRoot.HandScores = new CustomBasicList <ScoreHandCP>();
            3.Times(x =>
            {
                var tempHand          = new ScoreHandCP();
                tempHand.HandCategory = (EnumHandCategory)x;
                _mainGame._saveRoot.HandScores.Add(tempHand);
            });
            StartPile             = new PileObservable <CribbageCard>(_aggregator, CommandContainer);
            StartPile.Text        = "Start Card";
            StartPile.CurrentOnly = true;
            StartPile.SendEnableProcesses(this, () => false);
            Scores           = new ScoreSummaryCP();
            TempCrib         = new HandObservable <CribbageCard>(CommandContainer);
            TempCrib.Visible = false;
            TempCrib.Text    = "Crib So Far";
            TempCrib.Maximum = 4;
        }