인프런 커뮤니티 질문&답변

장요셉님의 프로필 이미지
장요셉

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

UI Manager #2

SetCanvas에는 Stack Push를 안해도 되나요?

작성

·

46

·

수정됨

0

SetCanvas 함수에서 true 일 때 _order++ 은해서

_order값은 올라 가는데 Stack에는

안올라 가는거 같은데 별로 상관 없는 걸까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

장요셉님께서 문의하신 내용은 SetCanvas() 함수와 관련된 _order의 값 변경과 Stack에 대한 관리에 관한 것 같습니다. SetCanvas() 함수에서 _order를 증가시키면서 Stack에는 푸시하지 않는 부분에 대해 의문이 있으신 것 같습니다.

기본적으로 UI 정렬을 위한 SetCanvas() 함수 내에서는 _order 값을 통해 Canvas의 순서를 조작하게 됩니다. 그러나 Stack을 사용하여 순서를 관리하지 않는 경우, _order의 역추적이 어렵거나 Pop()이나 Undo와 같은 동작이 필요할 시에는 문제가 될 수 있습니다.

아래 몇 가지 관련된 내용을 참고하실 수 있는 링크를 소개해 드립니다:

  1. UI 순서 관리 및 Canvas 정렬 문제: 여기에서는 UI_SceneUI_Popup의 차이와 UI 정렬에 대한 일반적인 관리 기준에 대해 논의하고 있습니다.

  2. 유니티 UI 정렬 및 Stack 사용의 필요성: 이 링크에서는 유니티 고유의 비동기적 동작, 특히 UI와 관련하여 _order와 Stack의 활용이 언급됩니다.

각 링크의 내용을 읽어보시면 현재 상황에 맞는 해결책이나 유사한 문제에 대한 답변을 얻으실 수 있을 것입니다.

요약: _order가 Stack에 푸시되지 않는 것은 특정 설계에 따라 문제가 되지 않을 수 있지만, 필요에 따라 Stack 활용을 고려해 보시는 것이 좋습니다. 특히 UI가 복잡하거나 동적인 연출이 자주 발생하는 경우에는 Stack을 활용하여 순서의 추적 및 되돌리기를 구현하는 것이 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

장요셉님의 프로필 이미지
장요셉

작성한 질문수

질문하기