Skip to content

jcs090218/Unity_UndoRedoSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT Unity Engine

Unity - Undo Redo System

Build Status

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();
}

📌 Dependencies

About

Undo Redo system implementation in Unity uGUI system

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages