fix tiles being unable to get powered from multiple directions at once

This commit is contained in:
Crispy 2024-10-12 19:00:02 +02:00
parent e88f945e8f
commit dd63851606
2 changed files with 5 additions and 4 deletions

View file

@ -6,11 +6,11 @@ logic mostly like https://git.crispypin.cc/CrispyPin/marble
## todo
(more levels)
story/lore
copy/cut/paste selections
timestamps in solutions and blueprints
multiple input/output sets
undo/redo
make math tiles read digits
fix bag tiles only counting power in one direction at once
tooltips
lock tile types for early levels to make it less overwhelming
make a gui alternative to pressing R to rotate between tile variants

View file

@ -302,12 +302,13 @@ impl Machine {
if let PTile::Trigger = tile {
return;
}
if *state {
return;
}
let was_powered = *state;
*state = true;
match tile {
PTile::Wire(wiretype) => {
if was_powered {
return;
}
let dirs = wiretype.directions();
for d in dirs {
self.propagate_power(*d, d.step(pos));