public void AskTouchCardBack(string battleCode, string accountID, AskTouchCardBackType backType) { LogHelper.DebugLog("收到:" + accountID + " 发来的AskTouchCardBack"); Battleground bg = BattlegroundManager.Instance.Find(battleCode); bg.AskTouchCardBack(accountID, backType); }
/// <summary> /// 询问碰牌结束 /// </summary> /// <param name="accountid"></param> /// <param name="backType"></param> public void AskTouchCardBack(string accountid, AskTouchCardBackType backType) { lock (BattleLock) { if (Battle.Step != BattleCommand.AskTouchCard) { return; } OneSide oneSide = Battle.Sides.FirstOrDefault(c => c.AccountID == accountid); if (oneSide == null) { return;//操作无效,长时间会被超时处理 } if (backType == AskTouchCardBackType.Pass) { Battle.Step = BattleCommand.AskTouchCardBack; oneSide.Step = Battle.Step; TakeCard(); } else if (backType == AskTouchCardBackType.Touch) { Battle.Step = BattleCommand.AskTouchCardBack; oneSide.Step = Battle.Step; oneSide.Cards.Add(Battle.CurrentSide.TakeOutCard); //翻牌 int num = 0; foreach (var card in oneSide.Cards) { if (Battle.CurrentSide.TakeOutCard == card) { card.IsFront = true; num++; if (num >= 3) { break; } } } Battle.CurrentSide.OutCards.Remove(Battle.CurrentSide.TakeOutCard); NoticeTouchCard(); } else if (backType == AskTouchCardBackType.Win) { if (IsWin(oneSide, false, Battle.CurrentSide.TakeOutCard)) { Battle.Step = BattleCommand.AskTouchCardBack; oneSide.Step = Battle.Step; FlipCard(); } else { return;//操作无效,长时间会被超时处理 } } } }
public void AskTouchCardBack(AskTouchCardBackType backType) { //lock (sendLock) toServerCommand.AskTouchCardBack(BattleCode, UserID, backType); }
public void AskTouchCardBack(AskTouchCardBackType backType) { Send("ToServerCommand/AskTouchCardBack", BattleCode, UserID, backType); }