void UndoRedo::clear_history() { ERR_FAIL_COND(action_level > 0); _discard_redo(); while (actions.size()) _pop_history_tail(); //version++; }
void UndoRedo::clear_history(bool p_increase_version) { ERR_FAIL_COND(action_level > 0); _discard_redo(); while (actions.size()) _pop_history_tail(); if (p_increase_version) version++; }
void UndoRedo::commit_action() { ERR_FAIL_COND(action_level <= 0); action_level--; if (action_level > 0) return; //still nested redo(); // perform action if (max_steps > 0 && actions.size() > max_steps) { //clear early steps while (actions.size() > max_steps) _pop_history_tail(); } if (callback && actions.size() > 0) { callback(callback_ud, actions[actions.size() - 1].name); } }