public static async Task Hurt(TriggerInfo triggerInfo)
        {
            EffectCommand.Bullet_Hurt(triggerInfo);
            EffectCommand.AudioEffectPlay(1);
            await Task.Delay(1000);

            triggerInfo.targetCard.changePoint -= triggerInfo.point;
            await Task.Delay(1000);
        }
        public static async Task ReviveCard(TriggerInfo triggerInfo)
        {
            Card card = triggerInfo.targetCard;

            EffectCommand.AudioEffectPlay(0);
            card.SetCardSeeAble(true);
            RemoveCard(card);
            AgainstInfo.cardSet[Orientation.My][RegionTypes.Uesd].Add(card);
            await card.cardAbility[TriggerTime.When][TriggerType.Play][0](triggerInfo);
        }
        public static async Task MoveToGrave(Card card, int Index = 0)
        {
            Orientation orientation = card.belong == Territory.My ? Orientation.Down : Orientation.Up;

            RemoveCard(card);
            AgainstInfo.cardSet[orientation][RegionTypes.Grave].singleRowInfos[0].ThisRowCards.Insert(Index, card);
            card.SetCardSeeAble(false);
            card.changePoint    = 0;
            card.isMoveStepOver = false;
            await Task.Delay(100);

            card.isMoveStepOver = true;
            EffectCommand.AudioEffectPlay(1);
        }
        public static async Task DeployCard(Card targetCard)
        {
            List <Card> TargetRow = AgainstInfo.SelectRegion.ThisRowCards;

            RemoveCard(targetCard);
            TargetRow.Insert(AgainstInfo.SelectLocation, targetCard);
            //targetCard.moveSpeed = 0.1f;
            targetCard.isMoveStepOver = false;
            await Task.Delay(1000);

            targetCard.isMoveStepOver = true;
            //targetCard.moveSpeed = 0.1f;
            EffectCommand.AudioEffectPlay(1);
        }
 public static async Task PlayCard(Card targetCard, bool IsAnsy = true)
 {
     AgainstInfo.PlayerPlayCard = targetCard;
     EffectCommand.AudioEffectPlay(0);
     RowCommand.SetPlayCardMoveFree(false);
     targetCard.isPrepareToPlay = false;
     if (IsAnsy)
     {
         Network.NetCommand.AsyncInfo(NetAcyncType.PlayCard);
     }
     targetCard.SetCardSeeAble(true);
     RemoveCard(targetCard);
     AgainstInfo.cardSet[Orientation.My][RegionTypes.Uesd].Add(targetCard);
     AgainstInfo.PlayerPlayCard = null;
 }
        public static async Task DrawCard(bool IsPlayerDraw = true, bool ActiveBlackList = false, bool isOrder = true)
        {
            //Debug.Log("抽卡");
            EffectCommand.AudioEffectPlay(0);
            Card TargetCard = AgainstInfo.cardSet[IsPlayerDraw ? Orientation.Down : Orientation.Up][RegionTypes.Deck].CardList[0];

            TargetCard.SetCardSeeAble(IsPlayerDraw);
            CardSet TargetCardtemp = AgainstInfo.cardSet[IsPlayerDraw ? Orientation.Down : Orientation.Up][RegionTypes.Deck];

            AgainstInfo.cardSet[IsPlayerDraw ? Orientation.Down : Orientation.Up][RegionTypes.Deck].Remove(TargetCard);
            AgainstInfo.cardSet[IsPlayerDraw ? Orientation.Down : Orientation.Up][RegionTypes.Hand].Add(TargetCard);
            if (isOrder)
            {
                OrderCard();
            }
            await Task.Delay(100);
        }
        public static async Task SummonCard(Card targetCard)
        {
            //await Task.Delay(1000);
            RemoveCard(targetCard);
            List <Card> TargetRow = AgainstInfo
                                    .cardSet[(RegionTypes)targetCard.region][(Orientation)targetCard.territory]
                                    .singleRowInfos.First().ThisRowCards;

            TargetRow.Add(targetCard);
            targetCard.isCanSee = true;
            //targetCard.moveSpeed = 0.1f;
            targetCard.isMoveStepOver = false;
            await Task.Delay(1000);

            targetCard.isMoveStepOver = true;
            //targetCard.moveSpeed = 0.1f;
            EffectCommand.AudioEffectPlay(1);
        }