文档
存储数据

存储数据

你可以使用 Persistent 在游戏上下文中存储数据。

type PersisData = {
    flag: boolean;
    coin: number;
    name: string;
    // ...
};
const persis = new Persistent<PersisData>("persis", {
    flag: false,
    coin: 0,
    name: "约翰·史密斯",
    // ...
});
 
const scene1 = new Scene("场景1");
const char1 = new Character("约翰·史密斯");
scene1.action([
    persis.set("coin", 50),
 
    char1.say`你有 ${persis.get("coin")} 个硬币!`,
]);

注意: 存储的内容必须是 可序列化的,更多信息请参见 Persistent.

你可以将包括持久数据在内的游戏数据保存到你想要的任何地方,例如本地存储、服务器或云存储。

const {game} = useGame(); // 在 React 组件中调用此钩子
 
// 例如,如果玩家点击了你的组件
// 你可以将游戏数据保存到本地存储
const data = game.getLiveGame().serialize();
console.log(data);

你可以随时加载游戏数据。

const {game} = useGame();
 
const data = /* ... */;
game.getLiveGame().deserialize(data);

注意: 加载游戏数据后,当前游戏数据将丢失。