Payload cleanup / Reconstructor implementation
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package mindustry.world.blocks.payloads;
|
||||
|
||||
import arc.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.math.*;
|
||||
import arc.math.geom.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.graphics.*;
|
||||
import mindustry.world.*;
|
||||
@@ -16,9 +16,8 @@ import static mindustry.Vars.*;
|
||||
public class PayloadBlock extends Block{
|
||||
public float payloadSpeed = 0.7f, payloadRotateSpeed = 5f;
|
||||
|
||||
public @Load(value = "@-top", fallback = "factory-top-@size") TextureRegion topRegion;
|
||||
public @Load(value = "@-out", fallback = "factory-out-@size") TextureRegion outRegion;
|
||||
public @Load(value = "@-in", fallback = "factory-in-@size") TextureRegion inRegion;
|
||||
public String regionSuffix = "";
|
||||
public TextureRegion topRegion, outRegion, inRegion;
|
||||
|
||||
public PayloadBlock(String name){
|
||||
super(name);
|
||||
@@ -29,6 +28,15 @@ public class PayloadBlock extends Block{
|
||||
envEnabled |= Env.space | Env.underwater;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
super.load();
|
||||
|
||||
topRegion = Core.atlas.find(name + "-top", "factory-top-" + size + regionSuffix);
|
||||
outRegion = Core.atlas.find(name + "-out", "factory-out-" + size + regionSuffix);
|
||||
inRegion = Core.atlas.find(name + "-in", "factory-in-" + size + regionSuffix);
|
||||
}
|
||||
|
||||
public static boolean blends(Building build, int direction){
|
||||
int size = build.block.size;
|
||||
int trns = build.block.size/2 + 1;
|
||||
@@ -164,9 +172,9 @@ public class PayloadBlock extends Block{
|
||||
updatePayload();
|
||||
|
||||
if(rotate){
|
||||
payRotation = Angles.moveToward(payRotation, rotate ? rotdeg() : 90f, payloadRotateSpeed * edelta());
|
||||
payRotation = Angles.moveToward(payRotation, rotate ? rotdeg() : 90f, payloadRotateSpeed * delta());
|
||||
}
|
||||
payVector.approach(Vec2.ZERO, payloadSpeed * edelta());
|
||||
payVector.approach(Vec2.ZERO, payloadSpeed * delta());
|
||||
|
||||
return hasArrived();
|
||||
}
|
||||
@@ -179,7 +187,7 @@ public class PayloadBlock extends Block{
|
||||
Vec2 dest = Tmp.v1.trns(rotdeg(), size * tilesize/2f);
|
||||
|
||||
payRotation = Angles.moveToward(payRotation, rotdeg(), payloadRotateSpeed * edelta());
|
||||
payVector.approach(dest, payloadSpeed * delta());
|
||||
payVector.approach(dest, payloadSpeed * edelta());
|
||||
|
||||
Building front = front();
|
||||
boolean canDump = front == null || !front.tile().solid();
|
||||
|
||||
Reference in New Issue
Block a user