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 } }