Exemple #1
0
    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();
        }
    }
Exemple #2
0
 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);
 }
Exemple #3
0
 //add card to payer hand
 void addCardToPlayer(B_Entity e)
 {
     if (cardEnded)
     {
         return;
     }
     e.AddCardToHand(DrawedCard());
 }
Exemple #4
0
 public void INIT(B_Deck d)
 {
     deck = d;
     if (players == null)
     {
         players = FindObjectsOfType <B_Entity>();
     }
     tablecardsimages = GetComponentsInChildren <Image>();
     taker            = players[0];
     UpdateMoves();
 }
Exemple #5
0
    //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);
        }
    }
Exemple #6
0
 public void PlayCard(B_Entity e, Card c)
 {
     StartCoroutine(Management(e, c));
 }