카운팅 기능과 재시작 기능 구현

이준영·2025년 10월 10일
post-thumbnail

오늘은 남은 기회가 소모되는 기능과 재시작 기능을 구현하였다.

기획서

기획서

카운팅 기능

LimitedChances

LimitedChances
  • LimitedChances 클래스는 기회가 소모되거나, 초기 상태로 초기화 되는 기능을 담당한다.
  • 초기 상태는 임시로 직렬화로 구현하였다. (추후 Json으로 변경 예정)

ColorPuzzle

ColorPuzzle
  • CountingChances 메서드로 기회가 잘못 소모되는 것을 막아 정의하였다.
  • 그리고 Cell의 기능을 등록할 때, CountingChances 메서드를 등록 해 주었다.

Test

Test
  • 기회가 잘 소모 되는 것을 확인 할 수 있다. (팝업 창은 밑에 설명)

재시작 기능

ResetButton

ResetButton
  • 리셋 버튼은 클릭 했을 때, 이벤트만 작동 시키는 용도로 정의하였다.

Board

Board
  • 초기 색을 기록한 CellColor 2차원 배열 _firstCells 변수를 구현했다.
  • 그리고 ResetBoard 메서드에서 저장된 색으로 되돌리게 정의 하였다.

LimitedChances

LimitedChances
  • LimitedChances 또한 초기화 할 수 있는 기능을 구현하였다.

Test

Test
  • 오른쪽 아래에 있는 R 버튼을 누르게 되면 다시 초기 상태에서 실행 할 수 있다.

팝업 창 기능

PopUpUI

PopUpUI
  • 보통은 GetComponentInChildren으로 원하는 컴포넌트을 가져오는 방식을 선호하지만, 기능 하나를 위해서 새로운 클래스를 정의하기는 힘들어서 직렬화 방식으로 TextMeshProUGUI를 가져왔다.
  • 이런식으로 직렬화 할 때는 나는 왠만하면 Prefab으로 만들어 두는 편이다.
  • 이번에는 TextArea 어트리뷰트를 사용해봤는데, 확실히 길이가 어느정도 있는 문장을 입력할 필요가 있으면 사용하기 좋았다.
  • 팝업 창이 떠 있을 때, 좌클릭을 하게 되면 스테이지가 재시작 되게 하였다.

ColorPuzzle

ColorPuzzle
  • 타겟 색상은 직렬화로 선택할 수 있게 하였다.
  • 그리고 CheckClear 메서드에서 판의 모든 칸이 타겟 색상과 일치하면 클리어
  • 모든 기회가 소모되면 실패 창이 나오게 설정하였다.
  • 팝업 창이 떠 있을 때, 좌클릭을 하게 되면 재시작과 같은 기능을 할 수 있도록 하였다.
profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글