protected override void BeforeProcessFunction()
 {
     if (!launchEffectCard.IsInArea())
     {
         int index = 0;
         for (; index < DuelRuleManager.GetMagicTrapAreaNumber(); index++)
         {
             if (ownerPlayer.GetMagicTrapCardArea()[index] == null)
             {
                 ownerPlayer.GetMagicTrapCardArea()[index] = launchEffectCard;
                 break;
             }
         }
         launchEffectCard.AddContent("magicTrapCardAreaIndex", index);
         if (launchEffectCard.GetCardGameState() == CardGameState.Hand)
         {
             ownerPlayer.GetHandCards().Remove(launchEffectCard);
         }
         launchEffectCard.SetCardGameState(CardGameState.Front, index);
     }
     else
     {
         launchEffectCard.SetCardGameState(CardGameState.Front);
     }
     launchEffectCard.BeforeLaunchEffect(CostFinish);
 }
示例#2
0
        protected override void BeforeProcessFunction()
        {
            int index = 0;

            for (; index < DuelRuleManager.GetMagicTrapAreaNumber(); index++)
            {
                if (ownerPlayer.GetMagicTrapCardArea()[index] == null)
                {
                    ownerPlayer.GetMagicTrapCardArea()[index] = backPlaceCard;
                    break;
                }
            }
            backPlaceCard.AddContent("magicTrapCardAreaIndex", index);
            backPlaceCard.SetCardGameState(CardGameState.Back, index);
            ownerPlayer.GetHandCards().Remove(backPlaceCard);

            AfterFinishProcessFunction();
        }