前提概要
团结引擎导出的工程模板中,会在游戏启动的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;