模块 linlang.api
程序包 api.linlang.view

接口 LinView


public interface LinView
LinView 界面服务入口。

视图定义来自 YAML 或 JSON 资源,GuiSession 保存单个 viewer 的状态、 静态控件覆盖和动态区绑定。Hook 与 Source 应在打开相关视图之前注册。

  • 方法详细资料

    • open

      GuiSession open(Object viewer, String viewId)
      为指定 viewer 打开视图并创建新会话。
      参数:
      viewer - 平台 viewer,例如 Bukkit Player
      viewId - 视图 ID
      返回:
      新创建的界面会话
    • open

      GuiSession open(Object viewer, String viewId, Consumer<GuiState> patch)
      打开视图,并在首次渲染和 Source 加载之前初始化会话状态。
      参数:
      viewer - 平台 viewer
      viewId - 视图 ID
      patch - 状态初始化回调,可为 null
      返回:
      新创建的界面会话
    • session

      GuiSession session(Object viewer)
      查找 viewer 当前的活动会话。
      参数:
      viewer - 平台 viewer
      返回:
      活动会话;不存在时为 null
    • close

      void close(Object viewer)
      关闭 viewer 当前的活动会话。
      参数:
      viewer - 平台 viewer
    • reload

      void reload()
      清除全部视图缓存,并使用新定义重新打开受影响的活动会话。
    • reload

      void reload(String viewId)
      清除指定视图的缓存,并重新打开使用该视图的活动会话。
      参数:
      viewId - 视图 ID
    • hook

      LinView hook(String hookId, GuiHook hook)
      注册由 hook 动作调用的业务处理器。
      参数:
      hookId - Hook ID
      hook - 业务处理器
      返回:
      当前界面服务
    • source

      LinView source(String sourceId, GuiSource source)
      注册用于填充动态区的数据源。
      参数:
      sourceId - Source ID
      source - 数据源
      返回:
      当前界面服务
    • open

      default GuiSession open(Object viewer, String viewId, Map<String,Object> initState)
      使用映射初始化会话状态并打开视图。
      参数:
      viewer - 平台 viewer
      viewId - 视图 ID
      initState - 初始状态;为 null 时按空状态处理
      返回:
      新创建的界面会话