Example #1
0
    // Functions
    public void DrawCards(int numCards)
    {
        Debug.Log("Drawing " + numCards + " cards");

        for (int i = 0; i < numCards; i++)
        {
            CGCardObject card = m_deck.GetTopCard();
            if (card == null)
            {
                // This player loses the game
                return;
            }

            m_hand.MoveCardToHere(card);

            // Create the 'card draw' client command
            if (m_ID == 0)
            {
                // Tell player 0 what card they drew
                CGC_PlayerDrawCard command = new CGC_PlayerDrawCard(card.m_data, card.m_cardID);
                m_cgManager.m_connection.TransmitStream(command.PackCommand(), 0);
                // Tell player 1 that player 0 drew a card
                CGC_OpponentDrawCard oppCommand = new CGC_OpponentDrawCard();
                m_cgManager.m_connection.TransmitStream(oppCommand.PackCommand(), 1);
            }
            else
            {
                // Tell player 1 what card they drew
                CGC_PlayerDrawCard command = new CGC_PlayerDrawCard(card.m_data, card.m_cardID);
                m_cgManager.m_connection.TransmitStream(command.PackCommand(), 1);
                // Tell player 0 that player 1 drew a card
                CGC_OpponentDrawCard oppCommand = new CGC_OpponentDrawCard();
                m_cgManager.m_connection.TransmitStream(oppCommand.PackCommand(), 0);
            }
        }
    }