From 7fe6bd07df2a5349c2c68fb676c9814eb564148f Mon Sep 17 00:00:00 2001 From: HaeinLEE Date: Fri, 28 Mar 2025 13:24:37 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[Feat]=20=EB=AC=B4=EC=8A=B9=EB=B6=80=20?= =?UTF-8?q?=EC=9A=94=EC=B2=AD=20=EA=B7=B8=EB=A6=AC=EA=B3=A0=20=EC=9D=91?= =?UTF-8?q?=EB=8B=B5=EC=8B=9C=20=ED=94=8C=EB=A0=88=EC=9D=B4=EC=96=B4=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=EC=97=90=20=EB=A1=9C=EB=94=A9=ED=8C=A8?= =?UTF-8?q?=EB=84=90=20=EB=9D=84=EC=9A=B0=EA=B3=A0=20=EB=8B=AB=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GameUIController.cs | 1 + Assets/Script/Game/GameLogic.cs | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Assets/GameUIController.cs b/Assets/GameUIController.cs index 2416a24..07054f7 100644 --- a/Assets/GameUIController.cs +++ b/Assets/GameUIController.cs @@ -52,6 +52,7 @@ public class GameUIController : MonoBehaviour { GameManager.Instance.panelManager.OpenConfirmPanel("무승부 신청을 하시겠습니까?", () => { + GameManager.Instance.panelManager.OpenLoadingPanel(true, true, false, false); _multiplayManager.RequestDraw(); }); GameManager.Instance.SetRequestDrawChanceFalse(); diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 07b35ff..f07aa93 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -140,6 +140,7 @@ public partial class GameLogic : IDisposable Debug.Log("상대방의 무승부 요청 들어옴"); ExecuteOnMainThread(() => { + GameManager.Instance.panelManager.OpenLoadingPanel(true, true, false, false); GameManager.Instance.panelManager.OpenDrawConfirmPanel("무승부 요청을 승낙하시겠습니까?", () => { GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Draw); @@ -158,24 +159,37 @@ public partial class GameLogic : IDisposable Debug.Log("무승부 요청이 승낙이 들어옴"); ExecuteOnMainThread(() => { + GameManager.Instance.panelManager.CloseLoadingPanel(); GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Draw); EndGame(Enums.GameResult.Draw); }); break; case Constants.MultiplayManagerState.DrawConfirmed: + { Debug.Log("무승부 요청 승낙 완료"); + ExecuteOnMainThread(() => + { + GameManager.Instance.panelManager.CloseLoadingPanel(); + }); break; + } case Constants.MultiplayManagerState.DrawRejected: Debug.Log("무승부 요청이 거부가 들어옴"); ExecuteOnMainThread(() => { + GameManager.Instance.panelManager.CloseLoadingPanel(); GameManager.Instance.panelManager.OpenConfirmPanel("무승부 요청을 거부하였습니다.", () => { }); }); break; case Constants.MultiplayManagerState.DrawRejectionConfirmed: + { Debug.Log("무승부 요청 거부 완료"); - + ExecuteOnMainThread(() => + { + GameManager.Instance.panelManager.CloseLoadingPanel(); + }); break; + } case Constants.MultiplayManagerState.ReceiveTimeout: Debug.Log("상대방이 타임 아웃 됨"); ExecuteOnMainThread(() => From 8bc50c9be2aafc8eeaf9b04870740056c2c1947c Mon Sep 17 00:00:00 2001 From: HaeinLEE Date: Fri, 28 Mar 2025 13:34:01 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[Style]=20=EB=A1=9C=EB=94=A9=ED=8C=A8?= =?UTF-8?q?=EB=84=90=20GameLogic=EC=97=90=EC=84=9C=20=ED=98=B8=EC=B6=9C?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GameUIController.cs | 1 - Assets/Script/Game/GameLogic.cs | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Assets/GameUIController.cs b/Assets/GameUIController.cs index 07054f7..2416a24 100644 --- a/Assets/GameUIController.cs +++ b/Assets/GameUIController.cs @@ -52,7 +52,6 @@ public class GameUIController : MonoBehaviour { GameManager.Instance.panelManager.OpenConfirmPanel("무승부 신청을 하시겠습니까?", () => { - GameManager.Instance.panelManager.OpenLoadingPanel(true, true, false, false); _multiplayManager.RequestDraw(); }); GameManager.Instance.SetRequestDrawChanceFalse(); diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index f07aa93..450f847 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -153,8 +153,14 @@ public partial class GameLogic : IDisposable }); break; case Constants.MultiplayManagerState.DrawRequestSent: + { Debug.Log("무승부 요청 전송 완료"); + ExecuteOnMainThread(() => + { + GameManager.Instance.panelManager.OpenLoadingPanel(true, true, false, false); + }); break; + } case Constants.MultiplayManagerState.DrawAccepted: Debug.Log("무승부 요청이 승낙이 들어옴"); ExecuteOnMainThread(() => From 0ec7afc6024f8be549e087db13894ef1ebf3f796 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Fri, 28 Mar 2025 14:12:23 +0900 Subject: [PATCH 3/4] =?UTF-8?q?DO-82=20[Fix]=20=EB=A6=AC=ED=94=8C=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=20=EB=A7=88=EC=A7=80=EB=A7=89=20=EB=8F=8C=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/Game/GameUtility/GameRoutine.cs | 6 ++++++ Assets/Script/Replay/ReplayManager.cs | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/Assets/Script/Game/GameUtility/GameRoutine.cs b/Assets/Script/Game/GameUtility/GameRoutine.cs index 18c131f..b3148c3 100644 --- a/Assets/Script/Game/GameUtility/GameRoutine.cs +++ b/Assets/Script/Game/GameUtility/GameRoutine.cs @@ -86,4 +86,10 @@ ReplayManager.Instance.SaveReplayDataResult(result); //TODO: 게임 종료 후 행동 구현 } + + public void SetLastPositioned(int row, int col) + { + _lastRow = row; + _lastCol = col; + } } \ No newline at end of file diff --git a/Assets/Script/Replay/ReplayManager.cs b/Assets/Script/Replay/ReplayManager.cs index 8b5bbc7..d716375 100644 --- a/Assets/Script/Replay/ReplayManager.cs +++ b/Assets/Script/Replay/ReplayManager.cs @@ -215,6 +215,16 @@ public class ReplayManager : Singleton { ReplayManager.Instance.PushUndoMove(targetMove); _gameLogic.RemoveStone(targetMove.columnIndex, targetMove.rowIndex); + if (_placedStoneStack.Count > 0) + { + var undoLastMove = _placedStoneStack.Peek(); + _gameLogic.StoneController.SetStoneState(Enums.StoneState.LastPositioned, undoLastMove.columnIndex, undoLastMove.rowIndex); + _gameLogic.SetLastPositioned(undoLastMove.columnIndex, undoLastMove.rowIndex); + } + else + { + _gameLogic.SetLastPositioned(-1, -1); + } } public void ReplayFirst() From 7c5dc21e3dbfd6bba6fe2bfc12df39e5ed63ef0d Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Fri, 28 Mar 2025 14:37:54 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[HOTFIX]=20=ED=83=80=EC=9D=B4=EB=A8=B8=20?= =?UTF-8?q?=EC=9D=BC=EC=8B=9C=EC=A0=95=EC=A7=80=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EB=88=84=EB=9D=BD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/Game/GameLogic.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 80f032a..957d3fb 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -530,6 +530,12 @@ public partial class GameLogic : IDisposable } } + // 타이머 일시정지 + private void TimerPause() => FioTimer.PauseTimer(); + + // 타이머 일시정지 해제 + private void TimerUnpause() => FioTimer.StartTimer(); + // 이전에 표시된 금수 마크 제거 private void ClearForbiddenMarks() {