private async Task YourDefensePile_BoardClickedAsync() { if (_gameContainer !.OtherTurn > 0) { return; } if (_mainGame !.SingleInfo !.MainHandList.HasSelectedObject() == false) { return; } if (_mainGame.SingleInfo.DefenseList.HasSelectedObject() == true) { await UIPlatform.ShowMessageAsync("Cannot choose any defense cards on the board to add more defense cards"); return; } var tempDefenseList = _mainGame.SingleInfo.MainHandList.GetSelectedItems(); if (await _mainGame.CanPlayDefenseCardsAsync(tempDefenseList) == false) { return; } if (_mainGame.BasicData !.MultiPlayer == true) { await _mainGame.Network !.SendAllAsync("addtodefense", tempDefenseList.GetDeckListFromObjectList()); } tempDefenseList.UnselectAllObjects(); await _mainGame.AddCardsToDefensePileAsync(tempDefenseList); //hopefully this is correct. }
private async Task MainDefense1_BoardClickedAsync() { if (_gameContainer !.OtherTurn == 0) { throw new BasicBlankException("Should not have allowed the click for main defense because not the other turn to defend themselves"); } if (_mainGame !.SingleInfo !.MainHandList.HasSelectedObject() == false && _mainGame.SingleInfo.DefenseList.HasSelectedObject() == false) { await UIPlatform.ShowMessageAsync("Must choose at least a card from defense or at least a card from hand"); return; } if (_mainGame.SingleInfo.MainHandList.HasSelectedObject() && _mainGame.SingleInfo.DefenseList.HasSelectedObject()) { await UIPlatform.ShowMessageAsync("Cannot choose cards from both from hand and from defense piles"); return; } bool fromHand; DeckRegularDict <RegularSimpleCard> tempDefenseList; if (_mainGame.SingleInfo.MainHandList.HasSelectedObject()) { fromHand = true; tempDefenseList = _mainGame.SingleInfo.MainHandList.GetSelectedItems(); } else { fromHand = false; tempDefenseList = _mainGame.SingleInfo.DefenseList.GetSelectedItems(); if (tempDefenseList.Any(items => items.Color == EnumColorList.Red)) { throw new BasicBlankException("No red attack cards should have even been put to defense pile"); } } if (await _mainGame.CanPlayDefenseCardsAsync(tempDefenseList) == false) { return; } if (_model.MainDefense1 !.CanAddDefenseCards(tempDefenseList) == false) { await UIPlatform.ShowMessageAsync("This defense is not enough to prevent a goal from the attacker"); return; } if (_mainGame.BasicData !.MultiPlayer == true) { var deckList = tempDefenseList.GetDeckListFromObjectList(); if (fromHand == true) { await _mainGame.Network !.SendAllAsync("defensehand", deckList); } else { await _mainGame.Network !.SendAllAsync("defenseboard", deckList); } } tempDefenseList.UnselectAllObjects(); await _mainGame.PlayDefenseCardsAsync(tempDefenseList, fromHand); }
private Task YourDefensePile_ObjectClickedAsync(RegularSimpleCard thisObject, int index) { if (_mainGame !.SingleInfo !.MainHandList.HasSelectedObject() == true) { return(Task.CompletedTask); } thisObject.IsSelected = !thisObject.IsSelected; return(Task.CompletedTask); }