跳到主要内容

前提概要

团结引擎导出的工程模板中,会在游戏启动的ability(TuanjiePlayerAbility.ts)中,将context发送到worker线程里面,代码如下:

// ...
TuanjieMainWorker.getInstance().postMessage({
type: 'SetGlobalThisContext', data: this.context
});
// ...

之后在worker线程中,将其通过GlobalThisUtil进行缓存,获取的时候也使用该类中的方法即可。

// 设置
export function SetToGlobalThis(key: string, obj: unknown): void {
globalThis[key] = obj
}

// 获取
export function GetFromGlobalThis(key: string) {
return globalThis[key]
}

获取context

如上前提,获取context,仅需要如下代码即可:

import { GetFromGlobalThis } from '../xxx/GlobalThisUtil';

let context = GetFromGlobalThis("context") as common.UIAbilityContext;