https://github.com/jcs090218/Unity.UndoRedoSystem
Undo Redo system implementation in Unity uGUI system
https://github.com/jcs090218/Unity.UndoRedoSystem
tools undo-redo unity
Last synced: 11 days ago
JSON representation
Undo Redo system implementation in Unity uGUI system
- Host: GitHub
- URL: https://github.com/jcs090218/Unity.UndoRedoSystem
- Owner: jcs090218
- License: mit
- Created: 2018-08-26T17:47:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-26T06:27:58.000Z (2 months ago)
- Last Synced: 2025-03-30T18:22:59.986Z (30 days ago)
- Topics: tools, undo-redo, unity
- Language: C#
- Homepage:
- Size: 435 KB
- Stars: 35
- Watchers: 4
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://opensource.org/licenses/MIT)
[](https://unity3d.com/get-unity/download/archive)# Undo Redo System
[](https://travis-ci.com/jcs090218/Unity_UndoRedoSystem)
Undo Redo system implementation in Unity uGUI system.
## Supported UI
* Input Field
* Dropdown
* Toggle
* Scrollbar
* Slider## API
### Undo Redo System
```cs
JCS_UndoRedoSystem urs = this.GetComponent();// Do undo once from this system if any.
urs.UndoComponent();// Do redo once from this system if any.
urs.RedoComponent();// Stop recording undo/redo action to all the component control
// by this undo/redo system.
urs.StopRecrodingAll();// Start recording undo/redo action to all the component control
// by this undo/redo system.
urs.StartRecrodingAll();// Record initialize data once to all undo/redo component.
urs.RecordPrevData();/* Clear history */
{
// Clear all undo history.
urs.ClearUndoComp();// Clear all redo history.
urs.ClearRedoComp();// Clear all the undo redo history data.
urs.ClearAllUndoRedoHistory();
}/* Check for undo redo action exists? */
{
// Check if there is at least one undo history?
bool undoData = urs.ThereIsUndoHistory();// Check if there is at least one redo history?
bool redoData = urs.ThereIsRedoHistory();// Check if there is at least one undo/redo history?
bool undoRedoData = urs.ThereIsUndoOrRedoHistory();
}
```### Undo Redo Component
```cs
JCS_UndoRedoComponent urc = this.GetComponent();// Do one undo to this component.
urc.Undo();// Dp one redo to this component.
urc.Redo();// Stop recording undo/redo action starting from this moment.
urc.StopRecording();// Start recording undo/redo action starting from this moment.
urc.StartRecording();// Is the current component recording undo/redo action now?
bool isRecording = urc.IsRecording();// If the UI value have changed by script at initialize time
// but the undo/redo component did not get the correct default
// data from the UI call this manually will record down the UI
// starting value.
urc.RecordPrevData();/* Clear history */
{
// Clear all undo history to this component.
urc.ClearAllUndo();
// Clear all redo history to this component.
urc.ClearAllRedo();
// Clear all undo and redo history to this component.
urc.ClearAllUndoRedoHistory();
}
```## 📌 Dependencies
* [JCSUnity](https://github.com/jcs090218/JCSUnity) by [Jen-Chieh Shen](https://github.com/jcs090218)