Spaces:
Sleeping
Sleeping
const UNDO_STAX_MAX_LEN = 16 | |
let undo_stack = []; | |
let undoqueu = []; | |
export function undo_mark_task_start(layer) { | |
undoqueu = []; | |
undoqueu.push(layer); | |
} | |
export function undo_add_index_to_task(tileindex) { | |
undoqueu.push(tileindex); | |
} | |
export function undo_mark_task_end() { | |
undo_stack.push(undoqueu); | |
if (undo_stack.length > UNDO_STAX_MAX_LEN){ | |
undo_stack.shift(); | |
} | |
} | |
// utility function for adding a single tile as a task | |
export function undo_add_single_index_as_task(layer, tileindex) { | |
undo_mark_task_start(layer); | |
undo_add_index_to_task(tileindex); | |
undo_mark_task_end(); | |
} | |
export function undo_pop() { | |
return undo_stack.pop(); | |
} |