This commit is contained in:
Anuken
2025-04-10 20:47:02 -04:00
parent a698ab37d9
commit 753262d436
2 changed files with 24 additions and 17 deletions

View File

@@ -1408,8 +1408,10 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
return r2.overlaps(r1); return r2.overlaps(r1);
}; };
for(var plan : player.unit().plans()){ if(!player.dead()){
if(test.get(plan)) return plan; for(var plan : player.unit().plans()){
if(test.get(plan)) return plan;
}
} }
return selectPlans.find(test); return selectPlans.find(test);
@@ -1437,9 +1439,11 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
Draw.color(Pal.remove); Draw.color(Pal.remove);
Lines.stroke(1f); Lines.stroke(1f);
for(var plan : player.unit().plans()){ if(!player.dead()){
if(!plan.breaking && plan.bounds(Tmp.r2).overlaps(Tmp.r1)){ for(var plan : player.unit().plans()){
drawBreaking(plan); if(!plan.breaking && plan.bounds(Tmp.r2).overlaps(Tmp.r1)){
drawBreaking(plan);
}
} }
} }
@@ -1615,23 +1619,25 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
//remove build plans //remove build plans
Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize); Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize);
Iterator<BuildPlan> it = player.unit().plans().iterator(); if(!player.dead()){
while(it.hasNext()){ Iterator<BuildPlan> it = player.unit().plans().iterator();
var plan = it.next();
if(!plan.breaking && plan.bounds(Tmp.r2).overlaps(Tmp.r1)){
it.remove();
}
}
//don't remove plans on desktop, where flushing is false
if(flush){
it = selectPlans.iterator();
while(it.hasNext()){ while(it.hasNext()){
var plan = it.next(); var plan = it.next();
if(!plan.breaking && plan.bounds(Tmp.r2).overlaps(Tmp.r1)){ if(!plan.breaking && plan.bounds(Tmp.r2).overlaps(Tmp.r1)){
it.remove(); it.remove();
} }
} }
//don't remove plans on desktop, where flushing is false
if(flush){
it = selectPlans.iterator();
while(it.hasNext()){
var plan = it.next();
if(!plan.breaking && plan.bounds(Tmp.r2).overlaps(Tmp.r1)){
it.remove();
}
}
}
} }
removed.clear(); removed.clear();

View File

@@ -227,7 +227,7 @@ public class MobileInput extends InputHandler implements GestureListener{
table.button(Icon.ok, Styles.clearNoneTogglei, () -> { table.button(Icon.ok, Styles.clearNoneTogglei, () -> {
if(schematicMode){ if(schematicMode){
rebuildMode = !rebuildMode; rebuildMode = !rebuildMode;
}else{ }else if(!player.dead()){
for(BuildPlan plan : selectPlans){ for(BuildPlan plan : selectPlans){
Tile tile = plan.tile(); Tile tile = plan.tile();
@@ -261,6 +261,7 @@ public class MobileInput extends InputHandler implements GestureListener{
}).visible(() -> !selectPlans.isEmpty() || schematicMode || rebuildMode).update(i -> { }).visible(() -> !selectPlans.isEmpty() || schematicMode || rebuildMode).update(i -> {
i.getStyle().imageUp = schematicMode || rebuildMode ? Icon.wrench : Icon.ok; i.getStyle().imageUp = schematicMode || rebuildMode ? Icon.wrench : Icon.ok;
i.setChecked(rebuildMode); i.setChecked(rebuildMode);
i.setDisabled(() -> player.dead());
}).name("confirmplace"); }).name("confirmplace");
} }