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(); }
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(); } }
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(); }
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(); } }
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(); }