• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

팝업 UI의 생명주기에 대해 질문이 있습니다.

21.09.03 06:58 작성 조회수 329

0

보통 팝업UI라 하면 Alert창이나 Confirm창으로 확인이나 닫기 버튼 등을 통해 원하는 기능(페이지 이동, 함수 실행 등)을 수행하도록 하게될텐데요, 마지막 ClosePopup을 어디서 수행하게 될지 궁금해서 여쭤봅니다.

예를 들어 Item 구매 -> 수량설정 팝업UI -> 구매확인 팝업UI -> CloseAllPopup 의 구매절차가 있고 팝업UI에선 확인 버튼으로 다음 단계로 넘어간다고 했을때 마지막 팝업UI의 확인버튼에서 CloseAllPopup을 호출하면 버튼이벤트 함수가 종료되지 않은 상태에서 해당 객체를 지우려 하기때문에 ArgumentException: method arguments are incompatible  이런 에러를 발생시키는것 같습니다.

결국 확인버튼이 눌렸을때 closePop을 하는것이 아닌 다른곳에서 해줘야 될 것 같은데 보통 어떤식으로 처리하는지 힌트나 조언 좀 주시면 감사하겠습니다.

답변 2

·

답변을 작성해보세요.

1

100% 정해진건 없고 적절히 응용을 하면 됩니다.
강의 예제에선 UI를 매 번 삭제하고 새로 만들지만,
프로젝트 따라 최초 게임 실행시 모든 UI를 로드하고
On/Off처리만 하는 경우도 있고 다양합니다.
제가 일한 프로젝트에서는 항상 마지막 ClosePopup을 할 때 모든 창을 끄도록 되어 있었습니다.
위에 ArgumentException이 뜨는게 정확히 어떤 흐름인지 코드를 봐야 알겠네요.
해결이 되지 않는다면 rookiss@naver.com 로 프로젝트 압축후 보내주시기 바랍니다.

0

조재한님의 프로필

조재한

질문자

2021.09.06

주말동안 해결했습니다! 감사해요:)