Fixed #10615
This commit is contained in:
@@ -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();
|
||||||
|
|||||||
@@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user