Leg unit movement fixes

This commit is contained in:
Anuken
2020-07-12 11:34:19 -04:00
parent dad5b186db
commit f5f495b9b8
12 changed files with 63 additions and 23 deletions

View File

@@ -12,8 +12,10 @@ import mindustry.graphics.*;
import mindustry.type.*;
import mindustry.world.blocks.environment.*;
import static mindustry.Vars.*;
@Component
abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc, ElevationMovec{
abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc{
@Import float x, y;
@Import UnitType type;
@@ -22,6 +24,12 @@ abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc, Elevatio
transient float moveSpace;
transient float baseRotation;
@Replace
@Override
public void move(float cx, float cy){
collisions.moveCheck(this, cx, cy, !type.allowLegStep ? EntityCollisions::solid : EntityCollisions::legsSolid);
}
@Override
public void update(){
if(Mathf.dst(deltaX(), deltaY()) > 0.001f){