public void DrawnPieceCardCreatesCardDisplayObject() { CardPiece newCardPiece = CardUnitUTests.CreateTestCardUnit(); player.DrawCard(newCardPiece); Assert.AreEqual(1, player.handTransform.childCount); }
public void DrawnPieceCardGoesToHand() { CardPiece newCardPiece = CardUnitUTests.CreateTestCardUnit(); player.DrawCard(newCardPiece); Assert.AreEqual(1, player.cardPieceDisplays.Count); }
// Play piece at location public void PlayCardAtTile(CardPiece cardPiece, Vector3Int tileCoords) { GamePiece newPiece = GamePiece.CreatePiece <GamePiece>(cardPiece, player); gameMap.AddPiece(newPiece, tileCoords); CreateAndPositionPieceObject(newPiece); }
public void ResourceCounterDoesNotUpdateOnPieceCardDraw() { CardPiece newCardPiece = CardUnitUTests.CreateTestCardUnit(); player.DrawCard(newCardPiece); Assert.AreEqual(0, player.playerUI.GetResourceCount(ResourceType.Food)); }
public void NonPlayableCardDoesNotHaveHighlight() { CardPiece cardPiece = cardUnitDisplay1.GetCardPiece(); Assert.IsFalse(player.CardIsPlayable(cardPiece)); Assert.AreEqual(unplayableBorder, cardUnitDisplay1.cardBorder.sprite); }
public void PlayableCardHasPlayableBorder() { player.SetResource(ResourceType.Food, 10); CardPiece cardPiece = cardUnitDisplay1.GetCardPiece(); Assert.IsTrue(player.CardIsPlayable(cardPiece)); Assert.AreEqual(playableBorder, cardUnitDisplay1.cardBorder.sprite); }
// Create piece, decrease resources, and show hand playable cards public static T CreatePiece <T>(CardPiece cardPiece, Player player) where T : GamePiece { T newPiece = Instantiate(GetPiecePrefab <T>()); newPiece.SetCard(cardPiece); newPiece.player = player; return(newPiece); }
// Decrements played card resources public void DecrementPlayedCardResources(CardPiece playedCard) { Dictionary <ResourceType, int> resourceCosts = playedCard.GetResourceCosts(); foreach (KeyValuePair <ResourceType, int> pair in resourceCosts) { IncrementResource(pair.Key, -pair.Value); } }
// Set card public override void SetCard(CardPiece cardPiece) { if (cardPiece is CardBuilding) { CardBuilding cardBuilding = (CardBuilding)cardPiece; this.cardBuilding = cardBuilding; pieceType = PieceType.Building; SetCardStats(cardBuilding); } }
public void ClickOnCard(CardPiece _card) { if (selectedCard != null) { selectedCard.ReturnInHand(0.1f); } selectedCard = _card; ClickDrag(_card.transform); }
// Set card public override void SetCard(CardPiece cardPiece) { if (cardPiece is CardUnit) { CardUnit cardUnit = (CardUnit)cardPiece; this.cardUnit = cardUnit; pieceType = PieceType.Unit; SetCardStats(); } }
// Show 2nd resource costs public void Set2ndResource(CardPiece cardPiece) { if (cardPiece.res2 != ResourceType.None) { res2.sprite = Resources.Load <Sprite>("Art/UI/" + cardPiece.res2.ToString()); res2Cost.text = cardPiece.res2Cost.ToString(); } else { res2.gameObject.SetActive(false); res2Cost.gameObject.SetActive(false); } }
// Get whether card is playable public bool CardIsPlayable(CardPiece cardPiece) { Dictionary <ResourceType, int> resourceCosts = cardPiece.GetResourceCosts(); foreach (KeyValuePair <ResourceType, int> pair in resourceCosts) { if (GetResourceCount(pair.Key) < pair.Value) { return(false); } } return(true); }
private void UsedCard() { gameplayManager.ModifyMana(-selectedCard.Card.Cost); currentCards.Remove(selectedCard); trash.Add(selectedCard.Card.Index); Destroy(selectedCard.gameObject); selectedCard = null; CardsPosition(); Unselection(); gameplayManager.ChangeStep(e_step.Card); }
// Set selected card public void SetSelectedCard(CardPieceDisplay newSelectedCard) { selectedCardDisplay = newSelectedCard; // Get card piece if (newSelectedCard != null) { CardPiece cardPiece = newSelectedCard.GetCardPiece(); player.SetSelectedCard(newSelectedCard); } else { player.SetSelectedCard(null); } actionMapObject.PaintActionMap(); }
// Set shared attributes public void SetCardStats(CardPiece cardPiece) { // Set stats pieceName = cardPiece.cardName; health = cardPiece.health; currentHealth = health; might = cardPiece.might; range = cardPiece.range; sightRange = cardPiece.sightRange; // Set artwork art.sprite = cardPiece.artwork; lifebarOverlay.sprite = cardPiece.lifebarOverlay; SetCardLifebarOverlay(lifebarOverlay.sprite); ResetPiece(); }
// Play selected card at location public void PlaySelectedCardAtTile(Vector3Int tileCoords) { CardPiece selectedCard = player.selectedCard.GetCardPiece(); GamePiece newPiece = GamePiece.CreatePiece <GamePiece>(selectedCard, player); gameMap.AddPiece(newPiece, tileCoords); CreateAndPositionPieceObject(newPiece); Destroy(selectedCardDisplay.gameObject); player.PlayPiece(newPiece); resourceCounter.UpdateAllResources(player.GetResources()); // Update maps actionMapObject.ClearPaintedTiles(); fogMapObject.PaintFogMap(); // Update cards in hand handObject.ShowPlayableCards(); }
public void DrawCard() { if (deck.Count <= 0) { return; } int drawAt = Random.Range(0, deck.Count); Card drawn = gameplayManager.Data.Cards[deck[drawAt]]; CardPiece card = Instantiate(cardPrefab, cardParent).GetComponent <CardPiece>(); card.transform.localPosition = new Vector3(750, -350); card.Setup(drawn); currentCards.Add(card); CardsPosition(); deck.RemoveAt(drawAt); }
// Initialize from a card piece public static GamePieceObject InitializeFromCardPiece(CardPiece cardPiece, Transform parentTransform, Player player) { if (cardPiece.cardType == CardType.Unit) { GamePieceObject newUnitObject = Instantiate(GetUnitPrefab(), parentTransform); Unit newUnit = GamePiece.CreatePiece <Unit>(cardPiece, player); newUnitObject.SetPiece(newUnit); return(newUnitObject); } else if (cardPiece.cardType == CardType.Building) { GamePieceObject newBuildingObject = Instantiate(GetUnitPrefab(), parentTransform); Building newBuilding = GamePiece.CreatePiece <Building>(cardPiece, player); newBuildingObject.SetPiece(newBuilding); return(newBuildingObject); } else { return(null); } }
public void Unselection() { if (selectedCard != null) { selectedCard.ReturnInHand(0.1f); selectedCard = null; } inRange.Clear(); toDrag = null; if (zone != null) { zone.ShowZone(false); } foreach (Square s in utility.Board) { s.UnHighLight(); } }
// Initialize from a game piece public static GamePieceObject InitializeFromGamePiece(GamePiece piece, Transform parentTransform, int playerId) { CardPiece cardPiece = piece.GetCard(); if (cardPiece.cardType == CardType.Unit) { GamePieceObject newUnitObject = Instantiate(GetUnitPrefab(), parentTransform); newUnitObject.SetPiece(piece); //piece.gamePieceObject = newUnitObject; return(newUnitObject); } else if (cardPiece.cardType == CardType.Building) { GamePieceObject newBuildingObject = Instantiate(GetUnitPrefab(), parentTransform); newBuildingObject.SetPiece(piece); //piece.gamePieceObject = newBuildingObject; return(newBuildingObject); } else { return(null); } }
protected override void Down() { GameObject ui = DetectUI(Input.mousePosition); GameObject col = DetectCollider(Input.mousePosition); //UIs CardPiece _card = null; ActiveButton _active = null; if (ui != null) { _card = ui.GetComponent <CardPiece>(); _active = ui.GetComponent <ActiveButton>(); ui.GetComponent <Clickable>()?.Onclick(); } //Colliders HeroPiece _piece = null; Square _square = null; if (col != null) { _piece = col.GetComponent <HeroPiece>(); _square = col.GetComponent <Square>(); col.GetComponent <Clickable>()?.Onclick(); } //Steps if (step == e_step.Placement) { if (_piece != null) { boardManager.ClickOnHero(_piece); } else if (_square != null) { boardManager.ClickOnBoard(_square); } } else if (step == e_step.Card) { if (_card != null) { deckManager.ClickOnCard(_card); } else { UnselectAll(); } } else if (step == e_step.UseCard) { if (_piece != null) { deckManager.TargetHero(_piece); } else if (_square != null) { deckManager.TargetBoard(_square); } } else if (step == e_step.Board) { if (_active != null && _active.Piece.Team == team && _active.CheckMana() && _active.Piece.CanActive > 0) { boardManager.ClickOnActive(_active); } else if (_piece != null) { boardManager.ClickOnHero(_piece); } else if (_square != null) { boardManager.ClickOnBoard(_square); } else { UnselectAll(); } } else if (step == e_step.Ennemy) { if (_piece != null) { //Afficher les stats quand ce sera fait } else if (_card != null) { //Afficher les stats quand ce sera fait } } }
public abstract void SetCard(CardPiece cardPiece);
// Create piece public GamePieceObject CreatePiece(CardPiece cardPiece) { GamePieceObject newPieceObject = GamePieceObject.InitializeFromCardPiece(cardPiece, gameMapObject.tilemap.transform, player); return(newPieceObject); }