using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.Serialization; using UnityEngine.UI; public class ReplayController : MonoBehaviour { [SerializeField] private TMP_Text playerANicknameText; [SerializeField] private TMP_Text playerBNicknameText; [SerializeField] private GameObject[] userAProfileImages; [SerializeField] private GameObject[] userBProfileImages; [SerializeField] private Button replayFinishButton; void Start() { InitReplayUI(); } public void OnclickExitButton() { ReplayManager.Instance.StopReplayFinish(() => { });; SceneManager.LoadScene("Main"); } public void OnclickFirstButton() { ReplayManager.Instance.StopReplayFinish(() => { replayFinishButton.interactable = true; });; ReplayManager.Instance.ReplayFirst(); } public void OnclickUndoButton() { ReplayManager.Instance.StopReplayFinish(() => { replayFinishButton.interactable = true; });; Move targetMove = ReplayManager.Instance.PopPlacedMove(); if (targetMove != null) { ReplayManager.Instance.ReplayUndo(targetMove); } } public void OnclickNextButton() { ReplayManager.Instance.StopReplayFinish(() => { replayFinishButton.interactable = true; });; Move nextMove = ReplayManager.Instance.GetNextMove(); if (nextMove != null) { ReplayManager.Instance.ReplayNext(nextMove); } } /// /// 끝 버튼 눌렸을 때 중복 클릭 방지 /// public void OnClickFinishButton() { replayFinishButton.interactable = false; //실행이 끝난 후 끝버튼 다시 활성화 ReplayManager.Instance.ReplayFinish(() => { replayFinishButton.interactable = true; }); } public void InitReplayUI() { //유저 닉네임 설정 playerANicknameText.text = ReplayManager.Instance.GetPlayerANickname(); playerBNicknameText.text = ReplayManager.Instance.GetPlayerBNickname(); //프로필 이미지 설정 int playerAProgileIndex = ReplayManager.Instance.GetPlayerAProfileIndex(); int playerBProgileIndex = ReplayManager.Instance.GetPlayerBProfileIndex(); SetUserProfileImages(playerAProgileIndex, userAProfileImages); SetUserProfileImages(playerBProgileIndex, userBProfileImages); } private void SetUserProfileImages(int imageIndex,GameObject[] profileImages) { if (imageIndex < 0 || imageIndex >= profileImages.Length) { return; } // 모든 프로필 이미지 비활성화 후, 선택한 이미지만 활성화 foreach (var img in profileImages) { img.SetActive(false); } profileImages[imageIndex].SetActive(true); } }