/// <summary> /// 主玩家出牌 /// </summary> private void MainPlayerPlayCard() { if (!isMyTurn) { EventCenter.BroadCast(EventType.UIFlashHint, "现在无法出牌"); return; } Card[] cards = view.GetSelectedCards(); if (cards.Length == 0) { EventCenter.BroadCast(EventType.UIFlashHint, "请选择要出的牌"); return; } CardSet cardSet = CardSet.GetCardSet(cards); Debug.LogFormat("main player cardset:{0}", cardSet); if (cardSet.Type == CardSetType.Invalid) { EventCenter.BroadCast(EventType.UIFlashHint, "无效的组合"); view.UnselectAllCard(); } else if (!cardSet.IsGreaterThan(CardManager.LastHand))//牌型不同,或者没对方大 { EventCenter.BroadCast(EventType.UIFlashHint, "无法大过上家"); view.UnselectAllCard(); } else //合法的出牌 { PlayCard(cardSet); } }
private void OnPlayCardClicked() { Card[] cards = view.GetSelectedCards(); CardSet cardSet = CardSet.GetCardSet(cards); if (cards.Length == 0) { EventCenter.BroadCast(EventType.UIFlashHint, "请选择要出的牌"); return; } if (cardSet.Type == CardSetType.Invalid) { EventCenter.BroadCast(EventType.UIFlashHint, "无效的组合"); return; } CardSet lastHand = Models.gameModel.playModel.lastHand; if (lastHand != null && !cardSet.IsGreaterThan(lastHand)) { EventCenter.BroadCast(EventType.UIFlashHint, "无法大过上家"); return; } //出牌合法,向服务器发送数据 NetMsgCenter.Instance.SendPlayCardMsg(cardSet); }