钩子
⚠️
此页面正在建设中。
⚠️
测试版功能,可能会发生变化。
钩子是一种向游戏中注入自定义逻辑的方式。它对于创建插件非常有用。
game.hooks.hook("init", () => {
console.log("Game initialized");
});
公共方法
hook
添加一个钩子到游戏中。
const token = game.hooks.hook("init", () => {
console.log("Game initialized");
});
return function cleanup() {
token.cancel();
}
key: Hooks
- 钩子的键。hook: (...value: T[K]) => VoidFunction | void
- 返回一个清理函数的钩子函数。- 返回
LiveGameEventToken
- 参见 LiveGameEventToken
unhook
从游戏中移除一个钩子。
const listener = function () { /* ... */ };
game.hooks.hook("init", listener); // 添加一个钩子
game.hooks.unhook("init", listener); // 移除钩子
key: Hooks
- 钩子的键。listener: (...value: T[K]) => VoidFunction | void
- 被添加到钩子中的监听函数。
钩子列表
init
此钩子在游戏初始化时且播放器渲染前被调用。
game.hooks.hook("init", () => {
console.log("let's do something cool here");
});
preloadImage
此钩子在预加载图片时被调用。这对于创建图片代理逻辑很有用。
src: string
- 图片的源地址。set: (src: string, options?: RequestInit) => void
- 设置图片源地址的函数。
game.hooks.hook("preloadImage", (src, set) => {
const newSrc = `https://example.com/proxy?url=${src}`;
set(newSrc, {
credentials: "include",
});
});