Files
aibis-dream/Assets/Scripts/FixSystemNew/FixSystemCenter.cs
T
2025-01-15 12:39:08 +08:00

65 lines
1.5 KiB
C#

using AibisDream.Framework;
using AibisDream.Kit;
using UnityEngine;
namespace AibisDream.FixSystem
{
public class FixSystemCenter : Singleton<FixSystemCenter>
{
public FixState CurState => StateMachine.CurState;
public Camera sceneCamera;
public override void OnSingletonInit()
{
SystemDic ??= new IOCContainer();
// TODO 这个回头要改
AudioManager.PlayAmb1Audio("amb_room");
// 初始化场景组件
InitScene();
// 初始化状态机
StateMachine = new FixStateMachine();
StartCoroutine(StateMachine.SwitchState(FixState.Clinic));
}
public override void OnSingletonDestroy()
{
UnloadScene();
CameraKit.Instance.RemoveAllCam();
GameLoopManager.Instance.StartCoroutine(StateMachine.QuitState());
SystemDic.Clear();
}
private void InitScene()
{
if (sceneCamera)
{
CameraKit.Instance.AddUICamera(sceneCamera);
}
}
private void UnloadScene()
{
if (sceneCamera)
{
CameraKit.Instance.RemoveUICamera(sceneCamera);
}
}
#region 系统索引
// 容纳System
public static IOCContainer SystemDic = new();
#endregion
#region 状态机相关
public static FixStateMachine StateMachine;
#endregion
}
}