跳到主要内容

运行时初始化方法

运行时初始化方法允许你在初始化时调用静态方法

这类似于 UnityEngine.RuntimeInitializeOnLoadMethod,区别在于调用由 winS for Unity 发起而非 Unity 引擎。

提示

运行时初始化方法总是在模块初始化完成之后调用,所以您可以在方法中访问模块。

示例

通过将 winS.Unity.RuntimeInitializeMethod 特性应用在静态方法上即可使用运行时初始化方法。

若您的静态方法是一个异步方法,则 winS for Unity 会等待其执行完毕。

您可以通过向特性传递一个 int 参数来指定初始化优先级;值越小,其调用越靠前。默认的优先级为 0。

using System.Threading.Tasks;
using UnityEngine;
using winS.Unity;

public class Example_InitializeMethod
{
[RuntimeInitializeMethod]
private static void PrintResolution()
{
Debug.Log(Runtime.device.display.resolution);
}

[RuntimeInitializeMethod]
private static async Task DoAsync()
{
await Awaitable.WaitForSecondsAsync(2);
//Do Something....
}

[RuntimeInitializeMethod(1)]
private static async Task DoAsyncPost()
{
await Awaitable.WaitForSecondsAsync(4);
//Do Something....
}
}