模块 linlang.api

接口 GuiAction

所有已知实现类:
GuiAction.Simple

public interface GuiAction
界面控件被点击后执行的动作。

运行时内建支持 hookopenbackclosecommandstate。参数中的字符串允许使用 LinView 占位符。

  • 方法详细资料

    • type

      String type()
      返回:
      动作类型
    • args

      Map<String,Object> args()
      返回:
      动作参数的只读映射
    • refresh

      default String refresh()
      返回:
      刷新策略;空字符串表示不刷新,其他常用值包括 sessionarea:<id>widget:<uid>
    • hook

      static GuiAction hook(String hookId, Map<String,Object> args, String refresh)
      创建调用已注册 Hook 的动作。
      参数:
      hookId - Hook ID
      args - 附加参数,可为 null
      refresh - 执行后的刷新策略
      返回:
      Hook 动作
    • open

      static GuiAction open(String viewId, Map<String,Object> args)
      创建打开另一视图的动作。
      参数:
      viewId - 目标视图 ID
      args - 附加参数;其中 state 映射用于初始化目标会话
      返回:
      打开视图动作
    • back

      static GuiAction back()
      返回:
      返回导航栈上一视图的动作
    • close

      static GuiAction close()
      返回:
      关闭当前会话的动作
    • state

      static GuiAction state(Map<String,Object> patch, String refresh)
      创建会话状态更新动作。

      传入的字段会写入当前 GuiState。值为 null 时移除对应字段。

      参数:
      patch - 状态补丁,可为 null
      refresh - 执行后的刷新策略
      返回:
      状态更新动作
    • command

      static GuiAction command(String command)
      创建玩家命令动作。
      参数:
      command - 玩家执行的命令;可以包含开头的斜杠
      返回:
      命令动作