TWLibsBridge 是 CG.TwilightWarsLib 和 React function component 之間的橋接工具。
主要提供:
GameTWLibsBridge 不會另外保存一份遊戲狀態,也不會取代 TwilightWarsLib 原本的 controller、socket、狀態機或 EventEmitter。
先在遊戲 UI 最外層放入 TWLibsProvider:
function GameRoot(props: { game: CG.TwilightWarsLib.games.Game }) {
return (
<CG.TWLibsBridge.TWLibsProvider game={props.game}>
<GameUI />
</CG.TWLibsBridge.TWLibsProvider>
);
}
接著 component 裡就可以使用 bridge 提供的 hooks。
function GameUI() {
const game = CG.TWLibsBridge.useTWGame();
const controller = CG.TWLibsBridge.useTWController();
const me = CG.TWLibsBridge.useTWMyActor();
return <div>{me ? me.code : "Waiting"}</div>;
}
詳細使用說明已移到 website 文件站。
專案需要安裝:
TwilightWarsLibReactReactMaterialTWLibLib 會由 TwilightWarsLib 帶入,不需要在使用 bridge 的專案另外安裝。
本模組僅供嘎姆擂台內部專案開發使用,不保證其穩定性。