public void InitRound() { count = 0; for (int i = 0; i < 4; ++i) { m_players[i].InitPlayerInfo(); } m_teamFlag[0] = 0; m_teamFlag[1] = 0; CardDrawHandler.Instance.initCardDraw(); m_wishCardPopup.Init(); m_endRound = false; m_cardDeck.Init(); m_turnPlayer = null; m_startPlayer = null; m_topPlayer = null; m_firstPlayer = null; m_wishCallPlayer = null; m_isAllReady = false; m_isExchange = false; m_isClosePointPopup = false; m_rutineState = RutineState.FirstDivisionState; m_tichuBtn.Active(); m_bombBtn.Active(); }
IEnumerator FirstDivision() { for (int i = 0; i < 8; ++i) { for (int j = 0; j < 4; ++j) { CardData cardData = m_cardDeck.GetCard(count++); m_players[j].AddCard(cardData); cardData.SetOwnerPlayer(m_players[j]); } } for (int i = 0; i < 4; ++i) { yield return(StartCoroutine(m_players[i].DivisionCardMove(m_cardDeck.transform.position, true))); m_players[i].ArrangementCard(); m_players[i].SetCardCount(); } if (m_players[0].CheckBomb()) { m_bombBtn.Active(); } else { m_bombBtn.Inactive(); } m_rutineState = RutineState.ChooseLargeTichuState; }
public void DistributeAllCardRes(Protocol.DistributeAllCardResp res) { //if (m_player.PlayerIdx == res.player.index) //{ //} for (int i = 8; i < res.player.CardList.Count; ++i) { m_player.AddCard(m_cardDeck.GetCard((CARD_TYPE)res.player.CardList[i].m_eCardType, (CARD_COLOR)res.player.CardList[i].m_eCardColor, res.player.CardList[i].m_nCardValue)); } m_rutineState = RutineState.SecondDivisionState; //교환 단계로 넘어가자. StartCoroutine(SecondDivision()); m_rutineState = RutineState.ExchangeState; m_ExchangeUi.View(); m_exchangeBtn.gameObject.SetActive(true); m_drawBtn.Hide(); m_passBtn.Hide(); }
IEnumerator FirstDivision() { yield return(StartCoroutine(m_player.DivisionCardMove(m_cardDeck.transform.position, true))); m_player.ArrangementCard(); m_player.SetCardCount(); if (m_player.CheckBomb()) { m_bombBtn.Active(); } else { m_bombBtn.Inactive(); } m_rutineState = RutineState.ChooseLargeTichuState; }
IEnumerator WaitingCardExchange() { //교환전에 카드를 자기자리에 셋팅을 하자 m_players[0].SetCardOriginPosition(); while (!m_isExchange) { m_isAllReady = true; for (int i = 0; i < playerSize; ++i) { if (!m_players[i].IsExchagne()) { m_isAllReady = false; break; } } yield return(null); } Debug.Log("교환 되었습니다."); m_rutineState = RutineState.RoundState; m_ExchangeUi.Hide(); m_exchangeBtn.gameObject.SetActive(false); SetActivePlayBtn(false); m_turnPlayer = m_cardDeck.GetmahjongCard().m_ownerPlayer; m_startPlayer = m_turnPlayer; m_turnPlayer.MyTurn(); if (m_turnPlayer == m_players[0]) { m_passBtn.View(); } else { m_passBtn.Hide(); m_drawBtn.Hide(); } }
IEnumerator ChooseLargeTichu() { m_LargeTichuPopup.gameObject.SetActive(true); while (m_rutineState != RutineState.SecondDivisionState) { for (int i = 0; i < playerSize; ++i) { m_isAllReady = true; if (!m_players[i].IsChooseLargeTichu()) { m_isAllReady = false; break; } } if (m_isAllReady) { m_rutineState = RutineState.SecondDivisionState; m_LargeTichuPopup.gameObject.SetActive(false); } yield return(null); } //2차 분배 StartCoroutine(SecondDivision()); m_rutineState = RutineState.ExchangeState; m_ExchangeUi.View(); m_exchangeBtn.gameObject.SetActive(true); m_drawBtn.Hide(); m_passBtn.Hide(); }
public void ChooseLargeTichuCofirm(bool bIsLargeTichu) { m_rutineState = RutineState.SecondDivisionState; }