TIL

점수 시스템 도입 및 게임 흐름 연동 정리

youngjin02 2025. 5. 31. 01:47

🎮 오늘 한 일

  1. 시간 기반 점수 시스템 구현
    ScoreManager에서 Update()로 시간에 따라 점수 증가
    StartScoring(), StopScoring(), ResetScore() 메서드 구현으로 점수 흐름 제어
    점수 변경 시 InGameUI.UpdateScoreText() 호출로 UI 동기화

  2. 점수 UI 연결
    InGameUI에 UpdateScoreText(float score) 추가
    코인과 동일한 스타일로 점수 표시
    프리팹에서 scoreText 필드 연결 확인 및 적용

  3. 게임 흐름에 점수 시스템 연동
  • 게임 시작 시 ScoreManager.StartScoring() 호출
  • 게임 오버 시 StopScoring() 호출
  • 리스타트 시 ResetScore(), StartScoring() 호출

   4. 게임오버 UI 호출 지연 중복 방지
       GameOver() 호출 전에 CancelInvoke(nameof(GoGameOver)) 처리
       게임 중 Pause UI → GameOver UI 전환 시 UI 충돌 방지


🧠 배운 점

  • 싱글톤 방식으로 게임 전역에서 점수 관리 가능
  • Time.timeScale == 0 상태에서도 Invoke()는 작동하지만 Time.deltaTime은 0이 되어 점수 증가가 멈춤
  • 리스타트 시 이전 GameOver 관련 처리를 확실히 정리하지 않으면 충돌 가능성 있음