ControllerValidator(appeng.me.pathfinding.ControllerValidator)
基本信息
| 属性 | 值 |
|---|---|
| 源码 | appeng/me/pathfinding/ControllerValidator.java |
| 类声明行号 | 18 |
| 实现接口 | appeng.api.networking.IGridVisitor |
| 构造器 | :29,三个 int(x, y, z) |
| 可见性 | public class |
职责
在全网遍历中寻找朝向正确的控制器节点。它是 PathingCalculation 的一个步骤。
构造器为什么是 (int x, int y, int z)
三个坐标是参考点,不是控制器自己的位置。visitNode(:39)拿每个节点
的 IGridBlock.getLocation() 与之比对,判断该节点是否落在参考点上。
这样调用方可以「问一次:这个位置是不是控制器?」
结果出口
| 方法 | 行号 | 返回 |
|---|---|---|
isValid() |
63 | 是否找到合法控制器 |
getFound() |
71 | 找到的数量(int) |
⚠️ getFound() 返回数量而不是坐标。坐标在 PathingCalculation.ControllerFace
(PathingCalculation.java:247)里另行组装。
唯一的 visitor 回调
visitNode(IGridNode n)(:39)—— 这是 IGridVisitor 要求的唯一方法。
返回 true 表示继续遍历。
生命周期钩子
无。本类是单次使用的算法协作对象,不注册为 cache,不持有状态到下一 tick。