/**
     * This method performs the animation of the cards that will be send to Bind Zone. And also performs
     * the remove from deck, add to bind and networking communication. This method must be call in a
     * Update function after a BindFromDeck method was called. When all Cards passed in the BindFromDeck
     * argument were sent to BindZone, func delegate will be executed.
     */
    public void BindFromDeckUpdate(Void0ParamsDelegate func)
    {
        if(BindFromDeck_Active)
        {
            if(BindFromDeck_Card == null || !BindFromDeck_Card.AnimationOngoing())
            {
                if(BindFromDeck_Card != null)
                {
                    //Remove from deck and add to BindZone.
                    Game.playerDeck.RemoveFromDeck(BindFromDeck_Card);
                    Game.field.AddToBindZone(BindFromDeck_Card);
                    BindFromDeck_Card = null;
                }

                //Send the next card in the list, if any. If not, func delegate is called.
                if(BindFromDeck_CardList.Count > 0)
                {
                    BindFromDeck_Card = BindFromDeck_CardList[0];
                    BindFromDeck_CardList.RemoveAt(0);
                    BindFromDeck_Card.TurnUp();
                    BindFromDeck_Card.BindAnim();
                    Game.SendPacket (GameAction.BIND_FROM_DECK, BindFromDeck_Card.cardID);
                }
                else
                {
                    BindFromDeck_Active = false;
                    func();
                }
            }
        }
    }
 public bool BindEnemyUnit(Card c)
 {
     Game.SendPacket(GameAction.SEND_TO_BINDZONE_ALLY, c.pos);
     Game.enemyField.RemoveFrom(Util.TransformToEquivalentEnemyPosition(c.pos));
     Game.enemyField.AddToBindZone(c);
     c.BindAnim();
     return true;
 }
 public void EnemyBindHand(Card c)
 {
     EnemyBindCard = c;
     EnemyBindCard.BindAnim();
 }
 public void FromHandToBind(Card c, int handPosition, bool bFacedown = false)
 {
     c.BindAnim();
     //int iFacedown = 0;
     //if(bFacedown) iFacedown = 1;
     SendPacket (GameAction.FROM_HAND_TO_BIND, c.cardID, handPosition);
 }
 public void BindHand(Card c)
 {
     BindCard = c;
     BindCard.BindAnim();
 }