大家好,
首先:我在Unity工作。

我正在开发一个模块化的能力系统,但我还没有确定如何架构一些东西。
基本上想象一下,我会有像闪电打击或火球这样的子能力,它们会被其他能力所调用。然后我有主能力,如雷暴。雷暴会每2秒钟打一次闪电打击。或是一个火球轨道能力,它会围绕玩家旋转一个火球。

现在我的问题是,我想让物品的效果改变这些能力。例如,一个物品会让火球轨道能力生成2个火球而不是1个。或者会增加火球的速度。另一个物品可能会改变雷暴在什么时候打闪电打击。

我想让这些修饰符和能力保持模块化。
我想在调试器中(我使用Odin)设置它们。
但是,我不知道修饰符如何修改能力的参数,因为每个能力的参数都完全不同。雷暴有一个间隔。轨道能力有一个射击数量和速度。如何架构系统以保持模块化?我可以查阅哪些设计模式?

我主要认为,这是一个如何创建数据的问题。