private static void OnServerMessageReActionAllowed(Player player, MsgAllowPlayerReAction msg) { //throw new NotImplementedException(); if (msg.actionChairID == player.ChairId) { // my actions player.MyWnd.OnAllowedReActions(msg); } }
public void OnAllowedReActions(MsgAllowPlayerReAction msg) { HideAllActionButtons(); CurrentAllowPlayerReAction = msg; CurrentAllowPlayerAction = null; var actions = msg.allowedActions; //if ((actions & (int)ActionType.enumActionType_KONG_Exposed) != 0) //{ // BtnAction1.Visibility = Visibility.Visible; // BtnAction1.Content = "明杠"; // BtnAction1.Tag = (int)ActionType.enumActionType_KONG_Exposed; //} if ((actions & (int)ActionType.enumActionType_DISCARD) != 0) { BtnAction2.Visibility = Visibility.Visible; BtnAction2.Content = "出牌"; BtnAction2.Tag = (int)ActionType.enumActionType_DISCARD; } //if ((actions & (int)ActionType.enumActionType_PONG) != 0) //{ // BtnAction3.Visibility = Visibility.Visible; // BtnAction3.Content = "碰"; // BtnAction3.Tag = (int)ActionType.enumActionType_PONG; //} if ((actions & (int)ActionType.enumActionType_SKIP) != 0) { BtnAction4.Visibility = Visibility.Visible; BtnAction4.Content = "过"; BtnAction4.Tag = (int)ActionType.enumActionType_SKIP; } //if ((actions & (int)ActionType.enumActionType_WIN_Chuck) != 0) //{ // BtnAction5.Visibility = Visibility.Visible; // BtnAction5.Content = "胡"; // BtnAction5.Tag = (int)ActionType.enumActionType_WIN_Chuck; //} if (MyOwner.CheckBoxAutoAction.IsChecked == false && IsAutoX) { // 自动打牌 //if ((actions & (int)ActionType.enumActionType_SKIP) != 0) //{ // OnTakeActionSkip(); //} if ((actions & (int)ActionType.enumActionType_DISCARD) != 0) { int specialCardID = -1; if (CurrentAllowPlayerReAction.timeoutInSeconds > 255) { specialCardID = (int)pokerface.CardID.R3H; } var currents = AgariIndex.FindGreatThanCardHand(CurrentAllowPlayerReAction.prevActionHand, TilesHandList, specialCardID); if (null == currents || currents.Count == 0) { MessageBox.Show("auto discard:oh shit, a huge bug"); throw new System.Exception("huge bug"); } OnTakeActionDiscardTile(currents[0].cards); HideAllActionButtons(); } } }