public void SetStep_Board(PlayTypes.SevenPokerStep step) { switch (step) { case PlayTypes.SevenPokerStep.Begin: { ChoiceCard.DisableChoice(); } break; case PlayTypes.SevenPokerStep.ChoiceCardShare_Complete: { if (GameSingleton.GetPlay().IsObserverMode() == false) { ChoiceCard.EnableChoice(); } } break; case PlayTypes.SevenPokerStep.ChoiceCardSelect: { ChoiceCard.DisableChoice(); } break; } }
IEnumerator SetStep_Scene_Coroutine(PlayTypes.SevenPokerStep step) { RunStepCoroutine = true; switch (step) { // =========================================================================== // 게임 준비 // =========================================================================== case PlayTypes.SevenPokerStep.Begin: { // 기존 유저를 시작 상태로 변경 foreach (PlayerBase player in PlayerList) { assert.set(player is SevenPokerPlayer); player.StartPlay(); } _BroadCastStep(step); yield return(new WaitForSeconds(1.0f)); Send_PlayReady(); } break; // =========================================================================== // 선택카드 배분완료 // =========================================================================== case PlayTypes.SevenPokerStep.ChoiceCardShare_Complete: { // 내가 아닌 기존 다른 유저들을 랜덤하게 완료 시키자 if (IsOnline() == false) { foreach (PlayerBase player in PlayerList) { if (player.IsPlay() && (player.ToSevenPoker().IsMyPlayer() == false)) { StartCoroutine("OfflineChoiceAI_Coroutine", player.GetPlayerIndex()); } } } _BroadCastStep(step); } break; // =========================================================================== // 선택카드 선택 완료 // =========================================================================== case PlayTypes.SevenPokerStep.ChoiceCardSelect: // Recv_UserChoiceComplete 에서 플레이어 개별적인 셋팅 assert.set(false); break; } RunStepCoroutine = false; }
void _BroadCastStep(PlayTypes.SevenPokerStep step, bool Board = true, bool Player = true) { // 게임 보드 셋팅 GetBoard().ToSevenPoker().SetStep_Board(step); // 플레이어들 셋팅 foreach (PlayerBase player in PlayerList) { assert.set(player is SevenPokerPlayer); if (player.IsPlay()) { SevenPokerPlayer spPlayer = player as SevenPokerPlayer; spPlayer.SetStep_Player(step); } } }
public void SetStep_PlayerUI(PlayTypes.SevenPokerStep step) { CurStep = step; switch (step) { case PlayTypes.SevenPokerStep.Begin: { CardSet.spacing = GameSingleton.GetPlay().GetBoard().ToSevenPoker().CardSpacing_Choice; } break; case PlayTypes.SevenPokerStep.ChoiceCardShare_Complete: { if (GetPlayer().ToSevenPoker().IsMyPlayer() == true) { gameObject.SetActive(false); } } break; case PlayTypes.SevenPokerStep.ChoiceCardSelect: { if (GetPlayer().ToSevenPoker().IsMyPlayer() == true) { gameObject.SetActive(true); CardUIList[0].SetCardView(PlayTypes.CardView.Dual); CardUIList[1].SetCardView(PlayTypes.CardView.Dual); CardUIList[2].SetCardView(PlayTypes.CardView.Dual); } CardSet.spacing = GameSingleton.GetPlay().GetBoard().ToSevenPoker().CardSpacing_Play; } break; case PlayTypes.SevenPokerStep.CardShare_4: { CardUIList[2].SetCardView(PlayTypes.CardView.Front); } break; } }
// =========================================================================== // // 카드 배분 // // =========================================================================== IEnumerator CardShareCoroutine(PlayTypes.SevenPokerStep CompleteStep) { PlayerBase CurPlayer = GetMasterPlayer(); while (RecvCardShareQueue.Count > 0) { CardInfo_Trump info = RecvCardShareQueue.Dequeue(); _CardShareToPlayer(info, CurPlayer, GetBoard().ToSevenPoker().GetDealerPosition(), 0.3f); yield return(new WaitForSeconds(0.2f)); CurPlayer = CurPlayer.GetNextPlayPlayer(); } if (CompleteStep != PlayTypes.SevenPokerStep.None) { yield return(new WaitForSeconds(0.1f)); SetStep_Scene(CompleteStep); } }
public void SetStep_Player(PlayTypes.SevenPokerStep step) { GetPlayerUI().ToSevenPoker().SetStep_PlayerUI(step); }
public void SetStep_Scene(PlayTypes.SevenPokerStep step) { // 스텝 코루틴은 한번에 하나의 코루틴만 동작하게 하자 assert.set(RunStepCoroutine == false); StartCoroutine("SetStep_Scene_Coroutine", step); }