This commit is contained in:
Anuken 2019-11-04 23:47:51 -05:00
parent f1f8130718
commit 3e43f5577e
5 changed files with 12 additions and 8 deletions

View File

@ -616,6 +616,7 @@ setting.difficulty.insane = Insane
setting.difficulty.name = Difficulty:
setting.screenshake.name = Screen Shake
setting.effects.name = Display Effects
setting.destroyedblocks.name = Display Destroyed Blocks
setting.sensitivity.name = Controller Sensitivity
setting.saveinterval.name = Save Interval
setting.seconds = {0} Seconds

View File

@ -18,6 +18,8 @@ import io.anuke.mindustry.world.blocks.*;
import io.anuke.mindustry.world.blocks.BuildBlock.*;
import io.anuke.mindustry.world.blocks.power.*;
import java.util.*;
import static io.anuke.mindustry.Vars.*;
/**
@ -79,14 +81,12 @@ public class Logic implements ApplicationListener{
Events.on(BlockBuildEndEvent.class, event -> {
if(!event.breaking){
TeamData data = state.teams.get(event.team);
//painful O(n) iteration + copy
for(int i = 0; i < data.brokenBlocks.size; i++){
BrokenBlock b = data.brokenBlocks.get(i);
Iterator<BrokenBlock> it = data.brokenBlocks.iterator();
while(it.hasNext()){
BrokenBlock b = it.next();
Block block = content.block(b.block);
if(event.tile.block().bounds(event.tile.x, event.tile.y, Tmp.r1).overlaps(block.bounds(b.x, b.y, Tmp.r2))){
data.brokenBlocks.removeIndex(i);
break;
it.remove();
}
}
}

View File

@ -239,7 +239,7 @@ public class Renderer implements ApplicationListener{
blocks.drawBlocks(Layer.block);
blocks.drawFog();
blocks.drawBroken();
blocks.drawDestroyed();
Draw.shader(Shaders.blockbuild, true);
blocks.drawBlocks(Layer.placement);

View File

@ -124,7 +124,9 @@ public class BlockRenderer implements Disposable{
Draw.shader();
}
public void drawBroken(){
public void drawDestroyed(){
if(!Core.settings.getBool("destroyedblocks")) return;
if(control.input.isPlacing() || control.input.isBreaking()){
brokenFade = Mathf.lerpDelta(brokenFade, 1f, 0.1f);
}else{

View File

@ -294,6 +294,7 @@ public class SettingsMenuDialog extends SettingsDialog{
}
graphics.checkPref("effects", true);
graphics.checkPref("destroyedblocks", true);
graphics.checkPref("playerchat", true);
graphics.checkPref("minimap", !mobile);
graphics.checkPref("position", false);