From f8fc0577ef7c240f50e449e7236286b6ecf056c9 Mon Sep 17 00:00:00 2001 From: HaeinLEE Date: Wed, 19 Mar 2025 22:27:05 +0900 Subject: [PATCH] =?UTF-8?q?[Feat]=20=EA=B8=B0=EB=B3=B4=EC=94=AC=20?= =?UTF-8?q?=ED=94=8C=EB=A0=88=EC=9D=B4=EC=96=B4=20=EB=8B=89=EB=84=A4?= =?UTF-8?q?=EC=9E=84=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 추후 플레이어 이미지 저장과 불러오기까지 추가 예정 --- Assets/Scenes/Replay.unity | 22 +++++++++++++++++++--- Assets/Script/Replay/ReplayController.cs | 24 +++++++++++++++++++----- Assets/Script/Replay/ReplayManager.cs | 22 ++++++++++++++-------- 3 files changed, 52 insertions(+), 16 deletions(-) diff --git a/Assets/Scenes/Replay.unity b/Assets/Scenes/Replay.unity index d6d25f3..08ad32a 100644 --- a/Assets/Scenes/Replay.unity +++ b/Assets/Scenes/Replay.unity @@ -18776,7 +18776,19 @@ MonoBehaviour: m_TargetGraphic: {fileID: 3806122117153528265} m_OnClick: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 6113787613455091454} + m_TargetAssemblyTypeName: ReplayController, Assembly-CSharp + m_MethodName: OnclickExitButton + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &2180157736468784195 GameObject: m_ObjectHideFlags: 0 @@ -18914,7 +18926,7 @@ GameObject: - component: {fileID: 182763848042457448} - component: {fileID: 5649645114534718557} m_Layer: 5 - m_Name: Player Name Text + m_Name: PlayerB Name Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -19033,7 +19045,7 @@ GameObject: - component: {fileID: 1750532428139497284} - component: {fileID: 4888719462519445862} m_Layer: 5 - m_Name: Player Name Text + m_Name: PlayerA Name Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -19453,6 +19465,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bda9793c3fea2104199340f907378533, type: 3} m_Name: m_EditorClassIdentifier: + playerANicknameText: {fileID: 4888719462519445862} + playerBNicknameText: {fileID: 5649645114534718557} + playerAImage: {fileID: 8274101518570821972} + playerBImage: {fileID: 1516328598779423605} --- !u!224 &6390176559513736999 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Script/Replay/ReplayController.cs b/Assets/Script/Replay/ReplayController.cs index 59a1c04..b44b2b1 100644 --- a/Assets/Script/Replay/ReplayController.cs +++ b/Assets/Script/Replay/ReplayController.cs @@ -1,17 +1,26 @@ using System.Collections; using System.Collections.Generic; +using TMPro; using UnityEngine; +using UnityEngine.SceneManagement; +using UnityEngine.UI; public class ReplayController : MonoBehaviour { - void Awake() + [SerializeField] private TMP_Text playerANicknameText; + [SerializeField] private TMP_Text playerBNicknameText; + [SerializeField] private Image playerAImage; + [SerializeField] private Image playerBImage; + void Start() { - //TODO: 리플레이매니저 데이터로 화면 초기화 + InitReplayUI(); + //TODO: 프로필 이미지 불러오기 } public void OnclickExitButton() { - + //TODO: 메인씬으로 다시 넘어갈 때 호출해야하는 함수 등등이 있을지.... + SceneManager.LoadScene("Main-Jay"); } public void OnclickFirstButton() @@ -41,6 +50,11 @@ public class ReplayController : MonoBehaviour { ReplayManager.Instance.ReplayFinish(); } - - + + public void InitReplayUI() + { + playerANicknameText.text = ReplayManager.Instance.GetPlayerANickname(); + playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname(); + } + } diff --git a/Assets/Script/Replay/ReplayManager.cs b/Assets/Script/Replay/ReplayManager.cs index b07cd9f..a6601f8 100644 --- a/Assets/Script/Replay/ReplayManager.cs +++ b/Assets/Script/Replay/ReplayManager.cs @@ -229,24 +229,30 @@ public class ReplayManager : Singleton ReplayNext(GetNextMove()); } } + + public string GetPlayerANickname() + { + return _selectedReplayRecord.playerA; + } + + public string GetPlayerBNickname() + { + return _selectedReplayRecord.playerB; + } + + #endregion protected override void OnSceneLoaded(Scene scene, LoadSceneMode mode) { if (scene.name == "Replay") { - if (_selectedReplayRecord != null) - { - InitReplayBoard(_selectedReplayRecord); - } - + InitReplayBoard(_selectedReplayRecord); + //게임 매니저에서 가져온 코드입니다. _stoneController = GameObject.FindObjectOfType(); _stoneController.InitStones(); _gameLogic = new GameLogic(_stoneController, Enums.GameType.Replay); - - // TODO: 데이터 잘못 가져왔을 때 어떻게 처리할지 고민하기 - // Main으로 강제 전환 ? } } }