UI HUGE UPDATE
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user