예제 #1
0
    public void PlayRandomCardFromHand()
    {
        CGCardObject card = m_hand.GetRandomPlayableCard();

        if (card != null)
        {
            card.PlayFromHand(this);

            if (m_ID == 0)
            {
                CGC_PlayerPlayCardFromHand command = new CGC_PlayerPlayCardFromHand(card.m_data, card.m_cardID, card.GetTimeRemaining());
                CGVisualManager.instance.AddCommand(command);
            }
            else
            {
                CGC_OpponentPlayCardFromHand command = new CGC_OpponentPlayCardFromHand(card.m_data, card.m_cardID, card.GetTimeRemaining());
                CGVisualManager.instance.AddCommand(command);
            }

            Debug.Log("Played card: " + card.m_cardName);

            // Add any "OnPlay" effect to the stack
            m_cgManager.AddEffectToStack(card.GetEffect(CGEffectType.ON_PLAY));
        }
    }
예제 #2
0
    /** Create a spell from the card in the player's hand, adding any "OnPlay" effect to the stack */
    public void PlayCardFromHand(int cardID)
    {
        // Create a spell from the chosen card
        CGCardObject card = m_hand.GetCardWithID(cardID);

        if (card != null)
        {
            card.PlayFromHand(this);

            if (m_ID == 0)
            {
                CGC_PlayerPlayCardFromHand command = new CGC_PlayerPlayCardFromHand(card.m_data, card.m_cardID, card.GetTimeRemaining());
                m_cgManager.m_connection.TransmitStream(command.PackCommand(), 0);
                CGC_OpponentPlayCardFromHand oppCommand = new CGC_OpponentPlayCardFromHand(card.m_data, card.m_cardID, card.GetTimeRemaining());
                m_cgManager.m_connection.TransmitStream(oppCommand.PackCommand(), 1);
            }
            else
            {
                CGC_PlayerPlayCardFromHand command = new CGC_PlayerPlayCardFromHand(card.m_data, card.m_cardID, card.GetTimeRemaining());
                m_cgManager.m_connection.TransmitStream(command.PackCommand(), 1);
                CGC_OpponentPlayCardFromHand oppCommand = new CGC_OpponentPlayCardFromHand(card.m_data, card.m_cardID, card.GetTimeRemaining());
                m_cgManager.m_connection.TransmitStream(oppCommand.PackCommand(), 0);
            }

            Debug.Log("Played card: " + card.m_cardName);

            // Add any "OnPlay" effect to the stack
            m_cgManager.AddEffectToStack(card.GetEffect(CGEffectType.ON_PLAY));
        }
    }