public void ServerDestroyTrap(NetworkIdentity cardId) { Card card = cardId.gameObject.GetComponent <Card>(); arena.RemoveTrap(card); discard.AddCard(card); RpcDestroyTrap(cardId); }
public void UseCard() { if (selectedCard) { UseResource(selectedCard.card); discard.AddCard(selectedCard.card); selectedCard.releaseIndicator(); hand.RemoveCard(selectedCard.card); Destroy(selectedCard.gameObject); selectedCard = null; } }
public void GetThrownCards_FireworkPileWithBlueOneAndDiscardPileWithBlueOne_ReturnsListWith2Elements() { //// arrange // create fake deck that contains blue one cards only FakeGameProvider provider = GameProviderFabric.Create(Color.Blue); // play blue one card var fireworkPile = new FireworkPile(provider); fireworkPile.AddCard(new Card(Color.Blue, Rank.One)); // discard blue one card var discardPile = new DiscardPile(provider); discardPile.AddCard(new Card(Color.Blue, Rank.One)); GameProvider gameProvider = new GameProvider(); var pileAnalyzer = new PilesAnalyzer(gameProvider); //// act IReadOnlyList <Card> actual = pileAnalyzer.GetThrownCards(fireworkPile, discardPile); Assert.AreEqual(2, actual.Count); }
public void GetThrownCards_FireworkPileWithBlueOneAndDiscardPileWithBlueOne_ReturnsListWithBlueOnesOnly() { //// arrange FakeGameProvider gameProvider = GameProviderFabric.Create(new List <Color> { Color.Blue, Color.Red }.AsReadOnly()); // play blue one card var fireworkPile = new FireworkPile(gameProvider); fireworkPile.AddCard(new Card(Color.Blue, Rank.One)); // discard blue one card var discardPile = new DiscardPile(gameProvider); discardPile.AddCard(new Card(Color.Blue, Rank.One)); var pileAnalyzer = new PilesAnalyzer(gameProvider); //// act IReadOnlyList <Card> actual = pileAnalyzer.GetThrownCards(fireworkPile, discardPile); Assert.IsTrue(actual.Count > 0 && actual.All(card => Equals(card, new Card(Color.Blue, Rank.One)))); }
public void AddCard(Card card) { discardPile.AddCard(card.name); Destroy(topCard.gameObject); topCard = card; topCard.SetParent(pile); }
public void DiscardCard(int index) { Card playedOne = cards[index]; DiscardPile dp = MainManager.instance.GetDiscardPile(); dp.AddCard(playedOne); cards.RemoveAt(index); }
public void GetUniqueCards_DiscardAllYellowOneCards_DoesNotContainYellowCards() { IGameProvider provider = GameProviderFabric.Create(Color.Yellow); var fireworkPile = new FireworkPile(provider); var discardPile = new DiscardPile(provider); discardPile.AddCard(new Card(Color.Yellow, Rank.One)); discardPile.AddCard(new Card(Color.Yellow, Rank.One)); discardPile.AddCard(new Card(Color.Yellow, Rank.One)); GameProvider gameProvider = new GameProvider(); var pileAnalyzer = new PilesAnalyzer(gameProvider); IReadOnlyList <Card> actual = pileAnalyzer.GetUniqueCards(fireworkPile, discardPile); Assert.IsFalse(actual.Any(card => card.Color == Color.Yellow)); }
public DiscardPile Clone() { var clone = new DiscardPile(this.Provider); foreach (var card in Cards) { clone.AddCard(card); } return(clone); }
public void DiscardAll() { DiscardPile dp = MainManager.instance.GetDiscardPile(); foreach (var item in cards) { dp.AddCard(item); } cards.Clear(); }
public void GetCardsWhateverToPlay_DiscardedAllWhiteOne_DoesNotContainWhiteCards() { FakeGameProvider provider = GameProviderFabric.Create(new List <Color> { Color.White, Color.Red }); var fireworkPile = new FireworkPile(provider); var discardPile = new DiscardPile(provider); discardPile.AddCard(new Card(Color.White, Rank.One)); discardPile.AddCard(new Card(Color.White, Rank.One)); discardPile.AddCard(new Card(Color.White, Rank.One)); GameProvider gameProvider = new GameProvider(); var pileAnalyzer = new PilesAnalyzer(gameProvider); IReadOnlyList <Card> actual = pileAnalyzer.GetCardsWhateverToPlay(fireworkPile, discardPile); Assert.IsTrue(actual.All(card => card.Color != Color.White)); }
public void Discard(DiscardPile discardPile) { this.transform.SetParent(discardPile.transform); this.transform.position = discardPile.transform.position; discardPile.AddCard(this); if (this.cardRow) { this.cardRow.RemoveCard(this); } this.beginDragRow = null; this.cardRow = null; }
public bool SelectCard(Participant participant, Card card) { if (participant != participants[actualParticipantIndex]) { return(false); } if (discardPile.AddCard(card)) { StartCoroutine(nameof(SelectCard), card); return(true); } return(false); }
public void GetUniqueCards_DiscardBlueTwoCard_ContainsBlueTwoCard() { IGameProvider gameProvider = GameProviderFabric.Create(Color.Blue); FireworkPile fireworkPile = new FireworkPile(gameProvider); DiscardPile discardPile = new DiscardPile(gameProvider); Card blueTwoCard = new Card(Color.Blue, Rank.Two); discardPile.AddCard(blueTwoCard); var pileAnalyzer = new PilesAnalyzer(gameProvider); IReadOnlyList <Card> actual = pileAnalyzer.GetUniqueCards(fireworkPile, discardPile); Assert.IsTrue(actual.Contains(new Card(Color.Blue, Rank.Two))); }
public void GetUniqueCards_PlayRedOneAndDiscardRedOne_DoesNotContainRedOne() { IGameProvider provider = GameProviderFabric.Create(Color.Red); var fireworkPile = new FireworkPile(provider); fireworkPile.AddCard(new Card(Color.Red, Rank.One)); var discardedPile = new DiscardPile(provider); discardedPile.AddCard(new Card(Color.Red, Rank.One)); var pileAnalyzer = new PilesAnalyzer(provider); IReadOnlyList <Card> actual = pileAnalyzer.GetUniqueCards(fireworkPile, discardedPile); Assert.IsFalse(actual.Contains(new Card(Color.Red, Rank.One))); }
public void AddCard_Always_ReturnsTrue() { IGameProvider provider = new FakeGameProvider() { Colors = new List <Color>() { Color.Blue, Color.Green, Color.Red, Color.White }, Ranks = new List <Rank> { Rank.One, Rank.Two, Rank.Three, Rank.Four }, }; var discardPile = new DiscardPile(provider); var blueThreeCard = new Card(Color.Blue, Rank.Three); bool added = discardPile.AddCard(blueThreeCard); Assert.IsTrue(added); }
public void DiscardAttackCard(AttackCard card) { attackDiscardPile.AddCard(card.name); attacksOnHand.Remove(card); Destroy(card.gameObject); }
public void DiscardLocationCard(LocationCard card) { locationDiscardPile.AddCard(card.name); Destroy(card.gameObject); }