From fb7a3c40a1ea845c0be2b6a4e2f8aea330b54c09 Mon Sep 17 00:00:00 2001 From: Jay <96156114+jaydev00a@users.noreply.github.com> Date: Thu, 27 Mar 2025 14:08:52 +0900 Subject: [PATCH] =?UTF-8?q?DO-70=20[Feat]=20=EB=A6=AC=EB=B7=B0=20=ED=94=BC?= =?UTF-8?q?=EB=93=9C=EB=B0=B1=ED=95=98=EC=97=AC=20=EC=8B=B1=EA=B8=80=20?= =?UTF-8?q?=ED=94=8C=EB=A0=88=EC=9D=B4=20=EA=B2=BD=EC=9A=B0=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/Game/GameLogic.cs | 41 +++++++++++---------------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 55e2602..61f7e79 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -278,39 +278,24 @@ public class GameLogic : MonoBehaviour //timer 시간초과시 진행 함수 this.fioTimer.OnTimeout = () => { - if (gameType == Enums.GameType.MultiPlay) - { - // 현재 턴의 플레이어가 로컬(유저)인지 확인 - bool isCurrentPlayerLocal = (currentTurn == Enums.PlayerType.PlayerA && firstPlayerState is PlayerState) || - (currentTurn == Enums.PlayerType.PlayerB && secondPlayerState is PlayerState); + // 현재 턴의 플레이어가 로컬(유저)인지 확인 + bool isCurrentPlayerLocal = (currentTurn == Enums.PlayerType.PlayerA && firstPlayerState is PlayerState) || + (currentTurn == Enums.PlayerType.PlayerB && secondPlayerState is PlayerState); - if (isCurrentPlayerLocal) // 내가 타임 오버일 때 + if (isCurrentPlayerLocal) // 내가 타임 오버일 때 + { + if (this.gameType == Enums.GameType.MultiPlay) // 멀티플레이인 경우 { _multiplayManager?.SendTimeout(); - GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Lose); - EndGame(Enums.GameResult.Lose); - } - else // 로컬에서 자신의 타이머 기준으로 상대방이 타임 오버일 때 - { - // TODO: 컨펌 패널 OK 버튼 삭제? - GameManager.Instance.panelManager.OpenConfirmPanel("상대방의 응답을 기다리는 중입니다", - () => { } ); } + GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Lose); + EndGame(Enums.GameResult.Lose); } - else + else // 로컬에서 자신의 타이머 기준으로 상대방이 타임 오버일 때 { - if (currentTurn == Enums.PlayerType.PlayerA) - { - GameManager.Instance.panelManager.OpenConfirmPanel($"Game Over: {Enums.PlayerType.PlayerB} Win", - () => { }); - EndGame(Enums.GameResult.Lose); - } - else if (currentTurn == Enums.PlayerType.PlayerB) - { - GameManager.Instance.panelManager.OpenConfirmPanel($"Game Over: {Enums.PlayerType.PlayerA} Win", - () => { }); - EndGame(Enums.GameResult.Win); - } + // TODO: 컨펌 패널 OK 버튼 삭제? + GameManager.Instance.panelManager.OpenConfirmPanel("상대방의 응답을 기다리는 중입니다", + () => { } ); } }; } @@ -522,7 +507,7 @@ public class GameLogic : MonoBehaviour // 기존 멀티플레이 상태 초기화 _multiplayManager = null; _roomId = null; - gameType = Enums.GameType.SinglePlay; + this.gameType = Enums.GameType.SinglePlay; // 싱글 플레이 상태로 변경 firstPlayerState = new PlayerState(true);