Esempio n. 1
0
    private void onFlipCard(CardControl control)
    {
        if (curFlipCard == null)
        {
            curFlipCard = control;
            curFlipCard.Flip();
            roundStateEnum = RoundStateEnum.FlipAnimal;
            chooseTime     = 0;

            // 如果是 驴,需要从银行各发[100]给玩家
            if (curFlipCard.cardData.GetData <Animals>().Id == RoomData.SendCoinCardId)
            {
                sendCoinForDonkey();
                sendCardControl.MoveCardPosEnum(curFlipCard.cardData.UUID, RoomCardPosEnum.WillDestroy);
                curFlipCard = null;
                nextRound();
                return;
            }

            List <PlayerControl> hasSameAnimalPlayers = getSameAnimalPlayers();
            if (hasSameAnimalPlayers.Count == 0)
            {
                curSaleEnum = SaleCardEnum.SaleAnimal;
            }
            else
            {
                // TODO 需要做成玩家选择使用那种方式拍卖
                curSaleEnum = Random.value < 0.5f ? SaleCardEnum.SaleAnimal : SaleCardEnum.BehindBusiness;
            }
            CustomDebug.Log("准备拍卖模式:" + curSaleEnum.ToString());
            if (curSaleEnum == SaleCardEnum.BehindBusiness)
            {
                behindBusinessPlayer = hasSameAnimalPlayers[Random.Range(0, hasSameAnimalPlayers.Count)];
            }
            else
            {
                // 通知其他玩家出价
                RoomData.CurBidPrice = 0;
                SignalManager.Instance.Create <NotifyBidSignal>().Dispatch();
            }
        }
        else
        {
            Debug.LogWarning("本回合已翻牌,无法继续翻牌");
        }
    }