【Terraria】MechScope mod

原文链接:
https://forums.terraria.org/index.php?threads/mechscope-wiring-visualized.70665/

Terraria中的电路系统有个问题,就是你没法看到电路中发生了什么。只要开关被触发,整个电路都瞬间完成了。如果你只是想做一个自动开关门或者陷阱,这不是什么问题,但是当处理到复杂逻辑电路的时候,分析电路就相当困难了。为了解决这个问题,Terraria官方论坛的DRKV做了MechScope mod,它可以将电路的结算过程可视化。
如何使用
一共有4个快捷键可以控制MechScope,它们可以在设置里更改。

触发(Toggle):激活或关闭MechScope。激活的时候,所有电路过程都会暂停,电路系统的状态会显示。
步进(Step):执行下一步电路过程。
自动步进(Auto step):自动以一定速度步进。
设置(Settings):打开设置菜单。
鼠标指针
鼠标边上的一些小方块显示了mod的当前状态。黄色方块:MechScope激活;绿色方块:MechScope激活,并且电路过程暂停;红色方块:自动步进开启。

当电路过程暂停时,计时器也会暂停。


调试模式(Mode)
调试模式决定了步进与暂停的步长。
逐点(Single):电路每前进一格都会暂停。

逐线(Wire):一次执行一根线上的所有点。

逐源(Source):一次执行一个电源上的所有电线。

逐步(Stage):一次执行一个逻辑帧。可以用来调试与逻辑延迟有关的问题。

显示设置(Visuals)
当前执行的电源会以红框标注。在逐点模式里,当前的执行格也会以红框标注。激活的电线的标注颜色与电线颜色一致。
忽略方块(Wire skip):用红色的“X”标记那些电路执行时自动忽略的方块。一般来说忽略方块都是因为一个体积较大的用电器(比如雕像)被激活。该设置只在逐点模式里有效。
激活过的逻辑门(Gates done):用“X”标记在当前的电路结算中已经激活过的逻辑门。如果它们再次被激活,它们不会发送信号,而是爆门。
即将激活的逻辑门(Upcoming gates):用红色的“O”标记状态改变,即将输出信号的逻辑门。
激活的逻辑灯(Triggered lamps):用橙色的“?”标记激活,但是它们下方的逻辑门状态未定,的逻辑灯。该设置在逐步模式里无效。
激活的传送机(Triggered teleporters):激活的传送机边上会显示白色的数字,这个数字代表激活它的电线颜色:1红2蓝3绿4黄。这些数字也会告诉你传送的顺序。该设置只在逐源和逐步模式有效。
激活的水泵(Triggered pumps):按照水泵的激活顺序将水泵标号。红色标记入水泵,绿色标记出水泵。
这些选项按照优先顺序排列。排在后面的优先显示。
自动步进速度(Auto-step rate)
这个数字代表自动步进间隔的帧数。例如自动步进速度为30,表示每半秒自动步进一次。
兼容性
这个mod不会改变电路的运行机制,所以所有电路装置的运行结果都不会受影响,除非它们使用了其他游戏机制,例如半砖。这个mod也应该和其他与电路有关的mod兼容。MechScope目前不能在多人模式运行,因为目前没有需求。如果有需求,开发者会考虑让它支持多人模式。
技术细节
你可能会问,这个mod怎么实现的?开发者在这个mod中使用了Harmony库。Harmony可以把补丁插入某函数的代码中。它甚至可以把补丁插入自身的补丁中,这样就可以让多个mod干预同一个函数。Harmony一般被用于修改基于Unity引擎的游戏。
下载
这个mod可以直接通过TModLoader的mod浏览器下载,或者通过GitHub获取源码和下载。
https://github.com/DRKV333/MechScope/releases/