namespace SC.XR.Unity { public enum SCModulePriority { Hight, Middle, Low, } public interface ISCModule : ISCLifeCycle { string ModuleName { get; set; } ISCModule FatherModule { get; set; } bool IsModuleInit { get; set; } bool IsModuleStarted { get; set; } bool IsMono { get; set; } bool IsEffectGameObject { get; set; } SCModulePriority Priority { get; set; } T GetSubModule() where T : ISCModule; T GetFatherModule() where T : ISCModule; /// /// 模块初始化 /// void ModuleInit(bool isEffectGameObject = true,SCModulePriority priority = SCModulePriority.Middle); //void ModuleEnable(); /// /// 模块启动,同Mono OnEnable /// void ModuleStart(); void ModuleUpdate(); void ModuleLateUpdate(); void ModuleEndOfFrame(); /// /// 模块停止,同Mono OnDisable /// void ModuleStop(); /// /// 模块销毁 /// void ModuleDestroy(); } }