跳到主要内容

自定义可执行效果节点

自定义可执行效果节点

星火编辑器支持用户在数编类型编辑器中自定义自己的效果节点。

用户可以在该节点中执行一段触发器,也可以创建像“创建单位”、“造成伤害”、“搜索单位”、“周期性效果”这样有固定逻辑的、可配置参数的且可以在效果树中被执行的节点。

数编类型编辑器

打开数编类型编辑器(通过在触发器编辑器中勾选”显示自定义数编类型”来打开),在数编节点类型数据文件夹下通过新建类新建一个以“效果”分类的新节点类型。自定义的效果节点类型可以继承任意现有的效果节点结构并进行扩展,也可以选择继承自”效果”分类以完整地自定以节点结构。

在创建完成一个新的效果节点并添加完该节点所拥有的所有字段后,用户可以在类型配置界面中看到一个新的“可执行节点”勾选项。勾选这一选项即可令该效果节点变为可执行的效果节点。与此同时,界面上也会多出两个公式和一个“是持续性节点”勾选项。

其中,执行公式决定了该类型的效果节点在被执行时所执行的逻辑,而验证公式则决定了该类型的节点在被执行前所需满足的验证条件。(注意,所有的效果节点依然需要满足各自的准入验证器才可被执行,效果节点的类型验证公式与准入验证器需要同时被满足才能执行一个节点)

在执行公式中,用户可以编写逻辑读取当前节点的数编属性(通过[效果节点].数编表来获取),并凭借这些输入参数来执行逻辑。对于需要执行子效果的节点,则可以通过[效果节点].执行子效果方法来实现子效果的执行。

效果节点的执行公式与验证公式本身需要立即返回,无法在当前线程中等待。但用户可以在执行公式中使用循环计时器和“等待一段时间后执行动作”的动作,以此来实现一个拥有持续时间的效果节点。

持续性效果节点需要勾选“是持续性节点”的勾选项。并且在节点需要结束时执行[效果节点].结束方法。需要注意的是,非持续性节点无需主动调用结束方法。只有持续性效果需要主动地申告结束,瞬发节点视为在函数返回时自动结束。

在自定义的持续性效果节点和瞬发效果节点下方挂接的所有表现节点也会遵循与普通效果节点下的表现节点同样的显示逻辑。

自定义可执行效果节点是一个上限非常高的功能,我们后续会在文档中提供一些使用的案例帮助大家理解这个功能的使用方法和价值。