Guess it's OK to make the contribution, so I made one.
I speculate EditorMap is the area (or sendbox?) for deal with edit the property in the beatmap.
All edit action should make the EditorAction and push into the EditorActionStack, EditorActionStack will handle the run(redo)/undo action.
If that so, only EditorActionStack need to know the EditorMap. Technically it will be the only way call the undo/redo method in the editor action.
Also, seems it's a little bit like memento pattern, and that's what lazer does not have in the Editor now. Is it OK to use this project as PoC to describe how do deal with undo/redo with better way?
Guess it's OK to make the contribution, so I made one.
I speculate
EditorMap
is the area (or sendbox?) for deal with edit the property in the beatmap. All edit action should make theEditorAction
and push into theEditorActionStack
,EditorActionStack
will handle the run(redo)/undo action. If that so, onlyEditorActionStack
need to know theEditorMap
. Technically it will be the only way call the undo/redo method in the editor action.Also, seems it's a little bit like
memento pattern
, and that's what lazer does not have in the Editor now. Is it OK to use this project as PoC to describe how do deal with undo/redo with better way?