回调接口
ArcartX回调函数式接口
回调接口
- ArcartX定义了一组回调接口用于各种回调场景,大多位于
priv.seventeen.artist.arcartx.util.collections包下。 - 其中
CallBack、PlayerCallBack、UICallBack为函数式接口(fun interface),在Java中可以使用Lambda表达式;KeyCallBack含两个方法,需使用匿名类实现。
CallBack
- 最基础的无参回调接口
- 使用场景:UI打开回调等不需要参数的场景
- 调用示例
PlayerCallBack
- 接收一个
Player参数的回调接口
- 使用场景:按键绑定的按下/释放回调、实体可见性遍历等
- 调用示例
KeyCallBack
- 按键回调接口,包含按下和释放两个方法
- 使用场景:注册按键绑定时的回调
- 调用示例
KeyCallBack 不是函数式接口(有两个方法),在Java中需要使用匿名类实现。
UICallBack
- UI事件回调接口,接收一个
CallData参数
- 使用场景:UI的打开、关闭、数据包回调,配合
ArcartXUI.registerCallBack(CallBackType, UICallBack)注册 - 调用示例
CallData
- UI回调的数据载体,是一个
record(@JvmRecord data class)
player: Player — 触发事件的玩家identifier: String — 事件标识(如数据包处理器名称)data: List<String> — 数据内容列表
CallBackType
- UI回调类型枚举,用于指定
registerCallBack注册的回调触发时机
- 使用场景:作为
ArcartXUI.registerCallBack(CallBackType type, UICallBack callBack)的第一个参数 - 位于
priv.seventeen.artist.arcartx.core.ui.adapter.CallBackType(与其它回调接口不在同一包)
Pair 与其它内部数据结构仅供插件内部使用,不作为对外 API,故未在此列出。
