PopUp창 변경과 TargetColor 설정 기능

이준영·2025년 11월 7일

이전 팝업 창

이전 팝업 창
  • 이전 팝업창은 텍스트의 넣을 데이터를 직접 가지고 있었음.
  • 또 활성화 되어있을 때 아무 화면이나 누르면 OnRetry Action을 실행함.

개선한 팝업 창

개선한 이유

  • string 데이터가 PopUpUI에 있으면 해당 클래스에 필요한 문구를 계속 추가하게 됨.
  • 화면을 클릭하는 걸로 꺼지게 끔 기능하면, 실수로 인해 알림 문구를 제대로 확인 못 할 가능성이 있음.

개선 방법

개선한 팝업 창
  • 클래스 명을 AlertPopUp으로 고쳤다.(후에 YesNo 입력 가능한 팝업 추가 예정)
  • 팡업창에 띄울 string 데이터는 ColorPuzzle로 옮겼다.
  • 그리고 SetTitle, SetDescription 메서드로 Text를 변경할 수 있게 하였다.
  • 버튼의 기능은 ColorPuzzle, DevStage 등의 씬을 담당하는 클래스에서 추가하였다.

TargetColor 설정 기능

씬 설정

SetTargetColorButton
  • 버튼을 생성하고 해당 스크립트를 넣어주었다.

구현 방법

DevStage
  • 버튼에 기능을 추가하는 메서드와 알람 팝업에 기능을 추가하는 메서드를 추가하였다.
SetTargetColorButton의 기능
  1. 버튼 입력 시 : 팔렛트에 색 선택 기능 추가, 알람 팝업 켜짐, 알람 팝업 텍스트 설정
  2. 팔렛트에 색 선택 기능 추가 : 팔렛트에 선택한 색이 TargetColor가 됨.
  3. 색 선택 후 : 선택 된 것을 시각적으로 표시(Text 변경), 팔렛트에 추가되었던 기능 삭제.
  • 이 기능을 구현하기 위해서 Dictionary를 활용하여 Action을 저장했다가 삭제하는 방식을 사용했다.

  • 람다식으로 추가된 메서드는 다른 Action이기 때문에 삭제가 작동되지 않기 때문이다.

  • 또 다른 방법으로 그냥 람다식으로만 추가하고, ResetSelectedColor(), RegisterSelectedColor()를 순차적으로 사용하는 것도 방법이다.

AlertPopUp의 기능
  • 필요한 기능은 전부 위에서 구현하였기 때문에 버튼에 끄는 기능만 넣었다.

Test

Test
  • 알람 창과 기능을 분리했기 때문에 알람창을 끄지 않아도 선택 가능.
Test
  • Ok 버튼을 누르면 꺼진다.
profile
게임 개발자가 되기 위해서 공부하는 중입니다.

0개의 댓글