TIL

ScoreManager 싱글톤으로 점수 시스템 리팩토링하기

youngjin02 2025. 5. 9. 20:48

✅ 오늘 한 일

  • 팀원들의 작업을 모두 병합(Merge) 완료
    → 충돌 정리 및 공통 폴더 구조로 정리
  • 내가 만든 PlayerControllerTest 제거
    → 팀원이 만든 PlayerController로 기능 이식
  • 점수 시스템 리팩토링
    • 기존: PlayerController에서 직접 점수 관리
    • 변경: ScoreManager 싱글톤 클래스 생성
      → 점수 중앙 관리 방식으로 구조 개선
    • Item.cs에서 점수 획득 시 ScoreManager.Instance.AddScore() 호출
  • ScoreManager 오브젝트를 프리팹화하고 씬에 배치

  • 다양한 아이템 배치 테스트 (Score, Heal, SpeedUp 등)

🔥 오늘 배운 점

  • 싱글톤 패턴의 구조와 역할:
    → 하나의 인스턴스를 전역에서 접근할 수 있고, 상태 유지를 쉽게 해준다
  • Unity에서 프리팹으로 오브젝트 관리하면
    → 재사용성과 씬 정리가 훨씬 쉬워진다는 것
  • **책임 분리(Single Responsibility)**의 중요성
    → Player는 동작만, 점수는 ScoreManager가 처리

✏️ 내일 할 일

  • 아이템 획득 시 사운드, 이펙트 추가
  • 아이템의 스프라이트 찾아서 적용
  • 더 많은 아이템 만들기

🧠 느낀 점

  • 구조적으로 정리하니까 기능이 추가될 때 혼란이 훨씬 적다
  • 팀 프로젝트는 단순히 "작동"보다 "책임 나누기"가 중요하다는 걸 실감함
  • 싱글톤 패턴은 처음엔 어렵지만, 기능을 나누는 가장 좋은 방법 중 하나라는 걸 체감

요약

점수 시스템을 리팩토링하고, 전체 구조와 연결되는 방식으로 통합했다.