模块 (Module)
winS.Unity.IModule
是 winS for Unity 架构下一种结构化的功能。
模块是边界感明确且可独立运作的,在整个应用生命周期下存在且只有一个实例,由 winS for Unity 进行创建和管理。
创建模块
要创建一个自定义模块,您需要定义一个winS.Unity.IModule的子类,如以下代码:
CustomModule.cs
using winS.Unity;
public class CustomModule : IModule
{
}
在模块中初始化
若您想定义一个具有初始化方法的模块,您可以从winS.Unity.Module继承,然后覆写Initialize方法。
using System.Threading.Tasks;
using winS.Unity;
public class CustomModule : Module
{
protected override async Task Initialize()
{
//Do something....
}
}
提示
当 winS.Unity.Runtime.Initialize 被调用时,它会创建项目中所有模块的实例,并调用 Module.Initialize 方法。
获取模块
在运行时,您可以通过winS.Unity.Runtime.GetModule来获取任何项目中已定义的模块。
using UnityEngine;
public class Example_GetModule : MonoBehaviour
{
private async void Start()
{
await winS.Unity.Runtime.Initialize();// 确保运行时已初始化完成.
CustomModule customModule = winS.Unity.Runtime.GetModule<CustomModule>();
}
}