diff --git a/Assets/Scripts/UVC/UI/Menu/TopMenuView.cs b/Assets/Scripts/UVC/UI/Menu/TopMenuView.cs index 73f975c0..3cc89ff1 100644 --- a/Assets/Scripts/UVC/UI/Menu/TopMenuView.cs +++ b/Assets/Scripts/UVC/UI/Menu/TopMenuView.cs @@ -208,12 +208,15 @@ namespace UVC.UI.Menu // CreateUIBlocker 호출 시점에는 menuContainer의 sibling index가 확정되지 않았을 수 있으므로, // UpdateBlockerVisibility에서 최종적으로 조정하는 것이 더 안전할 수 있습니다. // 여기서는 일단 menuContainer의 뒤에 두도록 시도합니다. - uiBlockerInstance.transform.SetSiblingIndex(menuContainer.GetSiblingIndex() - 1); + // 여기서는 일단 menuContainer의 뒤에 두도록 시도합니다. + int siblingIndex = menuContainer.GetSiblingIndex(); + uiBlockerInstance.transform.SetSiblingIndex(Math.Max(0, siblingIndex - 1)); } else if (transform.parent == blockerParent) { // TopMenuView 자체가 blockerParent의 자식인 경우, TopMenuView 뒤에 블로커를 둡니다. - uiBlockerInstance.transform.SetSiblingIndex(transform.GetSiblingIndex() - 1); + int siblingIndex = transform.GetSiblingIndex(); + uiBlockerInstance.transform.SetSiblingIndex(Math.Max(0, siblingIndex - 1)); } else { @@ -615,11 +618,13 @@ namespace UVC.UI.Menu Transform blockerParent = uiBlockerInstance.transform.parent; if (menuContainer != null && menuContainer.parent == blockerParent) { - uiBlockerInstance.transform.SetSiblingIndex(menuContainer.GetSiblingIndex() - 1); + int siblingIndex = menuContainer.GetSiblingIndex(); + uiBlockerInstance.transform.SetSiblingIndex(Math.Max(0, siblingIndex - 1)); } else if (transform.parent == blockerParent) { - uiBlockerInstance.transform.SetSiblingIndex(transform.GetSiblingIndex() - 1); + int siblingIndex = transform.GetSiblingIndex(); + uiBlockerInstance.transform.SetSiblingIndex(Math.Max(0, siblingIndex - 1)); } else {