IEnumerator Management(B_Entity e, Card c) { //if is the first card set the card seed like a commander if (firstCard) { firstCard = false; commander = c.seed; if (mover != null) { mover.setPosition(turnIndex); } } //add card to the ground groundCards.Add(c); yield return(new WaitForSeconds(0.8f)); if (groundCards.Count >= players.Length) { TableUpdate(); yield return(new WaitForSeconds(0.8f)); goToTheNextTurn(); } else { UpdateMoves(); } }
private void Start() { ui = FindObjectOfType <B_UI>(); allPlayers = FindObjectsOfType <B_Entity>(); //set player foreach (var item in allPlayers) { if (item.isPlayer) { player = item; } } table = GetComponent <B_Table>(); table.green = allPlayers[0].green; BuidDeck(); if (GameType != gameType.five) { normalPlaySetUp(); } else { callingSetUp(); } //initialize table for last beacause game start whit table table.INIT(this); }
//add card to payer hand void addCardToPlayer(B_Entity e) { if (cardEnded) { return; } e.AddCardToHand(DrawedCard()); }
public void INIT(B_Deck d) { deck = d; if (players == null) { players = FindObjectsOfType <B_Entity>(); } tablecardsimages = GetComponentsInChildren <Image>(); taker = players[0]; UpdateMoves(); }
//real card taking update void TableUpdate() { Card winCard; //add at temp list all played cards List <Card> playedcards = new List <Card>(); for (int i = 0; i < players.Length; i++) { playedcards.Add(players[i].playedCard); } //calculate winner card winCard = StaticFunctions.getWinnerCard(playedcards, Briscola, commander); taker = winCard.playerRef; //hiligth most strong card taker.HilightBorder(true); //add all ground cards to player foreach (var item in groundCards) { taker.collectedCards.Add(item); } }
public void PlayCard(B_Entity e, Card c) { StartCoroutine(Management(e, c)); }