コード例 #1
0
        async Task IOtherPlayerProcess.SelectCardAsync(int deck)
        {
            if (_gameContainer.SingleInfo !.CanSendMessage(_gameContainer.BasicData !) == true)
            {
                await _gameContainer.Network !.SendAllAsync("cardselected", deck);
            }
            if (_gameContainer !.OtherPlayer !.PlayerCategory == EnumPlayerCategory.Self)
            {
                _model.PlayerHand1 !.SelectOneFromDeck(deck);
                if (_gameContainer.Test !.NoAnimations == false)
                {
                    await _gameContainer.Delay !.DelaySeconds(.75);
                }
            }
            _gameContainer.OtherPlayer.MainHandList.RemoveObjectByDeck(deck);
            var thisCard = _gameContainer.DeckList !.GetSpecificItem(deck);

            thisCard.IsUnknown  = false;
            thisCard.IsSelected = false;
            SortOtherCards();
            _gameContainer.SingleInfo !.MainHandList.Add(thisCard);
            if (_gameContainer.SingleInfo.PlayerCategory == EnumPlayerCategory.Self)
            {
                thisCard.Drew = true;
                if (_gameContainer.SortCards == null)
                {
                    throw new BasicBlankException("Nobody is handling sort cards.  Rethink");
                }
                _gameContainer.SortCards.Invoke();
            }
            _gameContainer.SaveRoot !.AlreadyChoseOne = true;
            await _gameContainer.ContinueTurnAsync !.Invoke();
        }
コード例 #2
0
 public DeckRegularDict <MonopolyCardGameCardInformation> GetSelectedItems => HandList.GetSelectedItems(); //hopefully this simple
 public void GetNumberOfItems(int howMany)
 {
     howMany.Times(x =>
     {
         var thisCard  = HandList.Last();
         thisCard.Drew = true;
         HandList.RemoveSpecificItem(thisCard);
         _gameContainer.SingleInfo !.MainHandList.Add(thisCard);
     });
     if (_gameContainer.SingleInfo !.PlayerCategory == EnumPlayerCategory.Self)
     {
         _gameContainer.SingleInfo.MainHandList.Sort();
     }
 }
コード例 #3
0
 public async Task DrawDominoAsync(D thisDomino)
 {
     if (SingleInfo !.CanSendMessage(BasicData !) == true)
     {
         await Network !.SendAllAsync("drawdomino", thisDomino.Deck);
     }
     _model.BoneYard !.RemoveDomino(thisDomino);
     _model.BoneYard.PopulateTotals();
     thisDomino.IsUnknown = false;
     thisDomino.Drew      = true;
     SingleInfo !.MainHandList.Add(thisDomino);
     if (SingleInfo.PlayerCategory == EnumPlayerCategory.Self)
     {
         SingleInfo.MainHandList.Sort();
     }
     await AfterDrawingDomino();
 }
コード例 #4
0
 public async Task DrawTileAsync(TileInfo thisTile, bool fromEnd)
 {
     thisTile.WhatDraw = EnumDrawType.FromHand;
     _model !.Pool1 !.RemoveTile(thisTile);
     _model.Pool1 !.PopulateTotals();
     SingleInfo !.MainHandList.Add(thisTile);
     if (fromEnd == false)
     {
         SaveRoot !.YourTiles.Add(thisTile.Deck);
     }
     if (SingleInfo.PlayerCategory == EnumPlayerCategory.Self && fromEnd == false)
     {
         SingleInfo.MainHandList.Sort();
     }
     if (fromEnd == false || SingleInfo.PlayerCategory == EnumPlayerCategory.OtherHuman)
     {
         await ContinueTurnAsync();
     }
 }
コード例 #5
0
        public async Task RemoveTileFromSetAsync(int index, int deck)
        {
            SaveRoot !.TilesFromField.Add(deck);
            TileSet thisSet = _model !.MainSets1 !.GetIndividualSet(index);

            SaveRoot.DidExpand = true;
            var thisTile = _model.Pool1 !.GetTile(deck);

            thisTile.WhatDraw = EnumDrawType.FromSet;
            if (thisTile.IsJoker)
            {
                thisTile.Number = 20;
            }
            thisSet.HandList.RemoveObjectByDeck(deck);
            SingleInfo !.MainHandList.Add(thisTile);
            if (SingleInfo.PlayerCategory == EnumPlayerCategory.Self)
            {
                SingleInfo.MainHandList.Sort();
            }
            await ContinueTurnAsync();
        }