UI HUGE UPDATE

This commit is contained in:
FloatGaming
2026-06-25 11:48:56 +08:00
parent bd2a06f4c7
commit b2a1e307a4
1806 changed files with 359863 additions and 20822 deletions
+33 -6
View File
@@ -20,13 +20,16 @@ public class uLevel : MonoBehaviour
[Header("so")]
public Player_SO pso;
private GameObject resolvedLevelPanelRoot;
private void Start()
{
if (pso == null)
pso = Resources.Load<Player_SO>("playerdata/playerData_uniqueData");
if (uLevelPanel != null)
uLevelPanel.SetActive(false);
resolvedLevelPanelRoot = ResolveLevelPanelRoot();
if (resolvedLevelPanelRoot != null)
resolvedLevelPanelRoot.SetActive(false);
if (uls != null && pso != null)
uls.SetPlayerSo(pso);
@@ -46,18 +49,42 @@ public class uLevel : MonoBehaviour
private void OpenLevelDetailPanel()
{
if (uLevelPanel == null)
GameObject panelRoot = ResolveLevelPanelRoot();
if (panelRoot == null)
return;
if (uls != null && pso != null)
uls.SetPlayerSo(pso);
uLevelPanel.SetActive(true);
panelRoot.SetActive(true);
}
private void CloseLevelDetailPanel()
{
if (uLevelPanel != null)
uLevelPanel.SetActive(false);
GameObject panelRoot = ResolveLevelPanelRoot();
if (panelRoot != null)
panelRoot.SetActive(false);
}
private GameObject ResolveLevelPanelRoot()
{
if (uLevelPanel == null)
return null;
Transform current = uLevelPanel.transform;
GameObject highestInactiveAncestor = null;
while (current != null)
{
if (!current.gameObject.activeSelf)
{
highestInactiveAncestor = current.gameObject;
}
current = current.parent;
}
resolvedLevelPanelRoot = highestInactiveAncestor != null ? highestInactiveAncestor : uLevelPanel;
return resolvedLevelPanelRoot;
}
}