관리 메뉴

有希

UI_Manager 본문

프로그래밍/UnityEngine기초

UI_Manager

有希. 2021. 9. 4. 23:09

UI는 팝업. 다만 씬에 고정적으로 박혀있는 UI는 팝업이긴 한데 다르게 봐야한다.

즉, 팝업용 UI, 팝업용이 아닌 UI(씬을 위한 UI같은 것)

사용했던 order를 저장해서 order에 따라 팝업순서를 지정하면 팝업 효과를 줘서 새로 뜬 녀석이 기존에 뜬 녀석을 가리게 할 수 있다.

Stack에서 게임 오브젝트 보다는, 컴포넌트 패턴이므로 UI_Popup과 같은 스크립트를 상속받은 녀석들을 관리할 것이므로 UI_Popup이라는 녀석을 Stack으로 관리하는 편이 낫다.

 

팝업을 열 때에는 스택에 넣기만 하면 된다. 다만, 팝업을 닫을 때에는 stack이라는 점을 염두해서 LIFO에 맞게 닫아주어야 한다.

Int형 변수인 order의 경우에는 매니저에서 증가시키기 보다는, UI_Popup 코드를 통해서 bind하거나 할 것이므로, UI_Pop클래스 상에서 증가시키는 편이 자동으로 처리되고 편하다.

Popup의 경우에는 sorting을 하고, Scene과 같은 고정 UI는 sorting을 하지 않는다.

Canvas.overrideSorting은 Canvas안에 Canvas가 있는 경우가 있는데, 이럴 경우 부모가 어떤 값이던 자식은 따로 sortOrder를 가지는 것.

UI가 중첩돼서 뒤쪽에 있는 UI를 클릭하지 못하게 하려면 Blocker라는 Image오브젝트를 하나 만들어서 alpha값을 0(투명)으로 주고, UI_Button과 같은 오브젝트 내에서 순서를 가장 위로 올려주면 된다.

'프로그래밍 > UnityEngine기초' 카테고리의 다른 글

Sound Manager  (0) 2021.09.04
Scene Manager  (0) 2021.09.04
Extension 클래스  (0) 2021.09.04
UI Event Handler  (0) 2021.09.04
UI자동화  (0) 2021.09.04