Open
Conversation
Undo/redo doesn't work (for now) Fast replaying works, classic play freeze the app
…ds : - AddTokenCommand - FireTransitionCommand - RemoveTokenCommand All the others commands would have a very limited interest in being macro'ed, and can already be duplicated with others means, such as copy/paste. It also make the "undo" function more manageable, as it will be restricted to token operations. It also filters out some not really redoable actions, like setting a place static
"undo" undo a complete macro execution and "redo" also redo the whole macro
…e and add a method getRecordedElement so that the MacroManager have access to more info about recorded commands. playMacro Action/Command have been deleted and FastPlayMacro Action/Command have been renamed into playMacro The interface now display a "?" in the PlayMacroAction icon when an element used in the recorded macro is missing
cf45861 to
f086f79
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This update adds a simple macro recorder.
The macro recorder consists of two buttons : a record and a play buttons.
To be recorded, an command must implement the the "RecordableCommand" interface.
This assures that to be in a macro, a command has to be explicitly declared for that.
For now, only the RemoveTokenCommand, AddTokenCommand and FireTransitionCommand are the only ones implementing it. This choice is based on the fact that all other commands are either useless to repeat more than once (SetTokensCommand for instance) or that they can already be repeated by using Copy/Paste (AddPlaceCommand for instance).
Once a macro has been recorded, it can be played with PlayMacroAction. The UndoAction will undo all the macro.
Deleting an element that is part of the macro will not make the macro unplayable, but the play icon will change to an icon with an "?" indicating that the macro may behave differently from what has been planned.
undos/redos will not be registered during a macro recording.