public void MingBuzhang(string uid, int card, string desUid) { LinkedListNode <CsGamePlayer> node = FindPlayer(uid); foreach (var row in Players) { if ((row.CheckHu(card)) && row.PlayerUser.Uid != uid && row.PlayerUser.Uid != desUid) { row.ResetEvent.WaitOne(); } } if (node.Value.ResetEvent.WaitOne(0)) { return; } //牌未被胡 if (this.OutCardState == OutCardState.Normal) { this.OutCardState = OutCardState.Gang; node.Value.BuZhang(card); int mCard = this.ReadCard(); node.Value.AddCard(mCard); A1022Response.Builder response = new A1022Response.Builder(); response.Uid = uid; response.Card = mCard; response.BCard = card; byte[] responseArray = response.Build().ToByteArray(); foreach (var row in this.Players) { WebSocketServerWrappe.SendPackgeWithUser(row.PlayerUser.Uid, 1022, responseArray); } actionStorage.PushBuZhang(uid, card, mCard); } }
/// <summary> /// 暗杠补涨 /// </summary> /// <param name="uid"></param> /// <param name="card"></param> public void AnBuZhang(string uid, int card) { if (this.IsFrist) { foreach (var row in Players) { if ((row.CheckKaiJuHu()) && row.PlayerUser.Uid != uid) { LogManager.Log.Debug("开局胡等待" + row.PlayerUser.Uid + "wait"); row.ResetEvent.WaitOne(); LogManager.Log.Debug("开局胡等待处理完毕" + row.PlayerUser.Uid + "wait"); } } } this.IsFrist = false; LinkedListNode <CsGamePlayer> node = FindPlayer(uid); node.Value.AnBuZhang(card); int mCard = this.ReadCard(); node.Value.AddCard(mCard); A1022Response.Builder response = new A1022Response.Builder(); response.Uid = uid; response.Card = mCard; response.BCard = card; response.BuZhangType = 0; byte[] responseArray = response.Build().ToByteArray(); foreach (var row in this.Players) { WebSocketServerWrappe.SendPackgeWithUser(row.PlayerUser.Uid, 1022, responseArray); } actionStorage.PushBuZhang(uid, card, mCard); }