66 lines
1.7 KiB
C#
66 lines
1.7 KiB
C#
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
namespace Script.UI
|
|||
|
{
|
|||
|
public class UIManager : SingleManager<UIManager>
|
|||
|
{
|
|||
|
private Dictionary<PanelType, PanelBase> _panelBases;
|
|||
|
|
|||
|
public UIManager()
|
|||
|
{
|
|||
|
_panelBases = new Dictionary<PanelType, PanelBase>();
|
|||
|
}
|
|||
|
|
|||
|
// public void AddPanel(PanelBase panelBase)
|
|||
|
// {
|
|||
|
// Debug.Log($"add {panelBase.panelType}");
|
|||
|
// if (!_panelBases.ContainsKey(panelBase.panelType))
|
|||
|
// {
|
|||
|
// _panelBases.Add(panelBase.panelType, panelBase);
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
public void InitPanel(List<PanelBase> list)
|
|||
|
{
|
|||
|
_panelBases = new Dictionary<PanelType, PanelBase>();
|
|||
|
foreach (var panelBase in list)
|
|||
|
{
|
|||
|
_panelBases.Add(panelBase.panelType, panelBase);
|
|||
|
// Debug.Log($"add {panelBase.panelType}");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public PanelBase OpenPanel(PanelType panelType)
|
|||
|
{
|
|||
|
if (_panelBases.TryGetValue(panelType, out var panelBase))
|
|||
|
{
|
|||
|
panelBase.Open();
|
|||
|
return panelBase;
|
|||
|
}
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
public PanelBase GetPanel(PanelType panelType)
|
|||
|
{
|
|||
|
if (_panelBases.TryGetValue(panelType, out var panelBase))
|
|||
|
{
|
|||
|
return panelBase;
|
|||
|
}
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
public PanelBase ClosePanel(PanelType panelType)
|
|||
|
{
|
|||
|
if (_panelBases.TryGetValue(panelType, out var panelBase))
|
|||
|
{
|
|||
|
panelBase.Close();
|
|||
|
return panelBase;
|
|||
|
}
|
|||
|
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|