@occultus/core - v2.0.0-beta.4
    Preparing search index...

    Class FormLikeAbstract

    一个可以给玩家展示的表单

    import { Player } from "@minecraft/server";
    import { FormLike } from "@occultus/core";


    export class BagForm extends FormLike {
    display(player: Player, backTo: FormLike[]): void {
    console.log(`[表单] 向${player.nameTag}展示背包表单`);
    // 此处编写脚本表单的具体创建逻辑
    // 模拟:玩家关闭背包表单 → 调用quit返回主菜单
    this.quit(player, backTo);
    }
    }


    export class MainMenu extends FormLike {
    display(player: Player, backTo: FormLike[]): void {
    // 此处编写脚本表单的具体创建逻辑
    console.log(`[表单] 向${player.nameTag}展示主菜单`);

    const bagForm = new BagForm();
    this.jumpTo(player, bagForm, backTo); // 调用jumpTo,自动维护返回栈
    }
    }
    // 调用示例(从事件中获取玩家)
    const player: Player;
    new MainMenuForm().display(player, []); // 初始调用传空数组,无返回栈
    Index

    Constructors

    Methods

    Constructors

    Methods

    • 向玩家展示表单

      Parameters

      • player: Player

        要展示表单的玩家

      • backTo: FormLike[]

        玩家关闭表单后返回的表单,用于统一实现返回逻辑

        这是一个FormLike数组,在实现返回逻辑时应当将数组的第一个元素设置为应返回的表单

        将要跳转到其他表单后,应当将当前表单添加到数组的头部;即backTo.unshift(this)

        返回后,应当将去掉了第一个元素的数组传递给下个display函数

        backTo为空时,返回逻辑结束

      Returns void

    • 统一的表单跳转方法,子类跳转新表单时请调用此方法

      Parameters

      • player: Player

        要跳转表单的玩家

      • form: FormLike

        要跳转到的目标表单实例

      • backTo: readonly FormLike[]

        当前的只读返回栈,直接透传display方法的backTo参数即可

      Returns void

    • 处理表单关闭后的返回逻辑,跳转到上一级表单

      Parameters

      • player: Player

        要处理返回逻辑的玩家

      • backTo: readonly FormLike[]

        只读的表单返回栈,避免原数组被篡改

      Returns void

    • 清空返回栈,退出所有表单

      Returns void