Unity 如何使用命令模式

命令模式

游戏中,当你想通过一种通用的方式来存储命令并能够撤消命令时,那么命令模式最有用。

在“示例”中,你将看到一个可以通过GUI按钮移动的简单点。
采取行动后,您可以撤消并重做。我在屏幕上添加了一个简单的OnGUI标签输出,因此您可以看到命令列表,并指出哪个是当前命令。

在此示例中使用了4个类:

  • Command-这是任何命令模式都可以继承的基本结构(抽象类)。您可以在任何项目中使用此类。
  • MoveCommand-这是从Command类继承的结构,将使用Execute和UnExecute(撤消)。每个移动都是通过MoveCommand完成的,后者又记录在列表中,因此可以撤消或重做。请注意,我们还没有完全继承Monobehaviour。它还包含一个用于反转运动方向的函数,该类的ToString()重写(以便我们可以看到它的字段)以及一个将MoveDirection枚举转换为字符串以便稍后阅读的函数。该类的构造包含用于命令接收者的参数(接下来的更多内容),移动方向,移动距离以及要移动的游戏对象。
  • MoveCommandReceiver-此类处理游戏对象的实际移动,实际上只需要一次。它扮演了输入和MoveCommand之间的中间角色。此处定义了所有实际运动。
  • InputHandler-这是将所有内容组合在一起的类,即“调用程序”。它通过MoveCommands将播放器输入发送到MoveCommandReceiver。它们被存储在标准列表中,以便我们以后可以撤消和重做它们。它具有每个移动方向的功能

你可能感兴趣的:(unity精华,设计模式,命令模式,回滚命令,撤销命令)