Flax撤销,重做功能梳理
项目需要添加撤销,重做功能,调研了下flax,下面是调研的结构
引擎源码库
撤销/重做
IUndoAction
UndoActionBase
- Serialize
- TransformObjectsAction
- UndoActionObject
- SelectionChangeAction
AddRemoveTrackAction
EditFpsAction
EditTimelineAction
EditTrackAction
RenameTrackAction
ReorderTrackAction
ReparentAction
AddRemoveTransitionAction
AddRemoveNodeAction
ConnectBoxesAction
EditNodeConnections
EditNodeValuesAction
MoveNodesAction
EditAttributesAction
AddRemoveParamAction
RenameParamAction
DeleteInstanceAction
EditFoliageAction
EditInstanceAction
EditSelectedInstanceIndexAction
AddPatchAction
EditTerrainMapAction
EditModelVertexColorsAction
AddRemoveScript
BreakPrefabLinkAction
ChangeScriptAction
DeleteActorsAction
- CustomDeleteActorsAction
PasteActorsAction
- CustomPasteActorsAction
MultiUndoAction
AddRemoveParamAction
RenameParamAction
EditParamOverrideAction
EditParameterOverrideAction
SetRootAction
结构
_before
_after
Do
Undo
ActionString
IDisposable
Undo
- EditorUndo
UndoMultiBlock
UndoBlock
EditorModule
Editor
EditorUndo
ThumbnailsModule
ContentDatabaseModule
ContentEditingModule
ContentFindingModule
ContentImportingModule
PrefabsModule
ProgressReportingModule
ProjectCacheModule
SceneEditingModule
SceneModule
SimulationModule
CodeEditingModule
UIModule
WindowsModule
OptionsModule
IUndoInternal
UndoInternal
UndoMultiInternal
Flax撤销,重做功能梳理相关推荐
- C# wpf 实现自定义撤销重做功能
文章目录 前言 一.具体实现 1.完整代码 二.使用示例 1.拖动控件 (1)MainWindow.xaml (2)MainWindow.xaml.cs (3)效果预览 总结 前言 做wpf界面的时候 ...
- C++ 实现自定义撤销重做功能
文章目录 前言 一.完整代码 二.使用示例 1.基本用法 2.gdi画线撤销 总结 前言 在使用c++做界面开发的时候,需要涉及到到撤销重做操作,尤其是实现白板功能时需要自己实现一套撤销重做功能,如果 ...
- Mac OS开发—Xcode给Mac应用添加编辑快捷键(剪切 复制 粘贴 全选 删除 撤销 重做)功能
前言 笔者做Windows开发的,无奈公司有Mac OS的项目需要维护,之前没有编辑菜单的功能,需要笔者加上这个功能,笔者只能硬着头皮上.还好会c++,Mac应用里面一般都会用object-c 也可以 ...
- 实现编辑功能有哪几个action_Web 应用的撤销重做实现
背景 前不久,我参与开发了团队中的一个 web 应用,其中的一个页面操作如下图所示: GIF 这个制作间页面有着类似 PPT 的交互:从左侧的工具栏中选择元素放入中间的画布.在画布中可以删除.操作(拖 ...
- Qt Undo Framework学习,实现撤销、重做功能
0. 引言 在交互应用程序中撤销和重做(Undo/Redo)能力是很重要的.像常见的软件Office,AutoCAD等,有了撤销功能,用户体验更舒服.一般都会使用Command模式来实现这一功能. 1 ...
- java中系统撤销对象顺序实例,撤消/重做功能Java的对象序列化
游戏编程与"企业应用程序"编程和"webapp编程"没有多大关系. 所以这取决于你正在做什么样的游戏,但你的方法和gaven所以这些票价与游戏状态在" ...
- kafka 串讲:架构模型、角色功能梳理
kafka 串讲:架构模型.角色功能梳理 kafka 的 what why how,先有一个粗略宏观的理解 rabbitmq.各种 mq 的技术选型.横向对比 首先,kafka 是一个消息中间件.我们 ...
- 程序员如何理解Gmail“撤销发送”功能
飞鸽传书用GMAIL已经10年了.可能是史上最长内测之后,谷歌终于推出 Gmail"撤销发送"功能.这项功能之前已经测试了长达 6 年时间,现在变成了 Gmail 一个永久性 ...
- 用dw 删除重复html文件,Dreamweaver怎么撤销重做,DW怎么返回上一步,看完就明白了...
编辑代码难免会出错,还好现在的软件都有返回或者重做的命令.那么Dreamweaver怎么撤销重做,DW怎么返回上一步呢?来看看小编为您介绍的文章吧. 工具/材料 Dreamweaver CS6 htm ...
最新文章
- Linux crontab 命令基本说明
- CentOS6.2解决passwd: Authentication token manipulation error报错
- [POJ] 3687 Labeling Balls(拓扑排序)
- c++tcp接收文件缓存多大合适_必知必会的TCP/IP知识
- MySQL 日期时间类型怎么选?千万不要乱用!
- 成功解决raise Py4JError py4j.protocol.Py4JError: py4j.protocol.Py4JError: Could not find py4j jar at
- Android 4.4 packageinstaller之权限获取及展现
- 反思读别人代码的思路
- 故乡的路:十位少数民族摄影师联展
- 这款插件让你在VSCode上也能答题背单词
- 熟悉linux运行环境,实验一 熟悉Ubuntu环境
- 演练 影视演员简介 0929
- UVA299 UVALive5600 Train Swapping【逆序偶+暴力】
- mysql查询字段信息
- 统计思维:程序员数学之概率统计(第2版)PDF
- 【SLAM学习笔记】8-ORB_SLAM3关键源码分析⑥ Optimizer(三)全局优化
- Java获取某年某月的第一天
- iOS必备小技巧(非常的全)
- Yuga Labs「高处不胜寒」
- 魅族便签,能否成为国内便签应用的No.1?