Пример #1
0
        public static async Task RoundStart(int num)
        {
            await Task.Run(async() =>
            {
                GlobalBattleInfo.IsPlayer1Pass = false;
                GlobalBattleInfo.IsPlayer2Pass = false;
                UiCommand.ReSetPassState();
                UiCommand.SetNoticeBoardTitle($"第{num + 1}小局开始");
                UiCommand.NoticeBoardShow();
                await Task.Delay(2000);
                UiCommand.NoticeBoardHide();
                switch (num)
                {
                case (0):
                    {
                        Info.GlobalBattleInfo.ExChangeableCardNum += 3;
                        Info.UiInfo.CardBoardTitle = "剩余抽卡次数为" + Info.GlobalBattleInfo.ExChangeableCardNum;
                        for (int i = 0; i < 10; i++)
                        {
                            await CardCommand.DrawCard();
                        }
                        for (int i = 0; i < 5; i++)
                        {
                            await CardCommand.DrawCard(false);
                        }
                        break;
                    }

                case (1):
                    {
                        Info.GlobalBattleInfo.ExChangeableCardNum += 1;
                        Info.UiInfo.CardBoardTitle = "剩余抽卡次数为" + Info.GlobalBattleInfo.ExChangeableCardNum;
                        await CardCommand.DrawCard();
                        await CardCommand.DrawCard(false);
                        break;
                    }

                case (2):
                    {
                        Info.GlobalBattleInfo.ExChangeableCardNum += 1;
                        Info.UiInfo.CardBoardTitle = "剩余抽卡次数为" + Info.GlobalBattleInfo.ExChangeableCardNum;
                        await CardCommand.DrawCard();
                        await CardCommand.DrawCard(false);
                        break;
                    }

                default:
                    break;
                }
                await Task.Delay(2500);
                await WaitForSelectBoardCard(Info.RowsInfo.GetDownCardList(RegionTypes.Hand), GameEnum.CardBoardMode.ChangeCard);;

                //while (Info.GlobalBattleInfo.ChangeableCardNum != 0 && !Info.GlobalBattleInfo.IsSelectCardOver)
                //{
                //    await WaitForSelectBoardCard(Info.RowsInfo.GetDownCardList(RegionTypes.Hand), GameEnum.CardBoardMode.ChangeCard); ;
                //    Debug.Log("选择了卡牌" + Info.GlobalBattleInfo.SelectBoardCardIds[0]);
                //    Debug.Log("抽卡次数为" + Info.GlobalBattleInfo.ChangeableCardNum);
                //}
            });
        }
Пример #2
0
 public static async Task BattleEnd()
 {
     await Task.Run(async() =>
     {
         UiCommand.SetNoticeBoardTitle($"对战终止\n{GlobalBattleInfo.ShowScore.MyScore}:{GlobalBattleInfo.ShowScore.OpScore}");
         UiCommand.NoticeBoardShow();
         await Task.Delay(2000);
         UiCommand.NoticeBoardHide();
         await Task.Delay(5000);
     });
 }
Пример #3
0
 public static async Task TurnEnd()
 {
     await Task.Run(async() =>
     {
         UiCommand.SetNoticeBoardTitle((GlobalBattleInfo.IsMyTurn ? "我方" : "敌方") + "回合结束");
         UiCommand.NoticeBoardShow();
         await Task.Delay(2000);
         UiCommand.NoticeBoardHide();
         GameCommand.PlayCardLimit(true);
         await Task.Delay(2000);
         GlobalBattleInfo.IsMyTurn = !GlobalBattleInfo.IsMyTurn;
     });
 }
Пример #4
0
 public static async Task TurnStart()
 {
     await Task.Run(async() =>
     {
         UiCommand.SetNoticeBoardTitle((GlobalBattleInfo.IsMyTurn ? "我方" : "敌方") + "回合开始");
         UiCommand.NoticeBoardShow();
         await Task.Delay(2000);
         UiCommand.NoticeBoardHide();
         GlobalBattleInfo.IsCardEffectCompleted = false;
         GameCommand.PlayCardLimit(!GlobalBattleInfo.IsMyTurn);
         await Task.Delay(1500);
     });
 }
Пример #5
0
        //static int num = 0;
        public static async Task BattleStart()
        {
            await Task.Run(async() =>
            {
                //await Task.Delay(500);
                UiCommand.SetNoticeBoardTitle("对战开始");
                UiCommand.NoticeBoardShow();
                await Task.Delay(2000);
                UiCommand.NoticeBoardHide();

                CardDeck Deck = AllPlayerInfo.Player1Info.UseDeck;

                for (int i = 0; i < Deck.CardIds.Count; i++)
                {
                    //print("我方创造卡片");
                    Card NewCard = await CardCommand.CreatCard(Deck.CardIds[i]);
                    if (GlobalBattleInfo.IsPlayer1)
                    {
                        RowsInfo.GetDownCardList(RegionTypes.Deck).Add(NewCard);
                    }
                    else
                    {
                        RowsInfo.GetUpCardList(RegionTypes.Deck).Add(NewCard);
                    }
                    //NewCard.Init();
                }
                Deck = AllPlayerInfo.Player2Info.UseDeck;
                for (int i = 0; i < Deck.CardIds.Count; i++)
                {
                    //print("敌方创造卡片");
                    Card NewCard = await CardCommand.CreatCard(Deck.CardIds[i]);
                    if (GlobalBattleInfo.IsPlayer1)
                    {
                        RowsInfo.GetUpCardList(RegionTypes.Deck).Add(NewCard);
                    }
                    else
                    {
                        RowsInfo.GetDownCardList(RegionTypes.Deck).Add(NewCard);
                    }
                }
                await Task.Delay(2000);
            });

            //print("结束对战准备");
        }
Пример #6
0
 public static async Task RoundEnd(int num)
 {
     await Task.Run(async() =>
     {
         UiCommand.SetNoticeBoardTitle($"第{num + 1}小局结束\n{PointInfo.TotalDownPoint}:{PointInfo.TotalUpPoint}\n{((PointInfo.TotalDownPoint > PointInfo.TotalUpPoint) ? "Win" : "Lose")}");
         UiCommand.NoticeBoardShow();
         await Task.Delay(2000);
         UiCommand.NoticeBoardHide();
         int result = 0;
         if (PointInfo.TotalPlayer1Point > PointInfo.TotalPlayer2Point)
         {
             result = 1;
         }
         else if (PointInfo.TotalPlayer1Point < PointInfo.TotalPlayer2Point)
         {
             result = 2;
         }
         GlobalBattleInfo.PlayerScore.P1Score += result == 0 || result == 1 ? 1 : 0;
         GlobalBattleInfo.PlayerScore.P2Score += result == 0 || result == 2 ? 1 : 0;
         await Task.Delay(3500);
     });
 }