跳到主要内容

模块 (Module)

winS.Unity.IModulejump icon是 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>();
}
}