From 99c6379554880288cde488d2acabf8f612be8436 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Tue, 25 Mar 2025 15:24:06 +0900 Subject: [PATCH 1/6] =?UTF-8?q?DO-46=20[Fix]=20=EC=B0=A9=EC=88=98=20?= =?UTF-8?q?=EC=9C=A0=ED=9A=A8X=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EB=B0=8F=20Ai=20=EC=9D=B4=EB=A6=84=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EC=83=9D=EC=84=B1=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Prefabs/Panels/Main Panel.prefab | 6 ++--- Assets/Scenes/Game.unity | 2 +- Assets/Script/Common/Constants.cs | 2 -- Assets/Script/Game/GameLogic.cs | 24 +++++++++++++++---- Assets/Script/Game/GameManager.cs | 12 ++++++---- 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/Assets/Resources/Prefabs/Panels/Main Panel.prefab b/Assets/Resources/Prefabs/Panels/Main Panel.prefab index 834ee12..72c53db 100644 --- a/Assets/Resources/Prefabs/Panels/Main Panel.prefab +++ b/Assets/Resources/Prefabs/Panels/Main Panel.prefab @@ -1457,7 +1457,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &405965270916774547 RectTransform: m_ObjectHideFlags: 0 @@ -1713,7 +1713,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "\uD638\uB7AD\uC774" + m_text: tester m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2} m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2} @@ -1799,7 +1799,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8172929902404983356 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Game.unity b/Assets/Scenes/Game.unity index 254abaa..466309f 100644 --- a/Assets/Scenes/Game.unity +++ b/Assets/Scenes/Game.unity @@ -328,7 +328,7 @@ Camera: m_Enabled: 1 serializedVersion: 2 m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_BackGroundColor: {r: 0.5372549, g: 0.654902, b: 0.5803922, a: 1} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 diff --git a/Assets/Script/Common/Constants.cs b/Assets/Script/Common/Constants.cs index c8d7fe7..8fae832 100644 --- a/Assets/Script/Common/Constants.cs +++ b/Assets/Script/Common/Constants.cs @@ -7,6 +7,4 @@ public const int WIN_COUNT = 5; //무승부 확인을 위한 최소 착수 수 public const int MinCountForDrawCheck = 150; - - public string[] AI_NAMIES = { "이세돌", "신사동호랭이","진짜인간임","종로3가짱돌","마스터김춘배","62세황순자","고준일 강사님"}; } \ No newline at end of file diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 36e120c..74d6c80 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; +using Random = UnityEngine.Random; public abstract class BasePlayerState { @@ -233,11 +234,15 @@ public class GameLogic : MonoBehaviour // AI 난이도 설정(급수 설정) OmokAI.Instance.SetRating(UserManager.Instance.Rating); - //유저 이름 사진 초기화 - GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, "AIPlayer"); - GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, 1); + //AI닉네임 랜덤생성 + var aiName = RandomAINickname(); + var imageIndex = UnityEngine.Random.Range(0, 2); - ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname,"PlayerAI", UserManager.Instance.imageIndex, 1); + //유저 이름 사진 초기화 + GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, aiName); + GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, imageIndex); + + ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname,aiName, UserManager.Instance.imageIndex, imageIndex); SetState(firstPlayerState); break; @@ -250,6 +255,17 @@ public class GameLogic : MonoBehaviour break; } } + + //AI닉네임 랜덤 생성 + private string RandomAINickname() + { + string[] AI_NAMIES = { "이세돌", "신사동호랭이","진짜인간임","종로3가짱돌","마스터김춘배","62세황순자","고준일 강사님"}; + + var index = UnityEngine.Random.Range(0, AI_NAMIES.Length); + + return AI_NAMIES[index]; + } + //돌 카운터 증가 함수 public void CountStoneCounter() { diff --git a/Assets/Script/Game/GameManager.cs b/Assets/Script/Game/GameManager.cs index e37aca3..8b09d03 100644 --- a/Assets/Script/Game/GameManager.cs +++ b/Assets/Script/Game/GameManager.cs @@ -11,7 +11,7 @@ public class GameManager : Singleton private Enums.GameType _gameType; private GameLogic _gameLogic; private StoneController _stoneController; - private GameObject _omokBoardImage; + private GameObject _camera; private GameUIController _gameUIController; [SerializeField] private GameObject panelManagerPrefab; @@ -46,10 +46,12 @@ public class GameManager : Singleton } else { - if (_stoneController != null && _omokBoardImage != null) + if (_camera != null) { - _stoneController.GetComponent().DOShakePosition(0.5f, 0.5f); - _omokBoardImage.GetComponent().DOShakePosition(0.5f, 0.5f); + _camera.transform.DOShakePosition(0.5f, 0.5f).OnComplete(() => + { + _camera.transform.position = new Vector3(0,0,-10); + }); } } } @@ -73,7 +75,7 @@ public class GameManager : Singleton _stoneController = GameObject.FindObjectOfType(); _stoneController.InitStones(); var fioTimer = FindObjectOfType(); - _omokBoardImage = GameObject.FindObjectOfType().gameObject; + _camera = GameObject.FindObjectOfType().gameObject; _gameUIController = GameObject.FindObjectOfType(); _gameLogic = new GameLogic(_stoneController, _gameType, fioTimer); From 5801348bc76fd2a8d5dd7fb33ec9a9ef52faf600 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Tue, 25 Mar 2025 18:07:10 +0900 Subject: [PATCH 2/6] =?UTF-8?q?DO-46=20[Feat]=20=EA=B2=8C=EC=9E=84=20?= =?UTF-8?q?=EC=8A=B9=ED=8C=A8=20=EC=9D=B4=ED=8E=99=ED=8A=B8=20=ED=8C=A8?= =?UTF-8?q?=EB=84=90=20=EB=9D=84=EC=9A=B0=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GameUIController.cs | 10 +--- Assets/LYC/GameLYC.unity.meta | 2 +- .../Prefabs/Panels/Main Panel.prefab | 6 +-- Assets/Script/Game/GameLogic.cs | 16 +++--- .../Script/UI/PanelController/PanelManager.cs | 50 +++++++++++++++++++ 5 files changed, 62 insertions(+), 22 deletions(-) diff --git a/Assets/GameUIController.cs b/Assets/GameUIController.cs index d5f89d4..b602f67 100644 --- a/Assets/GameUIController.cs +++ b/Assets/GameUIController.cs @@ -17,6 +17,7 @@ public class GameUIController : MonoBehaviour [SerializeField] private Image profileImageB; [SerializeField] private Sprite[] profileImageSprites; //0. 기본 드래곤 1. 기본 호랑이 2.아이보리 드래곤 3. 아이보리 호랑이 [SerializeField] private Sprite[] indicatorSprites; //0. active 1. inactive + private Sprite _originalSpriteA; private Sprite _originalSpriteB; @@ -45,14 +46,7 @@ public class GameUIController : MonoBehaviour { GameManager.Instance.panelManager.OpenSettingsPanel(); } - - public void InitUI() - { - if (UserManager.Instance == null) return; - retryButton.SetActive(false); - playerANameText.text = UserManager.Instance.Nickname; - } - + public void InitPlayersName(string playerNameA, string playerNameB) { playerANameText.text = playerNameA; diff --git a/Assets/LYC/GameLYC.unity.meta b/Assets/LYC/GameLYC.unity.meta index d9e199b..cea0f0a 100644 --- a/Assets/LYC/GameLYC.unity.meta +++ b/Assets/LYC/GameLYC.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b8e3d5d18e544774eb144db419a327d2 +guid: ded4103a87c2de84db5f4ce2675227ef DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Resources/Prefabs/Panels/Main Panel.prefab b/Assets/Resources/Prefabs/Panels/Main Panel.prefab index 72c53db..ca0fdef 100644 --- a/Assets/Resources/Prefabs/Panels/Main Panel.prefab +++ b/Assets/Resources/Prefabs/Panels/Main Panel.prefab @@ -1457,7 +1457,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &405965270916774547 RectTransform: m_ObjectHideFlags: 0 @@ -1713,7 +1713,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: tester + m_text: "\uD654\uB791\uB098\uBE44" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 85a19688db53c77469fc4406b01045da, type: 2} m_sharedMaterial: {fileID: -2477908578676791210, guid: 85a19688db53c77469fc4406b01045da, type: 2} @@ -1799,7 +1799,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &8172929902404983356 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 74d6c80..3a1176d 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -21,11 +21,9 @@ public abstract class BasePlayerState if (gameLogic.CheckGameWin(playerType, row, col)) { - GameManager.Instance.panelManager.OpenConfirmPanel($"Game Over: {playerType} Win", () => - { - var gameResult = playerType == Enums.PlayerType.PlayerA? Enums.GameResult.Win:Enums.GameResult.Lose; - gameLogic.EndGame(gameResult); - }); + var gameResult = playerType == Enums.PlayerType.PlayerA? Enums.GameResult.Win:Enums.GameResult.Lose; + GameManager.Instance.panelManager.OpenEffectPanel(gameResult); + gameLogic.EndGame(gameResult); } else { @@ -33,10 +31,8 @@ public abstract class BasePlayerState { if (gameLogic.CheckGameDraw()) { - GameManager.Instance.panelManager.OpenConfirmPanel($"Game Over: Draw", () => - { - gameLogic.EndGame(Enums.GameResult.Draw); - }); + GameManager.Instance.panelManager.OpenEffectPanel(Enums.GameResult.Draw); + gameLogic.EndGame(Enums.GameResult.Draw); } else { @@ -369,7 +365,7 @@ public class GameLogic : MonoBehaviour SetState(null); ReplayManager.Instance.SaveReplayDataResult(result); //TODO: 게임 종료 후 행동 구현 - SceneManager.LoadScene("Main"); + // SceneManager.LoadScene("Main"); } //승리 확인 함수 diff --git a/Assets/Script/UI/PanelController/PanelManager.cs b/Assets/Script/UI/PanelController/PanelManager.cs index cdda752..0b036bc 100644 --- a/Assets/Script/UI/PanelController/PanelManager.cs +++ b/Assets/Script/UI/PanelController/PanelManager.cs @@ -16,6 +16,7 @@ public class PanelManager : MonoBehaviour private LoadingPanelController loadingPanelController; private Dictionary panelPrefabs = new Dictionary(); + private Dictionary effectPanelPrefabs = new Dictionary(); private void Awake() { @@ -27,6 +28,13 @@ public class PanelManager : MonoBehaviour { panelPrefabs[prefab.name] = prefab; } + + //게임결과 이펙트 패널 + GameObject[] effectPrefabs = Resources.LoadAll("Prefabs/Effects"); + foreach (GameObject effect in effectPrefabs) + { + effectPanelPrefabs[effect.name] = effect; + } Debug.Log($"총 {panelPrefabs.Count}개의 패널이 로드됨."); } @@ -52,6 +60,48 @@ public class PanelManager : MonoBehaviour return null; } + + #region 게임결과 이펙트 패널 관련 + + public GameObject GetEffectPanel(string panelName) + { + if (effectPanelPrefabs.TryGetValue(panelName, out GameObject prefab)) + { + return Instantiate(prefab, _canvas.transform); + } + else + { + Debug.LogError($"패널 '{panelName}'을 찾을 수 없습니다."); + } + + return null; + } + + public void OpenEffectPanel(Enums.GameResult gameResult) + { + switch (gameResult) + { + case Enums.GameResult.Win: + if (_canvas != null) + { + var winEffectPanelObject = GetEffectPanel("Win Effect Panel"); + } + break; + case Enums.GameResult.Lose: + if (_canvas != null) + { + var winEffectPanelObject = GetEffectPanel("Lose Effect Panel"); + } + break; + case Enums.GameResult.Draw: + if (_canvas != null) + { + var winEffectPanelObject = GetEffectPanel("Draw Effect Panel"); + } + break; + } + } + #endregion public void OpenMainPanel() { From 189d07aa93f9aa6e95bdddf7d36810bf45338ec0 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Wed, 26 Mar 2025 09:36:44 +0900 Subject: [PATCH 3/6] =?UTF-8?q?DO-46=20[Fix]=20=EC=9D=B4=ED=8E=99=ED=8A=B8?= =?UTF-8?q?=20=ED=8C=A8=EB=84=90=20=EB=B0=B0=EA=B2=BD=20=EC=96=B4=EB=91=A1?= =?UTF-8?q?=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Prefabs/Effects/Draw Effect Panel.prefab | 5 ++--- Assets/Resources/Prefabs/Effects/Lose Effect Panel.prefab | 5 ++--- Assets/Resources/Prefabs/Effects/Win Effect Panel.prefab | 8 ++++---- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Assets/Resources/Prefabs/Effects/Draw Effect Panel.prefab b/Assets/Resources/Prefabs/Effects/Draw Effect Panel.prefab index 19e269f..c7dccab 100644 --- a/Assets/Resources/Prefabs/Effects/Draw Effect Panel.prefab +++ b/Assets/Resources/Prefabs/Effects/Draw Effect Panel.prefab @@ -575,7 +575,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5882353} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -618,10 +618,9 @@ MonoBehaviour: m_EditorClassIdentifier: bannerObj: {fileID: 7291411618834705046} bannerText: {fileID: 5108301403921453943} + interval: 0.1 dragonOpenEyes: {fileID: 3881260292094838299} dragonCloseEyes: {fileID: 6707373289257723271} tigerOpenEyes: {fileID: 1508819185250841244} tigerCloseEyes: {fileID: 399504369641388738} - fullText: "\uBB34\uC2B9\uBD80 \uC785\uB2C8\uB2E4" - interval: 0.1 flipDuration: 0.3 diff --git a/Assets/Resources/Prefabs/Effects/Lose Effect Panel.prefab b/Assets/Resources/Prefabs/Effects/Lose Effect Panel.prefab index 7d9ce05..82b84f5 100644 --- a/Assets/Resources/Prefabs/Effects/Lose Effect Panel.prefab +++ b/Assets/Resources/Prefabs/Effects/Lose Effect Panel.prefab @@ -499,7 +499,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5882353} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -542,8 +542,7 @@ MonoBehaviour: m_EditorClassIdentifier: bannerObj: {fileID: 7291411618834705046} bannerText: {fileID: 5108301403921453943} + interval: 0.1 characterOpenEyes: {fileID: 1632927645355555415} characterCloseEyes: {fileID: 3881260292094838299} depressedEffect: {fileID: 155037671892554820} - fullText: "\uD328\uBC30\uD588\uC2B5\uB2C8\uB2E4" - interval: 0.1 diff --git a/Assets/Resources/Prefabs/Effects/Win Effect Panel.prefab b/Assets/Resources/Prefabs/Effects/Win Effect Panel.prefab index f0cc93a..c8e9768 100644 --- a/Assets/Resources/Prefabs/Effects/Win Effect Panel.prefab +++ b/Assets/Resources/Prefabs/Effects/Win Effect Panel.prefab @@ -837,7 +837,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5882353} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 @@ -866,6 +866,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9b132148519758c42824252ec9a2d3a4, type: 3} m_Name: m_EditorClassIdentifier: + bannerObj: {fileID: 0} + bannerText: {fileID: 5108301403921453943} + interval: 0.1 haloEffectImg: {fileID: 376994097320605198} characterImg: {fileID: 3881260292094838299} shineEffectImg: @@ -875,9 +878,6 @@ MonoBehaviour: circleEffectImg: - {fileID: 1661063685800461951} - {fileID: 5812078995592861983} - bannerText: {fileID: 5108301403921453943} - fullText: "\uC2B9\uB9AC\uD588\uC2B5\uB2C8\uB2E4!" - interval: 0.1 --- !u!225 &4545556044007292713 CanvasGroup: m_ObjectHideFlags: 0 From 3e216d3242737b134003686a6874d8b040b7203a Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Wed, 26 Mar 2025 10:44:07 +0900 Subject: [PATCH 4/6] =?UTF-8?q?DO-46=20[Fix]=20=EB=A9=94=EC=9D=B8=20?= =?UTF-8?q?=EB=B3=91=ED=95=A9=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/GameLogic.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index db30d8d..9624153 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -452,12 +452,15 @@ public class GameLogic : MonoBehaviour { // 스레드 확인 로그: 추후 디버깅 시 필요할 수 있을 것 같아 남겨둡니다 // Debug.Log($"[UnityMainThreadDispatcher] 실행 스레드: {System.Threading.Thread.CurrentThread.ManagedThreadId}"); - // UI 업데이트 - GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, "AIPlayer"); - GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, 1); - - // 리플레이 데이터 업데이트 - ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname, "PlayerAI", UserManager.Instance.imageIndex, 1); + //AI닉네임 랜덤생성 + var aiName = RandomAINickname(); + var imageIndex = UnityEngine.Random.Range(0, 2); + + //유저 이름 사진 초기화 + GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, aiName); + GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, imageIndex); + // 리플레이 데이터 업데이트 + ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname,aiName, UserManager.Instance.imageIndex, imageIndex); // 로딩 패널 열려있으면 닫기 GameManager.Instance.panelManager.CloseLoadingPanel(); @@ -576,7 +579,6 @@ public class GameLogic : MonoBehaviour SetState(null); ReplayManager.Instance.SaveReplayDataResult(result); //TODO: 게임 종료 후 행동 구현 - SceneManager.LoadScene("Main"); } //승리 확인 함수 From 30ed02abee872a344e76793608c5dabf2ce61ba3 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Wed, 26 Mar 2025 10:45:11 +0900 Subject: [PATCH 5/6] =?UTF-8?q?DO-46=20[fix]=20=ED=98=84=EC=9E=AC=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=20=EC=95=88=EB=90=98=EB=8A=94=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=A3=BC=EC=84=9D=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/Game/GameLogic.cs | 36 ++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 9624153..971fcd7 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -297,24 +297,24 @@ public class GameLogic : MonoBehaviour switch (gameType) { // TODO: 현재 싱글 플레이로 바로 넘어가지 않기 때문에 미사용 중 - case Enums.GameType.SinglePlay: - firstPlayerState = new PlayerState(true); - secondPlayerState = new AIState(); - // AI 난이도 설정(급수 설정) - OmokAI.Instance.SetRating(UserManager.Instance.Rating); - - //AI닉네임 랜덤생성 - var aiName = RandomAINickname(); - var imageIndex = UnityEngine.Random.Range(0, 2); - - //유저 이름 사진 초기화 - GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, aiName); - GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, imageIndex); - - ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname,aiName, UserManager.Instance.imageIndex, imageIndex); - - SetState(firstPlayerState); - break; + // case Enums.GameType.SinglePlay: + // firstPlayerState = new PlayerState(true); + // secondPlayerState = new AIState(); + // // AI 난이도 설정(급수 설정) + // OmokAI.Instance.SetRating(UserManager.Instance.Rating); + // + // //AI닉네임 랜덤생성 + // var aiName = RandomAINickname(); + // var imageIndex = UnityEngine.Random.Range(0, 2); + // + // //유저 이름 사진 초기화 + // GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, aiName); + // GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, imageIndex); + // + // ReplayManager.Instance.InitReplayData(UserManager.Instance.Nickname,aiName, UserManager.Instance.imageIndex, imageIndex); + // + // SetState(firstPlayerState); + // break; case Enums.GameType.MultiPlay: // 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요 UnityMainThreadDispatcher.Instance().Enqueue(() => From 1f10415f9cc45d5e6cc2bf7e658693c4be6f8497 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Wed, 26 Mar 2025 10:52:51 +0900 Subject: [PATCH 6/6] =?UTF-8?q?DO-46=20[fix]=20AI=EB=8B=89=EB=84=A4?= =?UTF-8?q?=EC=9E=84=20=EB=9E=9C=EB=8D=A4=20=EC=83=9D=EC=84=B1=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=9C=84=EC=B9=98=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 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Assets/Script/Game/GameLogic.cs b/Assets/Script/Game/GameLogic.cs index 971fcd7..8303a77 100644 --- a/Assets/Script/Game/GameLogic.cs +++ b/Assets/Script/Game/GameLogic.cs @@ -446,16 +446,17 @@ public class GameLogic : MonoBehaviour secondPlayerState = new AIState(); // AI 난이도 설정(급수 설정) OmokAI.Instance.SetRating(UserManager.Instance.Rating); + + //AI닉네임 랜덤생성 + var aiName = RandomAINickname(); + var imageIndex = UnityEngine.Random.Range(0, 2); // 메인 스레드에서 실행 - UI 업데이트는 메인 스레드에서 실행 필요 UnityMainThreadDispatcher.Instance().Enqueue(() => { // 스레드 확인 로그: 추후 디버깅 시 필요할 수 있을 것 같아 남겨둡니다 // Debug.Log($"[UnityMainThreadDispatcher] 실행 스레드: {System.Threading.Thread.CurrentThread.ManagedThreadId}"); - //AI닉네임 랜덤생성 - var aiName = RandomAINickname(); - var imageIndex = UnityEngine.Random.Range(0, 2); - + //유저 이름 사진 초기화 GameManager.Instance.InitPlayersName(UserManager.Instance.Nickname, aiName); GameManager.Instance.InitProfileImages(UserManager.Instance.imageIndex, imageIndex);