46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
using UnityEngine;
|
|
using AibisDream.Kit;
|
|
using AibisDream.Framework;
|
|
|
|
namespace AibisDream.FixSystem
|
|
{
|
|
public class FixPanelSystem : Singleton<FixPanelSystem>
|
|
{
|
|
// 组件索引及注册
|
|
[SerializeField] private UniversalScreen logScreen;
|
|
private IOCContainer _screenContainer;
|
|
private IOCContainer _panelContainer;
|
|
|
|
public override void OnSingletonInit()
|
|
{
|
|
_screenContainer = new IOCContainer();
|
|
_panelContainer = new IOCContainer();
|
|
}
|
|
|
|
public override void OnSingletonDestroy()
|
|
{
|
|
_screenContainer.Clear();
|
|
_panelContainer.Clear();
|
|
}
|
|
|
|
private void RegisterScreen<T>(T screen) where T : class
|
|
{
|
|
_screenContainer.Register(screen);
|
|
}
|
|
|
|
private void RegisterPanel<T>(T panel) where T : class
|
|
{
|
|
_panelContainer.Register(panel);
|
|
}
|
|
|
|
private void UnregisterScreen<T>() where T : class
|
|
{
|
|
_screenContainer.Unregister<T>();
|
|
}
|
|
|
|
private void UnregisterPanel<T>() where T : class
|
|
{
|
|
_panelContainer.Unregister<T>();
|
|
}
|
|
}
|
|
} |