Removal of drone requests

This commit is contained in:
Anuken
2019-10-07 17:17:01 -04:00
parent 4315cb41f2
commit 989e0d8fd1
10 changed files with 125 additions and 98 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 712 KiB

After

Width:  |  Height:  |  Size: 712 KiB

View File

@@ -355,7 +355,13 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
public void drawOver(){ public void drawOver(){
if(dead) return; if(dead) return;
drawMechanics(); if(isBuilding()){
if(!state.isPaused()){
drawBuilding();
}
}else{
drawMining();
}
} }
@Override @Override

View File

@@ -10,11 +10,10 @@ import io.anuke.arc.math.*;
import io.anuke.arc.util.*; import io.anuke.arc.util.*;
import io.anuke.mindustry.content.*; import io.anuke.mindustry.content.*;
import io.anuke.mindustry.entities.type.base.*; import io.anuke.mindustry.entities.type.base.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.*; import io.anuke.mindustry.game.*;
import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.Teams.*; import io.anuke.mindustry.game.Teams.*;
import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.Block.*;
import static io.anuke.arc.Core.camera; import static io.anuke.arc.Core.camera;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
@@ -131,7 +130,7 @@ public class BlockRenderer implements Disposable{
if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset(), block.y * tilesize + b.offset()))) continue; if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset(), block.y * tilesize + b.offset()))) continue;
Draw.alpha(0.5f); Draw.alpha(0.5f);
Draw.mixcol(Pal.accent, 0.2f + Mathf.absin(5f, 0.2f)); Draw.mixcol(Color.white, 0.2f + Mathf.absin(Time.globalTime(), 6f, 0.2f));
Draw.rect(b.icon(Cicon.full), block.x * tilesize + b.offset(), block.y * tilesize + b.offset(), b.rotate ? block.rotation * 90 : 0f); Draw.rect(b.icon(Cicon.full), block.x * tilesize + b.offset(), block.y * tilesize + b.offset(), b.rotate ? block.rotation * 90 : 0f);
} }
Draw.reset(); Draw.reset();

View File

