Schematic tweaks and improvements
This commit is contained in:
@@ -115,6 +115,10 @@ public class DesktopInput extends InputHandler{
|
||||
drawRequest(request);
|
||||
}
|
||||
|
||||
for(BuildRequest request : selectRequests){
|
||||
drawOverRequest(request);
|
||||
}
|
||||
|
||||
if(sreq != null){
|
||||
boolean valid = validPlace(sreq.x, sreq.y, sreq.block, sreq.rotation, sreq);
|
||||
if(sreq.block.rotate){
|
||||
|
||||
@@ -265,7 +265,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
||||
|
||||
requests.each(req -> {
|
||||
req.pointConfig(p -> {
|
||||
int cx = p.x - req.originalX, cy = p.y - req.originalY;
|
||||
int cx = p.x, cy = p.y;
|
||||
int lx = cx;
|
||||
|
||||
if(direction >= 0){
|
||||
@@ -275,7 +275,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
||||
cx = cy;
|
||||
cy = -lx;
|
||||
}
|
||||
p.set(cx + req.originalX, cy + req.originalY);
|
||||
p.set(cx, cy);
|
||||
});
|
||||
|
||||
//rotate actual request, centered on its multiblock position
|
||||
@@ -308,7 +308,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
||||
|
||||
req.pointConfig(p -> {
|
||||
int corigin = x ? req.originalWidth/2 : req.originalHeight/2;
|
||||
int nvalue = -((x ? p.x : p.y) - corigin) + corigin;
|
||||
int nvalue = -(x ? p.x : p.y);
|
||||
if(x){
|
||||
req.originalX = -(req.originalX - corigin) + corigin;
|
||||
p.x = nvalue;
|
||||
@@ -449,12 +449,21 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
||||
for(BuildRequest req : requests){
|
||||
if(req.block != null && validPlace(req.x, req.y, req.block, req.rotation)){
|
||||
BuildRequest copy = req.copy();
|
||||
copy.pointConfig(p -> p.add(copy.x - copy.originalX, copy.y - copy.originalY));
|
||||
player.builder().addBuild(copy);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void drawOverRequest(BuildRequest request){
|
||||
boolean valid = validPlace(request.x, request.y, request.block, request.rotation);
|
||||
|
||||
Draw.reset();
|
||||
Draw.mixcol(!valid ? Pal.breakInvalid : Color.white, (!valid ? 0.4f : 0.24f) + Mathf.absin(Time.globalTime(), 6f, 0.28f));
|
||||
Draw.alpha(1f);
|
||||
request.block.drawRequestConfigTop(request, selectRequests);
|
||||
Draw.reset();
|
||||
}
|
||||
|
||||
protected void drawRequest(BuildRequest request){
|
||||
request.block.drawRequest(request, allRequests(), validPlace(request.x, request.y, request.block, request.rotation));
|
||||
}
|
||||
|
||||
@@ -222,8 +222,6 @@ public class MobileInput extends InputHandler implements GestureListener{
|
||||
BuildRequest other = getRequest(request.x, request.y, request.block.size, null);
|
||||
BuildRequest copy = request.copy();
|
||||
|
||||
copy.pointConfig(p -> p.add(copy.x - copy.originalX, copy.y - copy.originalY));
|
||||
|
||||
if(other == null){
|
||||
player.builder().addBuild(copy);
|
||||
}else if(!other.breaking && other.x == request.x && other.y == request.y && other.block.size == request.block.size){
|
||||
@@ -340,7 +338,6 @@ public class MobileInput extends InputHandler implements GestureListener{
|
||||
if(request.block.rotate) drawArrow(request.block, tile.x, tile.y, request.rotation);
|
||||
}
|
||||
|
||||
//Draw.mixcol(Tmp.c1, 1f);
|
||||
Draw.reset();
|
||||
drawRequest(request);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user