ConditionalActions(条件行为)
ConditionalActions 是使用 Action 的一种方法。
ConditionalActions 会使用 Condition 给 Action 设置条件。ConditionalActions 被游戏加载后,Condition 会在满足后执行它的 Action。
描述 ConditionalActions 的 XML 结构如下:
xml
<ConditionalActions>
<!-- Condition -->
<Instantly needsMissionComplete="false">
<!-- Action -->
<SaveGame DelayHost="delayNode" Delay="0"/>
...
</Instantly>
...
</ConditionalActions>所有 Condition
Instantly
xml
<Instantly needsMissionComplete="false"></Instantly>Instantly 会在 Action 被加载后立即触发。
needsMissionComplete?:bool,描述是否需要处于任务完成状态才能触发。默认值为false。
OnConnect
xml
<OnConnect target="targetComp" needsMissionComplete="false" requiredFlags="flag1,flag2"></OnConnect>OnConnect 会在连接到目标 Node 后触发。
target:string,描述目标 Node 的 Computer ID。needsMissionComplete?:bool,描述是否需要处于任务完成状态才能触发。默认值为false。requiredFlags?:string,描述需要满足的标志位。多个标志位之间用逗号,分隔。与HasFlags不同,为空或不填则不检查Flags。
OnDisconnect
xml
<OnDisconnect target="targetComp"></OnDisconnect>OnDisconnect 会在从目标 Node 断开连接后触发。
target:string,描述目标 Node 的 Computer ID。
WARNING
target 如果填 playerComp,那么在连接到 playerComp 时也会触发。因为 disconnect 的本质,其实就是连接到 playerComp。
HasFlags
xml
<HasFlags requiredFlags="flag1,flag2"></HasFlags>HasFlags 会在满足所有标志位时触发。
requiredFlags?:string,描述需要满足的标志位。多个标志位之间用逗号,分隔。为空或不填则立即执行。
OnAdminGained
xml
<OnAdminGained target="targetComp"></OnAdminGained>OnAdminGained 会在获取目标 Node 的管理员权限后触发。
target:string,描述目标 Node 的 Computer ID。
注意事项
你可能在一些地方见到过 Condition DoesNotHaveFlags。它确实在 Hacknet 中有相关代码,但是没有在 Hacknet 中实装。