Misc bugfixes

This commit is contained in:
Anuken
2021-06-02 17:44:57 -04:00
parent 79e079671c
commit fbe45aba74
4 changed files with 19 additions and 16 deletions

View File

@@ -27,6 +27,8 @@ public class PayloadSource extends PayloadBlock{
hasPower = true;
rotate = true;
configurable = true;
//make sure to display large units.
clipSize = 120;
config(Block.class, (PayloadSourceBuild build, Block block) -> {
if(canProduce(block) && build.block != block){
@@ -45,6 +47,13 @@ public class PayloadSource extends PayloadBlock{
build.scl = 0f;
}
});
configClear((PayloadSourceBuild build) -> {
build.block = null;
build.unit = null;
build.payload = null;
build.scl = 0f;
});
}
@Override

View File

@@ -19,6 +19,8 @@ public class PayloadVoid extends PayloadBlock{
update = true;
rotate = false;
size = 3;
//make sure to display large units.
clipSize = 120;
}
@Override

View File

@@ -4,10 +4,10 @@ import arc.*;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.math.*;
import arc.math.geom.*;
import arc.util.*;
import arc.util.io.*;
import mindustry.*;
import mindustry.core.*;
import mindustry.entities.EntityCollisions.*;
import mindustry.entities.*;
import mindustry.game.EventType.*;
@@ -69,14 +69,12 @@ public class UnitPayload implements Payload{
//check if unit can be dumped here
SolidPred solid = unit.solidity();
if(solid != null){
int tx = unit.tileX(), ty = unit.tileY();
boolean nearEmpty = !solid.solid(tx, ty);
for(Point2 p : Geometry.d4){
nearEmpty |= !solid.solid(tx + p.x, ty + p.y);
}
Tmp.v1.trns(unit.rotation, 1f);
int tx = World.toTile(unit.x + Tmp.v1.x), ty = World.toTile(unit.y + Tmp.v1.y);
//cannot dump on solid blocks
if(!nearEmpty) return false;
if(solid.solid(tx, ty)) return false;
}
//cannnot dump when there's a lot of overlap going on