@@ -7,19 +7,13 @@ import io.anuke.arc.graphics.g2d.*;
import io.anuke.arc.math.*; import io.anuke.arc.math.*;
import io.anuke.arc.scene.*; import io.anuke.arc.scene.*;
import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.*;
import io.anuke.arc.util.*;
import io.anuke.mindustry.content.*;
import io.anuke.mindustry.core.GameState.*; import io.anuke.mindustry.core.GameState.*;
import io.anuke.mindustry.entities.traits.BuilderTrait.*; import io.anuke.mindustry.entities.traits.BuilderTrait.*;
import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.gen.*; import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.input.PlaceUtils.*;
import io.anuke.mindustry.ui.*; import io.anuke.mindustry.ui.*;
import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.*;
import java.util.*;
import static io.anuke.arc.Core.scene; import static io.anuke.arc.Core.scene;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
import static io.anuke.mindustry.input.PlaceMode.*; import static io.anuke.mindustry.input.PlaceMode.*;
@@ -44,7 +38,7 @@ public class DesktopInput extends InputHandler{
@Override @Override
public void buildUI(Group group){ public void buildUI(Group group){
group.fill(t -> { group.fill(t -> {
t.bottom().update(() -> t.getColor().a = Mathf.lerpDelta(t.getColor().a, player.isBuilding() ? 1f : 0f, 0.1f)); t.bottom().update(() -> t.getColor().a = Mathf.lerpDelta(t.getColor().a, player.isBuilding() ? 1f : 0f, 0.15f));
t.table(Styles.black6, b -> b.add(Core.bundle.format("cancelbuilding", Core.keybinds.get(Binding.clear_building).key.name())).style(Styles.outlineLabel)).margin(10f); t.table(Styles.black6, b -> b.add(Core.bundle.format("cancelbuilding", Core.keybinds.get(Binding.clear_building).key.name())).style(Styles.outlineLabel)).margin(10f);
}); });
} }
@@ -65,36 +59,7 @@ public class DesktopInput extends InputHandler{
drawRequest(lineRequests.get(i)); drawRequest(lineRequests.get(i));
} }
}else if(mode == breaking){ }else if(mode == breaking){
NormalizeDrawResult result = PlaceUtils.normalizeDrawArea(Blocks.air, selectX, selectY, cursorX, cursorY, false, maxLength, 1f); drawSelection(selectX, selectY, cursorX, cursorY);
NormalizeResult dresult = PlaceUtils.normalizeArea(selectX, selectY, cursorX, cursorY, rotation, false, maxLength);
for(int x = dresult.x; x <= dresult.x2; x++){
for(int y = dresult.y; y <= dresult.y2; y++){
Tile tile = world.ltile(x, y);
if(tile == null || !validBreak(tile.x, tile.y)) continue;
drawBreaking(tile.x, tile.y);
}
}
Tmp.r1.set(result.x, result.y, result.x2 - result.x, result.y2 - result.y);
Draw.color(Pal.remove);
Lines.stroke(1f);
for(BuildRequest req : player.buildQueue()){
if(req.breaking) continue;
if(req.bounds(Tmp.r2).overlaps(Tmp.r1)){
drawBreaking(req);
}
}
Lines.stroke(2f);
Draw.color(Pal.removeBack);
Lines.rect(result.x, result.y - 1, result.x2 - result.x, result.y2 - result.y);
Draw.color(Pal.remove);
Lines.rect(result.x, result.y, result.x2 - result.x, result.y2 - result.y);
}else if(isPlacing()){ }else if(isPlacing()){
if(block.rotate){ if(block.rotate){
drawArrow(block, cursorX, cursorY, rotation); drawArrow(block, cursorX, cursorY, rotation);
@@ -257,24 +222,7 @@ public class DesktopInput extends InputHandler{
lineRequests.clear(); lineRequests.clear();
Events.fire(new LineConfirmEvent()); Events.fire(new LineConfirmEvent());
}else if(mode == breaking){ //touch up while breaking, break everything in selection }else if(mode == breaking){ //touch up while breaking, break everything in selection
NormalizeResult result = PlaceUtils.normalizeArea(selectX, selectY, cursorX, cursorY, rotation, false, maxLength); removeSelection(selectX, selectY, cursorX, cursorY);
for(int x = 0; x <= Math.abs(result.x2 - result.x); x++){
for(int y = 0; y <= Math.abs(result.y2 - result.y); y++){
int wx = selectX + x * Mathf.sign(cursorX - selectX);
int wy = selectY + y * Mathf.sign(cursorY - selectY);
tryBreakBlock(wx, wy);
}
}
Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize);
Iterator<BuildRequest> it = player.buildQueue().iterator();
while(it.hasNext()){
BuildRequest req = it.next();
if(!req.breaking && req.bounds(Tmp.r2).overlaps(Tmp.r1)){
it.remove();
}
}
} }
if(selected != null){ if(selected != null){

View File

@@ -20,13 +20,17 @@ import io.anuke.mindustry.entities.effect.*;
import io.anuke.mindustry.entities.traits.BuilderTrait.*; import io.anuke.mindustry.entities.traits.BuilderTrait.*;
import io.anuke.mindustry.entities.type.*; import io.anuke.mindustry.entities.type.*;
import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.game.EventType.*;
import io.anuke.mindustry.game.Teams.*;
import io.anuke.mindustry.gen.*; import io.anuke.mindustry.gen.*;
import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.graphics.*;
import io.anuke.mindustry.input.PlaceUtils.*;
import io.anuke.mindustry.net.*; import io.anuke.mindustry.net.*;
import io.anuke.mindustry.type.*; import io.anuke.mindustry.type.*;
import io.anuke.mindustry.ui.fragments.*; import io.anuke.mindustry.ui.fragments.*;
import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.*;
import java.util.*;
import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.Vars.*;
public abstract class InputHandler implements InputProcessor, GestureListener{ public abstract class InputHandler implements InputProcessor, GestureListener{
@@ -189,18 +193,23 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
return false; return false;
} }
public void drawSelected(int x, int y, Block block, Color color){
Draw.color(Pal.remove);
for(int i = 0; i < 4; i++){
Point2 p = Geometry.d8edge[i];
float offset = -Math.max(block.size - 1, 0) / 2f * tilesize;
Draw.rect("block-select",
x*tilesize + block.offset() + offset * p.x,
y*tilesize + block.offset() + offset * p.y, i * 90);
}
Draw.reset();
}
public void drawBreaking(BuildRequest request){ public void drawBreaking(BuildRequest request){
if(request.breaking){ if(request.breaking){
drawBreaking(request.x, request.y); drawBreaking(request.x, request.y);
}else{ }else{
Block block = request.block; drawSelected(request.x, request.y, request.block, Pal.remove);
Draw.color(Pal.remove);
for(int i = 0; i < 4; i++){
Point2 p = Geometry.d8edge[i];
float offset = -Math.max(block.size - 1, 0) / 2f * tilesize;
Draw.rect("block-select", request.drawx() + offset * p.x, request.drawy() + offset * p.y, i * 90);
}
Draw.reset();
} }
} }
@@ -209,13 +218,47 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
if(tile == null) return; if(tile == null) return;
Block block = tile.block(); Block block = tile.block();
Draw.color(Pal.remove); drawSelected(x, y, block, Pal.remove);
for(int i = 0; i < 4; i++){ }
Point2 p = Geometry.d8edge[i];
float offset = -Math.max(block.size - 1, 0) / 2f * tilesize; protected void drawSelection(int x1, int y1, int x2, int y2){
Draw.rect("block-select", x * tilesize + block.offset() + offset * p.x, y * tilesize + block.offset() + offset * p.y, i * 90); NormalizeDrawResult result = PlaceUtils.normalizeDrawArea(Blocks.air, x1, y1, x2, y2, false, maxLength, 1f);
NormalizeResult dresult = PlaceUtils.normalizeArea(x1, y1, x2, y2, rotation, false, maxLength);
for(int x = dresult.x; x <= dresult.x2; x++){
for(int y = dresult.y; y <= dresult.y2; y++){
Tile tile = world.ltile(x, y);
if(tile == null || !validBreak(tile.x, tile.y)) continue;
drawBreaking(tile.x, tile.y);
}
} }
Draw.reset();
Tmp.r1.set(result.x, result.y, result.x2 - result.x, result.y2 - result.y);
Draw.color(Pal.remove);
Lines.stroke(1f);
for(BuildRequest req : player.buildQueue()){
if(req.breaking) continue;
if(req.bounds(Tmp.r2).overlaps(Tmp.r1)){
drawBreaking(req);
}
}
for(BrokenBlock req : state.teams.get(player.getTeam()).brokenBlocks){
Block block = content.block(req.block);
if(block.bounds(req.x, req.y, Tmp.r2).overlaps(Tmp.r1)){
drawSelected(req.x, req.y, content.block(req.block), Pal.remove);
}
}
Lines.stroke(2f);
Draw.color(Pal.removeBack);
Lines.rect(result.x, result.y - 1, result.x2 - result.x, result.y2 - result.y);
Draw.color(Pal.remove);
Lines.rect(result.x, result.y, result.x2 - result.x, result.y2 - result.y);
} }
protected void flushRequests(Array<BuildRequest> requests){ protected void flushRequests(Array<BuildRequest> requests){
@@ -236,6 +279,39 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
block.drawRequest(brequest, allRequests(), validPlace(x, y, block, rotation)); block.drawRequest(brequest, allRequests(), validPlace(x, y, block, rotation));
} }
/** Remove everything from the queue in a selection. */
protected void removeSelection(int x1, int y1, int x2, int y2){
NormalizeResult result = PlaceUtils.normalizeArea(x1, y1, x2, y2, rotation, false, maxLength);
for(int x = 0; x <= Math.abs(result.x2 - result.x); x++){
for(int y = 0; y <= Math.abs(result.y2 - result.y); y++){
int wx = x1 + x * Mathf.sign(x2 - x1);
int wy = y1 + y * Mathf.sign(y2 - y1);
tryBreakBlock(wx, wy);
}
}
//remove build requests
Tmp.r1.set(result.x * tilesize, result.y * tilesize, (result.x2 - result.x) * tilesize, (result.y2 - result.y) * tilesize);
Iterator<BuildRequest> it = player.buildQueue().iterator();
while(it.hasNext()){
BuildRequest req = it.next();
if(!req.breaking && req.bounds(Tmp.r2).overlaps(Tmp.r1)){
it.remove();
}
}
//remove blocks to rebuild
Iterator<BrokenBlock> broken = state.teams.get(player.getTeam()).brokenBlocks.iterator();
while(broken.hasNext()){
BrokenBlock req = broken.next();
Block block = content.block(req.block);
if(block.bounds(req.x, req.y, Tmp.r2).overlaps(Tmp.r1)){
broken.remove();
}
}
}
protected void updateLine(int selectX, int selectY){ protected void updateLine(int selectX, int selectY){
lineRequests.clear(); lineRequests.clear();
iterateLine(selectX, selectY, tileX(getMouseX()), tileY(getMouseY()), l -> { iterateLine(selectX, selectY, tileX(getMouseX()), tileY(getMouseY()), l -> {

View File

@@ -48,8 +48,6 @@ public class MobileInput extends InputHandler implements GestureListener{
/** Used for shifting build requests. */ /** Used for shifting build requests. */
private float shiftDeltaX, shiftDeltaY; private float shiftDeltaX, shiftDeltaY;
/** List of currently selected tiles to place. */
private Array<BuildRequest> selection = new Array<>();
/** Place requests to be removed. */ /** Place requests to be removed. */
private Array<BuildRequest> removals = new Array<>(); private Array<BuildRequest> removals = new Array<>();
/** Whether or not the player is currently shifting all placed tiles. */ /** Whether or not the player is currently shifting all placed tiles. */
@@ -98,7 +96,7 @@ public class MobileInput extends InputHandler implements GestureListener{
r2.setSize(block.size * tilesize); r2.setSize(block.size * tilesize);
r2.setCenter(x * tilesize + block.offset(), y * tilesize + block.offset()); r2.setCenter(x * tilesize + block.offset(), y * tilesize + block.offset());
for(BuildRequest req : selection){ for(BuildRequest req : selectRequests){
Tile other = req.tile(); Tile other = req.tile();
if(other == null || req.breaking) continue; if(other == null || req.breaking) continue;
@@ -131,7 +129,7 @@ public class MobileInput extends InputHandler implements GestureListener{
r2.setSize(tilesize); r2.setSize(tilesize);
r2.setCenter(tile.worldx(), tile.worldy()); r2.setCenter(tile.worldx(), tile.worldy());
for(BuildRequest req : selection){ for(BuildRequest req : selectRequests){
Tile other = req.tile(); Tile other = req.tile();
if(other == null) continue; if(other == null) continue;
@@ -156,7 +154,7 @@ public class MobileInput extends InputHandler implements GestureListener{
} }
void removeRequest(BuildRequest request){ void removeRequest(BuildRequest request){
selection.removeValue(request, true); selectRequests.removeValue(request, true);
removals.add(request); removals.add(request);
} }
@@ -194,7 +192,7 @@ public class MobileInput extends InputHandler implements GestureListener{
//confirm button //confirm button
table.addImageButton(Icon.checkSmall, Styles.clearPartiali, () -> { table.addImageButton(Icon.checkSmall, Styles.clearPartiali, () -> {
for(BuildRequest request : selection){ for(BuildRequest request : selectRequests){
Tile tile = request.tile(); Tile tile = request.tile();
//actually place/break all selected blocks //actually place/break all selected blocks
@@ -212,10 +210,10 @@ public class MobileInput extends InputHandler implements GestureListener{
} }
//move all current requests to removal array so they fade out //move all current requests to removal array so they fade out
removals.addAll(selection); removals.addAll(selectRequests);
selection.clear(); selectRequests.clear();
selecting = false; selecting = false;
}).visible(() -> !selection.isEmpty()).name("confirmplace"); }).visible(() -> !selectRequests.isEmpty()).name("confirmplace");
} }
@Override @Override
@@ -232,7 +230,7 @@ public class MobileInput extends InputHandler implements GestureListener{
@Override @Override
public boolean isDrawing(){ public boolean isDrawing(){
return selection.size > 0 || removals.size > 0 || lineMode || player.target != null || mode != PlaceMode.none; return selectRequests.size > 0 || removals.size > 0 || lineMode || player.target != null || mode != PlaceMode.none;
} }
@Override @Override
@@ -257,7 +255,7 @@ public class MobileInput extends InputHandler implements GestureListener{
} }
//draw list of requests //draw list of requests
for(BuildRequest request : selection){ for(BuildRequest request : selectRequests){
Tile tile = request.tile(); Tile tile = request.tile();
if(tile == null) continue; if(tile == null) continue;
@@ -296,7 +294,7 @@ public class MobileInput extends InputHandler implements GestureListener{
int tileX = tileX(Core.input.mouseX()); int tileX = tileX(Core.input.mouseX());
int tileY = tileY(Core.input.mouseY()); int tileY = tileY(Core.input.mouseY());
if(mode == placing && block != null){ /*if(mode == placing && block != null){
//draw placing //draw placing
iterateLine(lineStartX, lineStartY, tileX, tileY, l -> { iterateLine(lineStartX, lineStartY, tileX, tileY, l -> {
@@ -307,7 +305,8 @@ public class MobileInput extends InputHandler implements GestureListener{
rotation = l.rotation; rotation = l.rotation;
}); });
}else if(mode == breaking){ }else */
if(mode == breaking){
//draw breaking //draw breaking
NormalizeDrawResult result = PlaceUtils.normalizeDrawArea(Blocks.air, lineStartX, lineStartY, tileX, tileY, false, maxLength, 1f); NormalizeDrawResult result = PlaceUtils.normalizeDrawArea(Blocks.air, lineStartX, lineStartY, tileX, tileY, false, maxLength, 1f);
NormalizeResult dresult = PlaceUtils.normalizeArea(lineStartX, lineStartY, tileX, tileY, rotation, false, maxLength); NormalizeResult dresult = PlaceUtils.normalizeArea(lineStartX, lineStartY, tileX, tileY, rotation, false, maxLength);
@@ -330,7 +329,6 @@ public class MobileInput extends InputHandler implements GestureListener{
Lines.rect(result.x, result.y, result.x2 - result.x, result.y2 - result.y); Lines.rect(result.x, result.y, result.x2 - result.x, result.y2 - result.y);
} }
} }
TargetTrait target = player.target; TargetTrait target = player.target;
@@ -409,7 +407,7 @@ public class MobileInput extends InputHandler implements GestureListener{
BuildRequest request = new BuildRequest(l.x, l.y, l.rotation, block); BuildRequest request = new BuildRequest(l.x, l.y, l.rotation, block);
request.animScale = 1f; request.animScale = 1f;
selection.add(request); selectRequests.add(request);
}); });
Events.fire(new LineConfirmEvent()); Events.fire(new LineConfirmEvent());
}else if(mode == breaking){ }else if(mode == breaking){
@@ -429,7 +427,7 @@ public class MobileInput extends InputHandler implements GestureListener{
if(!hasRequest(world.tile(tar.x, tar.y)) && validBreak(tar.x, tar.y)){ if(!hasRequest(world.tile(tar.x, tar.y)) && validBreak(tar.x, tar.y)){
BuildRequest request = new BuildRequest(tar.x, tar.y); BuildRequest request = new BuildRequest(tar.x, tar.y);
request.animScale = 1f; request.animScale = 1f;
selection.add(request); selectRequests.add(request);
} }
} }
} }
@@ -490,11 +488,11 @@ public class MobileInput extends InputHandler implements GestureListener{
removeRequest(getRequest(cursor)); removeRequest(getRequest(cursor));
}else if(mode == placing && isPlacing() && validPlace(cursor.x, cursor.y, block, rotation) && !checkOverlapPlacement(cursor.x, cursor.y, block)){ }else if(mode == placing && isPlacing() && validPlace(cursor.x, cursor.y, block, rotation) && !checkOverlapPlacement(cursor.x, cursor.y, block)){
//add to selection queue if it's a valid place position //add to selection queue if it's a valid place position
selection.add(lastPlaced = new BuildRequest(cursor.x, cursor.y, rotation, block)); selectRequests.add(lastPlaced = new BuildRequest(cursor.x, cursor.y, rotation, block));
}else if(mode == breaking && validBreak(cursor.link().x, cursor.link().y) && !hasRequest(cursor.link())){ }else if(mode == breaking && validBreak(cursor.link().x, cursor.link().y) && !hasRequest(cursor.link())){
//add to selection queue if it's a valid BREAK position //add to selection queue if it's a valid BREAK position
cursor = cursor.link(); cursor = cursor.link();
selection.add(new BuildRequest(cursor.x, cursor.y)); selectRequests.add(new BuildRequest(cursor.x, cursor.y));
}else if(!canTapPlayer(worldx, worldy) && !tileTapped(cursor.link())){ }else if(!canTapPlayer(worldx, worldy) && !tileTapped(cursor.link())){
tryBeginMine(cursor); tryBeginMine(cursor);
} }
@@ -505,7 +503,7 @@ public class MobileInput extends InputHandler implements GestureListener{
@Override @Override
public void update(){ public void update(){
if(state.is(State.menu) || player.isDead()){ if(state.is(State.menu) || player.isDead()){
selection.clear(); selectRequests.clear();
removals.clear(); removals.clear();
mode = none; mode = none;
} }
@@ -535,8 +533,8 @@ public class MobileInput extends InputHandler implements GestureListener{
if(mode == none){ if(mode == none){
selecting = false; selecting = false;
lineMode = false; lineMode = false;
removals.addAll(selection); removals.addAll(selectRequests);
selection.clear(); selectRequests.clear();
} }
if(lineMode && mode == placing && block == null){ if(lineMode && mode == placing && block == null){
@@ -628,7 +626,7 @@ public class MobileInput extends InputHandler implements GestureListener{
int shiftedY = (int)(shiftDeltaY / tilesize); int shiftedY = (int)(shiftDeltaY / tilesize);
if(Math.abs(shiftedX) > 0 || Math.abs(shiftedY) > 0){ if(Math.abs(shiftedX) > 0 || Math.abs(shiftedY) > 0){
for(BuildRequest req : selection){ for(BuildRequest req : selectRequests){
if(req.breaking) continue; //don't shift removal requests if(req.breaking) continue; //don't shift removal requests
req.x += shiftedX; req.x += shiftedX;
req.y += shiftedY; req.y += shiftedY;

View File

@@ -257,7 +257,7 @@ public abstract class SaveVersion extends SaveFileReader{
TeamData data = state.teams.get(team); TeamData data = state.teams.get(team);
int blocks = stream.readInt(); int blocks = stream.readInt();
for(int j = 0; j < blocks; j++){ for(int j = 0; j < blocks; j++){
data.brokenBlocks.addLast(new BrokenBlock(stream.readShort(), stream.readShort(), stream.readShort(), stream.readShort(), stream.readInt())); data.brokenBlocks.addLast(new BrokenBlock(stream.readShort(), stream.readShort(), stream.readShort(), content.block(stream.readShort()).id, stream.readInt()));
} }
} }

View File

@@ -669,7 +669,7 @@ public class Block extends BlockStorage{
public void drawRequest(BuildRequest req, Eachable<BuildRequest> list, boolean valid){ public void drawRequest(BuildRequest req, Eachable<BuildRequest> list, boolean valid){
Draw.reset(); Draw.reset();
Draw.mixcol(!valid ? Pal.breakInvalid : Pal.accent, 0.24f + Mathf.absin(Time.globalTime(), 7f, 0.3f)); Draw.mixcol(!valid ? Pal.breakInvalid : Color.white, (!valid ? 0.4f : 0.24f) + Mathf.absin(Time.globalTime(), 6f, 0.28f));
Draw.alpha(1f); Draw.alpha(1f);
drawRequestRegion(req, list); drawRequestRegion(req, list);
Draw.reset(); Draw.reset();

View File

@@ -1,3 +1,3 @@
org.gradle.daemon=true org.gradle.daemon=true
org.gradle.jvmargs=-Xms256m -Xmx1024m org.gradle.jvmargs=-Xms256m -Xmx1024m
archash=5b52af54b7f87db9732c4fa97781b2f2ae09c5ab archash=92070bb15802eb8a37b9c0734caffc6fecb557fc