public void Redo() { if (index < transactions.Count) { index++; var trans = transactions[index - 1]; PreUndoRedo?.Invoke(trans.Scope, trans.Flags); trans.Redo(); PostUndoRedo?.Invoke(trans.Scope, trans.Flags); Updated?.Invoke(); } }
public void Undo() { if (index > 0) { var trans = transactions[index - 1]; PreUndoRedo?.Invoke(trans.Scope, trans.Flags); trans.Undo(); index--; PostUndoRedo?.Invoke(trans.Scope, trans.Flags); Updated?.Invoke(); } }