using System.Collections;
using System.Collections.Generic;
using AibisDream.Framework;
using AibisDream.Kit;
using UnityEngine;
namespace AibisDream.FixSystem
{
///
/// 维修面板系统 - 统一管理所有侧边栏面板
/// 包括常驻面板(对话、任务)和随状态切换的游戏面板
///
public class FixPanelSystem : Singleton
{
private void OnEnable()
{
RegisterScreenView();
}
private void OnDisable()
{
UnRegisterScreenView();
}
#region 维修面板
private static IOCContainer _repairPanelContainer = new();
public static void RegisterRepairPanel(T panel)
{
_repairPanelContainer.Register(panel);
}
public static T GetRepairPanel() where T : class
{
return _repairPanelContainer.Get();
}
public static void UnregisterRepairPanel() where T : class
{
_repairPanelContainer.Unregister();
}
#endregion
#region 常驻面板
[Header("任务面板")]
[SerializeField] private TaskPanel taskPanel;
public TaskPanel TaskPanel => taskPanel;
[Header("屏幕面板")]
[SerializeField] private ScreenPanel screenPanel;
public ScreenPanel ScreenPanel => screenPanel;
private void RegisterScreenView()
{
// DialogUIManager.Instance.RegisterScreenView(DialogViewType.Screen, screenPanel);
// DialogUIManager.Instance.RegisterScreenView(DialogViewType.Task, taskPanel);
}
private void UnRegisterScreenView()
{
// DialogUIManager.Instance.UnRegisterScreenView(DialogViewType.Screen);
// DialogUIManager.Instance.UnRegisterScreenView(DialogViewType.Task);
}
#endregion
}
}