using IFramework.Coroutine; using IFramework.Inject; using IFramework.Message; using IFramework.Recorder; using IFramework.Timer; using System; namespace IFramework { /// /// 模块组 /// public interface IModules : IContainer, IBelongToEnvironment { /// /// 协程 /// ICoroutineModule coroutine { get; } /// /// 消息 /// IMessageModule message { get; } /// /// 消息(string 版本) /// IStringMessageModule stringMessage { get; } /// /// 操作记录 /// IOperationRecorderModule recoder { get; } /// /// 注入模块 /// IInjectModule inject { get; } /// /// 计时器 /// ITimerModule timer { get; } /// /// 创建模块 /// /// /// /// /// Module CreateModule(Type type, string name = Module.defaultName, int priority = 0); /// /// 创建模块 /// /// /// /// /// T CreateModule(string name = Module.defaultName, int priority = 0) where T : Module; /// /// 获取模块 /// /// /// /// /// Module GetModule(Type type, string name = Module.defaultName, int priority = 0); /// /// 获取模块 /// /// /// /// /// T GetModule(string name = Module.defaultName, int priority = 0) where T : Module; /// /// 查找模块 /// /// /// /// Module FindModule(Type type, string name = Module.defaultName); /// /// 查找模块 /// /// /// /// T FindModule(string name = Module.defaultName) where T : Module; } }