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); //} }); }
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); }); }
/// <summary> /// 临时的ai操作 /// </summary> /// <returns></returns> public static async Task TempOperationAsync() { if (Info.GlobalBattleInfo.IsPlayer1Pass || Info.GlobalBattleInfo.IsPlayer2Pass) { UiCommand.SetCurrentPass(); } else { await CardCommand.DisCard(Info.RowsInfo.GetMyCardList(RegionTypes.Hand)[0]); } }
public static async Task WaitForSelectBoardCard <T>(List <T> CardIds, GameEnum.CardBoardMode Mode = GameEnum.CardBoardMode.Select, int num = 1) { GlobalBattleInfo.SelectBoardCardIds = new List <int>(); GlobalBattleInfo.IsWaitForSelectBoardCard = true; UiCommand.SetCardBoardShow(); //Debug.Log("打开面板"); if (typeof(T) == typeof(Card)) { CardBoardCommand.LoadCardList(CardIds.Cast <Card>().ToList()); } else { CardBoardCommand.LoadCardList(CardIds.Cast <int>().ToList()); } Debug.Log("启动"); await Task.Run(async() => { switch (Mode) { case GameEnum.CardBoardMode.Select: while (GlobalBattleInfo.SelectBoardCardIds.Count < Mathf.Min(CardIds.Count, num) && !GlobalBattleInfo.IsFinishSelectBoardCard) { } break; case GameEnum.CardBoardMode.ChangeCard: while (Info.GlobalBattleInfo.ExChangeableCardNum != 0 && !Info.GlobalBattleInfo.IsSelectCardOver) { if (Info.GlobalBattleInfo.SelectBoardCardIds.Count > 0) { await CardCommand.ExchangeCard(); Info.GlobalBattleInfo.ExChangeableCardNum--; Info.GlobalBattleInfo.SelectBoardCardIds.Clear(); UiCommand.SetCardBoardTitle("剩余抽卡次数为" + Info.GlobalBattleInfo.ExChangeableCardNum); //Debug.Log("选择了卡牌" + Info.GlobalBattleInfo.SelectBoardCardIds[0]); //Debug.Log("剩余抽卡次数为" + Info.GlobalBattleInfo.ChangeableCardNum); } } break; case GameEnum.CardBoardMode.ShowOnly: break; default: break; } }); Debug.Log("关闭"); UiCommand.SetCardBoardHide(); GlobalBattleInfo.IsWaitForSelectBoardCard = false; }
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; }); }
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); }); }
//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("结束对战准备"); }
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); }); }