public static void PushAndDoAction(this IUndoEngine engine, Action doAction, Action undoAction, bool recordUndo) { if (recordUndo) { engine.PushAndDoAction(doAction, undoAction); } else { doAction(); } }
public static ILocalDragger <T> Undo <T>(IUndoEngine undo, ILocalDragger <T> effector) where T : struct => new UndoDragger <T>(undo, effector);
public UndoDragger(IUndoEngine undo, ILocalDragger <T> effector) { this.undo = undo; this.effector = effector; }
public static void PushToggleAction(this IUndoEngine engine, Action doUndoAction) { engine.PushAndDoAction(doUndoAction, doUndoAction); }
public UndoUnit(IUndoEngine undoEngine, string name) : this(name) { _undoEngine = undoEngine; }