把复杂技能拆成可复用的小动作
用命名调用组织逻辑,并避免循环调用与重复执行
让入口只负责转交任务
侦察车的开火事件先调用 record,record 再调用 increment,例子故意很小,便于理解入口和具体工作分开后,多个触发来源可以复用同一段计数逻辑
[turret_main]
onShoot_triggerActions: record
[hiddenAction_record]
alsoTriggerAction: increment
[hiddenAction_increment]
setUnitMemory: shots=memory.shots + 1调用使用动作后缀
alsoTriggerAction 写 increment,目标段落名是 hiddenAction_increment,为动作选择能表达用途的名字,例如 consumeEnergy、applyMode、reportState,比 a1、a2 更容易维护
不要依赖同一动作中行的先后
配置文件中的字段由游戏各自处理,不能仅凭把某一行移到前面就假定它先执行,当一个步骤必须读取另一步更新后的值时,拆开动作并验证调用结果
画调用图再检查循环
把触发入口画成箭头,例如开火 → record → increment,确保没有 increment 又调用 record 的回路,按钮报告只读取 shots,不应再增加计数
[action_report]
text: 查看射击统计 / Shot report
buildSpeed: 0
showMessageToPlayer: Shots: %{memory.shots}动手练习
增加一次按钮触发的独立测试入口,确认它调用一次只增加一次