Unit cleanup

This commit is contained in:
Anuken 2020-06-07 14:17:42 -04:00
parent 8993c1db04
commit 42a6b0e369
6 changed files with 9 additions and 16 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

View File

@ -11,8 +11,8 @@ import mindustry.type.*;
import mindustry.world.blocks.environment.*;
@Component
abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc{
@Import float x, y, elevation;
abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc, ElevationMovec{
@Import float x, y;
@Import UnitType type;
transient Leg[] legs = {};
@ -22,9 +22,6 @@ abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc{
@Override
public void update(){
//keep elevation halfway
elevation = 0.4f;
if(Mathf.dst(deltaX(), deltaY()) > 0.001f){
baseRotation = Mathf.slerpDelta(baseRotation, Mathf.angle(deltaX(), deltaY()), 0.1f);
}
@ -111,11 +108,6 @@ abstract class LegsComp implements Posc, Rotc, Hitboxc, Flyingc, Unitc{
return rotation + 360f / legs.length * index + (360f / legs.length / 2f);
}
@Override
public void add(){
elevation = 0.4f;
}
/*
@Replace
public boolean isGrounded(){

View File

@ -21,7 +21,7 @@ import static mindustry.Vars.*;
@Component
abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, Itemsc, Rotc, Unitc, Weaponsc, Drawc, Boundedc, Syncc, Shieldc{
@Import float x, y, rotation, elevation, maxHealth;
@Import float x, y, rotation, elevation, maxHealth, drag, armor;
private UnitController controller;
private UnitType type;
@ -85,13 +85,14 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
public void type(UnitType type){
this.type = type;
this.maxHealth = type.health;
this.drag = type.drag;
this.elevation = type.flying ? 1f : type.baseElevation;
this.armor = type.armor;
heal();
drag(type.drag);
hitSize(type.hitsize);
controller(type.createController());
setupWeapons(type);
elevation = type.flying ? 1f : 0f;
}
@Override

View File

@ -41,6 +41,7 @@ public class UnitType extends UnlockableContent{
public float sway = 1f;
public int payloadCapacity = 1;
public int commandLimit = 24;
public float baseElevation = 0f;
public int legCount = 4;
public float legLength = 24f, legSpeed = 0.1f, legTrns = 1f, legBaseOffset = 0f, legMoveSpace = 1f;
@ -81,7 +82,6 @@ public class UnitType extends UnlockableContent{
public Unitc create(Team team){
Unitc unit = constructor.get();
unit.team(team);
unit.armor(armor);
unit.type(this);
return unit;
}
@ -331,7 +331,7 @@ public class UnitType extends UnlockableContent{
}
public void drawLegs(Legsc unit){
Draw.z(Layer.groundUnit - 0.02f);
//Draw.z(Layer.groundUnit - 0.02f);
Leg[] legs = unit.legs();