XaeroInteractableLayerRenderer
Xaero 可交互渲染器
基本信息
| 属性 | 值 |
|---|---|
| 路径 | com.gtnewhorizons.navigator.api.xaero.renderers.XaeroInteractableLayerRenderer |
| 行数 | 110 |
| 父类 | XaeroLayerRenderer(30 行) |
| 状态 | 活动 |
110 行的定位
| 类 | 行 | 状态 |
|---|---|---|
| 本类 | 110 | 活动(Xaero) |
| JMInteractableLayerRenderer | 119 | 已废弃(JM5) |
| UniversalInteractableRenderer | 200 | 活动(中立) |
⚠️ 中立版(200 行)比地图专用版大约 1.8 倍 —— 因为要同时适配 JM5 / JM6 / Xaero。
不实现 InteractableLayer
⚠️ 同 JMInteractableLayerRenderer: 本类不实现 InteractableLayer 接口 (该接口只有 UniversalInteractableRenderer 一个实现)。
即两套地图专用的可交互渲染器都不走统一接口 —— 见 InteractableLayer 条目。
110 行里做什么
| 职责 | 需要的 API |
|---|---|
转发点击到 onMapClick |
UniversalInteractableRenderer 的同名方法(:54) |
| 悬停追踪 | onMouseMove(:41) |
| tooltip | getTooltip(:97)+ DrawUtils |
| 渲染步骤 | XaeroRenderStep(19 行) |
| 地图标记 | MapMarker(320 行) |
| 悬停高亮 | Xaero 的高亮渲染 API |
⚠️ 本类需自己实现高亮 ——
UniversalInteractableRenderer 的
hoveredRenderStep(:29)是地图中立的,
而 Xaero 的高亮绘制是地图专有的。
四个交互渲染器
| 类 | 行 | 状态 |
|---|---|---|
| 本类 | 110 | 活动(Xaero) |
| JMInteractableLayerRenderer | 119 | 已废弃(JM5) |
| UniversalInteractableRenderer | 200 | 活动(中立,唯一实现 InteractableLayer) |
| (无 JM6 专用版) | — | JM6 走 JourneyMapV6Plugin |
⚠️ 没有 JM6 专用可交互渲染器 —— JM6 是最新版本,不需要专用适配器。
相关
- XaeroLayerRenderer - 父类
- UniversalInteractableRenderer - 活动的中立替代物
- GuiMapMixin - 实际调用方的 mixin(332 行)
- SizableGuiTexturedButton - Xaero 按钮