2026-06-13 리듬게임 프로토타입
This commit is contained in:
50
Assets/02_Scripts/UI/RhythmResultHud.cs
Normal file
50
Assets/02_Scripts/UI/RhythmResultHud.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
// 곡 종료 후 결과창. 총점/판정수/정확도/등급/최대콤보를 표시한다.
|
||||
public class RhythmResultHud : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private RhythmManager _manager;
|
||||
[SerializeField] private GameObject _root; // 결과창 루트
|
||||
[SerializeField] private TMP_Text _scoreText;
|
||||
[SerializeField] private TMP_Text _maxComboText;
|
||||
[SerializeField] private TMP_Text _countText; // Perfect/Good/Bad/Miss 모아서 표시
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (_root != null) _root.SetActive(false);
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (_manager == null) return;
|
||||
_manager.OnSongStarted += Hide;
|
||||
_manager.OnSongFinished += Show;
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
if (_manager == null) return;
|
||||
_manager.OnSongStarted -= Hide;
|
||||
_manager.OnSongFinished -= Show;
|
||||
}
|
||||
|
||||
private void Hide()
|
||||
{
|
||||
if (_root != null) _root.SetActive(false); // 곡 시작/재시작 시 이전 결과창 숨김
|
||||
}
|
||||
|
||||
private void Show(RhythmScore score)
|
||||
{
|
||||
if (_scoreText != null) _scoreText.text = $"{score.Score:N0}";
|
||||
if (_maxComboText != null) _maxComboText.text = $"{score.MaxCombo}";
|
||||
if (_countText != null)
|
||||
_countText.text =
|
||||
$"Perfect {score.PerfectCount}\n" +
|
||||
$"Good {score.GoodCount}\n" +
|
||||
$"Bad {score.BadCount}\n" +
|
||||
$"Miss {score.MissCount}";
|
||||
|
||||
if (_root != null) _root.SetActive(true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user