Add bring ui to front function

This commit is contained in:
HungDK
2026-05-21 17:40:58 +07:00
parent f99b0dae9c
commit 74e1bdc1d4
@@ -125,6 +125,8 @@ namespace BrewMonster.Scripts.UI
/// </summary>
/// <param name="panel">The GameObject panel to show/hide</param>
/// <param name="show">True to show, false to hide</param>
public const int OverlayPanelSortOrder = 2000;
public static void ShowPanel(GameObject panel, bool show)
{
if (panel == null)
@@ -145,6 +147,25 @@ namespace BrewMonster.Scripts.UI
}
}
/// <summary>Draw panel above other UI dialogs (sibling order + canvas sort).</summary>
public static void BringPanelToFront(GameObject panel)
{
if (panel == null)
return;
panel.transform.SetAsLastSibling();
var canvas = panel.GetComponent<Canvas>();
if (canvas == null)
canvas = panel.AddComponent<Canvas>();
canvas.overrideSorting = true;
canvas.sortingOrder = OverlayPanelSortOrder;
if (panel.GetComponent<GraphicRaycaster>() == null)
panel.AddComponent<GraphicRaycaster>();
}
/// <summary>
/// Helper class for managing dual text component support (Legacy Text + TextMeshPro).
/// Allows UI components to work with both text systems simultaneously.