背景
最近在 Unity 中构建了一个日志 RTS 游戏的原型。过去,我曾在其他类型的项目中广泛使用 Unity,例如基本的手机游戏或第三人称游戏(例如我的游戏Project Sail)。然而,我从未尝试制作一款类似 RTS 的游戏,其中玩家可以控制许多可以异步操作的单位。
在构建原型的基础时,我遇到了许多绊脚石,并且经常发现自己在问“正确的方法是什么”?主要问题之一是:
如何向不同类型的单位发出命令?
不同的单元可能需要不同的控制方案,因此我们不能只使用能够根据选择的单元类型来控制每个单独单元类型的集中式类。(从技术上来说,你可以,但是很快就会变得非常混乱……)
虽然我确信这个问题有许多复杂的解决方案,但我最终开发了一个易于实现的简单解决方案,并且可以轻松扩展以处理新的复杂性。