Unity命令模式实现复制与撤销操作
unity 里的复制和撤销操作,用命令模式来做其实挺顺的,逻辑清晰,扩展性也不错。如果你之前没接触过命令模式,放心,思路不复杂,核心就一套命令调用的套路。像是复制、粘贴、撤销这些,其实都可以抽象成命令对象来管理,操作记录也好做,重做也不麻烦。
命令模式的妙处就是,把具体操作封装起来,当成对象丢进命令栈。你只管调用,至于是复制还是撤销,不需要关心太多逻辑细节。写起来也灵活,比如想做撤销就 pop 上一个命令再反操作一下,逻辑顺。
推荐你看下恢复撤销系统(unity),思路清晰,还配了实用例子,挺容易上手。另外像Unity3D 可用恢复撤销系统实现这种扩展实现,也值得翻一下,思路延展得挺好。
要是你对命令模式还不是熟,可以先看看这篇命令模式详解,讲得比较接地气,还有具体的代码例子。想研究更深入的可以看看命令模式设计方法。
操作系统层面,像Unity 跨平台复制功能实现这篇也挺实用,尤其是做工具类项目的时候,复制粘贴这些功能的兼容性就显得比较关键。
如果你在做编辑器类的工具、或者用户交互多的系统,这套命令模式+操作记录机制真的蛮香,后期维护轻松,改功能也不容易崩。
25.3KB
文件大小:
评论区