Unity Undo Redo System by jcs090218 - 8

GUI

Undo Redo system implementation in Unity uGUI system.

Unity 2018.2.10f1MIT LicenseUpdated 31 days agoCreated on August 26th, 2018
Go to source

License: MIT

Unity - Undo Redo System

Undo Redo system implementation in Unity uGUI system.

Supported UI

  • Input Field
  • Dropdown
  • Toggle
  • Scrollbar
  • Slider

API

Undo Redo System

JCS_UndoRedoSystem urs = this.GetComponent<JCS_UndoRedoSystem>();
// 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

JCS_UndoRedoComponent urc = this.GetComponent<JCS_UndoRedoComponent>();
// 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();
}

Screenshot

3rd Party Source

Show all projects by jcs090218