Пример #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));
        }
    }
Пример #3
0
    protected override void OnCardEnter(CGCardObject card)
    {
        if (card.m_isSpell)
        {
            m_cgManager.AddEffectToStack(card.GetEffect(CGEffectType.ON_REMOVE));
            m_cgManager.TriggerEvent("SpellRemoved");

            CGC_MoveCardToGraveyard command = new CGC_MoveCardToGraveyard(card.m_owner.m_ID, card.m_cardID);
            m_cgManager.m_connection.TransmitStream(command.PackCommand(), 0);
            m_cgManager.m_connection.TransmitStream(command.PackCommand(), 1);
        }
        card.SetIsSpell(false);
    }
Пример #4
0
 protected override void OnCardExit(CGCardObject card)
 {
     m_cgManager.AddEffectToStack(card.GetEffect(CGEffectType.ON_REMOVE));
 }