DO-46 [Fix] 멀티 시 턴 강조 버그 수정

This commit is contained in:
Lim0_C 2025-03-26 16:52:23 +09:00
parent 40366ce4bf
commit d84b5fa1d8

View File

@ -341,9 +341,29 @@ public class GameLogic : MonoBehaviour
Debug.Log("해당 플레이어가 선공 입니다"); Debug.Log("해당 플레이어가 선공 입니다");
firstPlayerState = new PlayerState(true, _multiplayManager, joinRoomData.roomId); firstPlayerState = new PlayerState(true, _multiplayManager, joinRoomData.roomId);
secondPlayerState = new MultiPlayerState(false, _multiplayManager); secondPlayerState = new MultiPlayerState(false, _multiplayManager);
UnityMainThreadDispatcher.Instance().Enqueue(() =>
{
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, joinRoomData.opponentNickname);
GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, joinRoomData.opponentImageIndex);
// 리플레이 데이터 업데이트
ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname, joinRoomData.opponentNickname, UserManager.Instance.imageIndex, joinRoomData.opponentImageIndex);
});
} }
else else
{ {
Debug.Log("해당 플레이어가 후공 입니다");
firstPlayerState = new MultiPlayerState(true, _multiplayManager);
secondPlayerState = new PlayerState(false, _multiplayManager, _roomId);
UnityMainThreadDispatcher.Instance().Enqueue(() =>
{
GameManager.Instance.InitPlayersName(joinRoomData.opponentNickname, UserManager.Instance.Nickname);
GameManager.Instance.InitProfileImages(joinRoomData.opponentImageIndex, UserManager.Instance.imageIndex);
// 리플레이 데이터 업데이트
ReplayManager.Instance.InitReplayData(joinRoomData.opponentNickname, UserManager.Instance.Nickname, joinRoomData.opponentImageIndex, UserManager.Instance.imageIndex);
});
Debug.Log("해당 플레이어가 후공 입니다"); Debug.Log("해당 플레이어가 후공 입니다");
firstPlayerState = new MultiPlayerState(true, _multiplayManager); firstPlayerState = new MultiPlayerState(true, _multiplayManager);
secondPlayerState = new PlayerState(false, _multiplayManager, joinRoomData.roomId); secondPlayerState = new PlayerState(false, _multiplayManager, joinRoomData.roomId);
@ -352,12 +372,6 @@ public class GameLogic : MonoBehaviour
// 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요 // 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요
UnityMainThreadDispatcher.Instance().Enqueue(() => UnityMainThreadDispatcher.Instance().Enqueue(() =>
{ {
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, joinRoomData.opponentNickname);
GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, joinRoomData.opponentImageIndex);
// 리플레이 데이터 업데이트
ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname, joinRoomData.opponentNickname, UserManager.Instance.imageIndex, joinRoomData.opponentImageIndex);
// 로딩 패널 열려있으면 닫기 // 로딩 패널 열려있으면 닫기
GameManager.Instance.panelManager.CloseLoadingPanel(); GameManager.Instance.panelManager.CloseLoadingPanel();
@ -386,24 +400,34 @@ public class GameLogic : MonoBehaviour
{ {
Debug.Log("해당 플레이어가 선공 입니다"); Debug.Log("해당 플레이어가 선공 입니다");
firstPlayerState = new PlayerState(true, _multiplayManager, _roomId); firstPlayerState = new PlayerState(true, _multiplayManager, _roomId);
secondPlayerState = new MultiPlayerState(false, _multiplayManager); secondPlayerState = new MultiPlayerState(false, _multiplayManager);
UnityMainThreadDispatcher.Instance().Enqueue(() =>
{
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, startGameData.opponentNickname);
GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, startGameData.opponentImageIndex);
// 리플레이 데이터 업데이트
ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname, startGameData.opponentNickname, UserManager.Instance.imageIndex, startGameData.opponentImageIndex);
});
} }
else else
{ {
Debug.Log("해당 플레이어가 후공 입니다"); Debug.Log("해당 플레이어가 후공 입니다");
firstPlayerState = new MultiPlayerState(true, _multiplayManager); firstPlayerState = new MultiPlayerState(true, _multiplayManager);
secondPlayerState = new PlayerState(false, _multiplayManager, _roomId); secondPlayerState = new PlayerState(false, _multiplayManager, _roomId);
UnityMainThreadDispatcher.Instance().Enqueue(() =>
{
GameManager.Instance.InitPlayersName(startGameData.opponentNickname, UserManager.Instance.Nickname);
GameManager.Instance.InitProfileImages(startGameData.opponentImageIndex, UserManager.Instance.imageIndex);
// 리플레이 데이터 업데이트
ReplayManager.Instance.InitReplayData(startGameData.opponentNickname, UserManager.Instance.Nickname, startGameData.opponentImageIndex, UserManager.Instance.imageIndex);
});
} }
// 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요 // 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요
UnityMainThreadDispatcher.Instance().Enqueue(() => UnityMainThreadDispatcher.Instance().Enqueue(() =>
{ {
GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, startGameData.opponentNickname);
GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, startGameData.opponentImageIndex);
// 리플레이 데이터 업데이트
ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname, startGameData.opponentNickname, UserManager.Instance.imageIndex, startGameData.opponentImageIndex);
// 로딩 패널 열려있으면 닫기 // 로딩 패널 열려있으면 닫기
GameManager.Instance.panelManager.CloseLoadingPanel(); GameManager.Instance.panelManager.CloseLoadingPanel();