using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Serialization; public class ReplayPanelController : MonoBehaviour { [SerializeField] private RectTransform panelRectTransform; [SerializeField] private GameObject replayCellPrefab; [SerializeField] private Transform contentTransform; private CanvasGroup _backgroundCanvasGroup; public delegate void PanelControllerHideDelegate(); private string _myNickname; private void Awake() { _backgroundCanvasGroup = GetComponent(); //TODO:Test용 닉네임 나중에 삭제하고 PlayerInfo에서 가져올 것 _myNickname = "Gildong"; } private void Start() { List records = new List(); // ReplayManager에서 가져온 기보 데이터들을 패널 셀에 초기화 records = ReplayManager.Instance.LoadReplayDatas(); foreach (var replayRecord in records) { var replayCellButtonObject = Instantiate(replayCellPrefab, contentTransform); ReplayCell replayCell = replayCellButtonObject.GetComponent(); string myPlayerType = _myNickname.Equals(replayRecord.playerA)?"PlayerA":"PlayerB"; string opponentNickname = _myNickname.Equals(replayRecord.playerA)?replayRecord.playerB:replayRecord.playerA; replayCell.SetMyPlayerType(myPlayerType); replayCell.SetWinImage(myPlayerType.Equals(replayRecord.winnerPlayerType)); replayCell.SetOpponentPlayerNickname(opponentNickname); replayCell.SetRecordDate(replayRecord.gameDate); replayCell.SetReplayRecord(replayRecord); } } public void OnClickCloseButton() { Hide(() => { Destroy(gameObject); }); } public void Hide(PanelControllerHideDelegate hideDelegate = null) { _backgroundCanvasGroup.alpha = 0; panelRectTransform.localScale = Vector3.zero; hideDelegate?.Invoke(); } }