unity撤销上一步_Unity3D撤回命令开发详解|chu

本文详细介绍了如何在Unity3D中开发撤销和回退功能,包括移动命令、UI交互(如InputField)及物体销毁的处理。通过创建命令基类、命令管理器,以及针对不同场景的具体命令实现,实现对物体状态的记录和撤销操作。
摘要由CSDN通过智能技术生成

本文实例为大家分享了Unity3D撤回命令功能开发,供大家参考,具体内容如下

在类似操作考核的项目中我们经常会遇到回到上一步的需求。所以我们有必要对每一个状态点的所有参与交互的物体的状态进行记录。好了,下面就是代码的实现:

首先肯定要创建命令的基类,

public class BaseCommand { //执行命令 public virtual void ExcuteCommand() { } //撤销命令 public virtual void RevocationCommand() { } }

因为我们控制物体的类似移动改变方式不同,有可能是直接移动的,有可能是用的dotween来操作移动,所以我们的执行命令函数可能对于我们没有实现的必要。下面我们要创建一个用来管理命令的脚本,供我们添加和移除命令,同时这个脚本我们给设置为单例,可供全局调用。如下:

public class CommandManager : MonoBehaviour { public static CommandManager Instance = null; //管理命令 private Stack commandStack = new Stack(); private void Awake() { Instance = this; } //增加命令 public void AddCommand(BaseCommand baseCommand) { commandStack.Push(baseCommand); } //移除命令 并且撤销一步操作 public void RemoveCommand() { if(commandStack.Count>0) { BaseCommand baseCommand = commandStack.Pop(); baseCommand.RevocationCommand(); } } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值