Allow disabling undo for circuitry, too
This commit is contained in:
parent
8742e4de25
commit
74eaab3fde
@ -1563,6 +1563,7 @@ export class Level extends LevelInterface {
|
|||||||
// large numbers of tiles at a time, so store it all in one map and undo it in one shot.
|
// large numbers of tiles at a time, so store it all in one map and undo it in one shot.
|
||||||
let powered_edges_changes = new Map;
|
let powered_edges_changes = new Map;
|
||||||
let _set_edges = (tile, new_edges) => {
|
let _set_edges = (tile, new_edges) => {
|
||||||
|
if (this.undo_enabled) {
|
||||||
if (powered_edges_changes.has(tile)) {
|
if (powered_edges_changes.has(tile)) {
|
||||||
if (powered_edges_changes.get(tile) === new_edges) {
|
if (powered_edges_changes.get(tile) === new_edges) {
|
||||||
powered_edges_changes.delete(tile);
|
powered_edges_changes.delete(tile);
|
||||||
@ -1571,6 +1572,7 @@ export class Level extends LevelInterface {
|
|||||||
else {
|
else {
|
||||||
powered_edges_changes.set(tile, tile.powered_edges);
|
powered_edges_changes.set(tile, tile.powered_edges);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
tile.powered_edges = new_edges;
|
tile.powered_edges = new_edges;
|
||||||
};
|
};
|
||||||
let power_edges = (tile, edges) => {
|
let power_edges = (tile, edges) => {
|
||||||
@ -1649,7 +1651,9 @@ export class Level extends LevelInterface {
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
circuit.is_powered = is_powered;
|
circuit.is_powered = is_powered;
|
||||||
|
if (this.undo_enabled) {
|
||||||
circuit_changes.set(circuit, was_powered);
|
circuit_changes.set(circuit, was_powered);
|
||||||
|
}
|
||||||
|
|
||||||
for (let [tile, edges] of circuit.tiles.entries()) {
|
for (let [tile, edges] of circuit.tiles.entries()) {
|
||||||
if (is_powered) {
|
if (is_powered) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user