Add bring ui to front function
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user