From efa37d0e3d353d13f330f7a8c40d1d90e07f4761 Mon Sep 17 00:00:00 2001 From: HaeinLEE Date: Mon, 24 Mar 2025 10:42:29 +0900 Subject: [PATCH] =?UTF-8?q?[Feat]=20ReplayPanelItemsController=20=EC=8A=B9?= =?UTF-8?q?=ED=8C=A8=20=EA=B2=B0=EA=B3=BC=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=ED=95=98=EB=8A=94=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PlayerA,B비교에서 결과값으로 변경 --- Assets/Script/Replay/ReplayController.cs | 5 ++- Assets/Script/Replay/ReplayManager.cs | 45 ++++++------------- .../ReplayPanelItemsController.cs | 3 +- 3 files changed, 19 insertions(+), 34 deletions(-) diff --git a/Assets/Script/Replay/ReplayController.cs b/Assets/Script/Replay/ReplayController.cs index d6adca1..db65028 100644 --- a/Assets/Script/Replay/ReplayController.cs +++ b/Assets/Script/Replay/ReplayController.cs @@ -19,8 +19,7 @@ public class ReplayController : MonoBehaviour public void OnclickExitButton() { - //TODO: 메인씬으로 다시 넘어갈 때 호출해야하는 함수 등등이 있을지.... - SceneManager.LoadScene("Main-Jay"); + SceneManager.LoadScene("Main"); } public void OnclickFirstButton() @@ -57,6 +56,8 @@ public class ReplayController : MonoBehaviour playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname(); //TODO: ReplayManager에서 프로필 인덱스 가져와서 SetUserProfileImages호출하기 + int playerAProgileIndex = ReplayManager.Instance.GetPlayerAProfileIndex(); + int playerBProgileIndex = ReplayManager.Instance.GetPlayerBProfileIndex(); } private void SetUserProfileImages(int imageIndex,GameObject[] profileImages) diff --git a/Assets/Script/Replay/ReplayManager.cs b/Assets/Script/Replay/ReplayManager.cs index e7025c8..19c7157 100644 --- a/Assets/Script/Replay/ReplayManager.cs +++ b/Assets/Script/Replay/ReplayManager.cs @@ -12,11 +12,9 @@ public class ReplayRecord public string playerA; public string playerB; public List moves = new List(); - //TODO: winnerPlayerType삭제 - public string winnerPlayerType; public string gameResult; //무승부를 반영하기위해 승자가 아닌 게임 결과를 저장. - public string playerAPofileImageIndex; - public string playerBPofileImageIndex; + public int playerAPofileImageIndex; + public int playerBPofileImageIndex; } [Serializable] public class Move @@ -100,8 +98,8 @@ public class ReplayManager : Singleton _recordingReplayData = new ReplayRecord(); _recordingReplayData.playerA = playerANickname; _recordingReplayData.playerB = playerBNickname; - _recordingReplayData.playerAPofileImageIndex = playerAProfileIndex.ToString(); - _recordingReplayData.playerBPofileImageIndex = playerAProfileIndex.ToString(); + _recordingReplayData.playerAPofileImageIndex = playerAProfileIndex; + _recordingReplayData.playerBPofileImageIndex = playerAProfileIndex; } /// @@ -116,29 +114,6 @@ public class ReplayManager : Singleton /// /// 게임 종료 후 호출하여 리플레이 데이터를 저장합니다. /// - public void SaveReplayData(Enums.PlayerType winnerPlayerType) - { - try - { - string time = DateTime.Now.ToString(("yyyy-MM-dd HH_mm_ss")); - _recordingReplayData.gameDate = time; - _recordingReplayData.winnerPlayerType = winnerPlayerType.ToString(); - - - string json = JsonUtility.ToJson(_recordingReplayData, true); - - - string path = Path.Combine(Application.persistentDataPath, $"{time}.json"); - File.WriteAllText(path, json); - - //최신 데이터 10개만 유지되도록 저장 - RecordCountChecker(); - } - catch(Exception e) - { - Debug.LogError($"An error occurred while saving replay data:{e.Message}"); - } - } public void SaveReplayDataResult(Enums.GameResult gameResultType) { try @@ -265,8 +240,16 @@ public class ReplayManager : Singleton { return _selectedReplayRecord.playerB; } - - + + public int GetPlayerAProfileIndex() + { + return _selectedReplayRecord.playerAPofileImageIndex; + } + + public int GetPlayerBProfileIndex() + { + return _selectedReplayRecord.playerBPofileImageIndex; + } #endregion protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode) diff --git a/Assets/Script/UI/PanelController/ReplayPanelItemsController.cs b/Assets/Script/UI/PanelController/ReplayPanelItemsController.cs index 9a8cd5b..8b64119 100644 --- a/Assets/Script/UI/PanelController/ReplayPanelItemsController.cs +++ b/Assets/Script/UI/PanelController/ReplayPanelItemsController.cs @@ -35,7 +35,8 @@ public class ReplayPanelItemsController : ScrollPanelController string opponentNickname = myPlayerType==Enums.PlayerType.PlayerA ? replayRecord.playerB : replayRecord.playerA; replayCell.SetMyPlayerType(myPlayerType); - replayCell.SetWinImage(myPlayerType.ToString().Equals(replayRecord.winnerPlayerType)); + replayCell.SetWinImage(Enums.GameResult.Win.ToString() == replayRecord.gameResult); + replayCell.SetOpponentPlayerNickname(opponentNickname); replayCell.SetRecordDate(replayRecord.gameDate); replayCell.SetReplayRecord(replayRecord);