Internal refactoring & cleanup

This commit is contained in:
Anuken
2020-09-22 15:50:33 -04:00
parent 0256a475cf
commit f3e08f9cb6
32 changed files with 168 additions and 135 deletions

View File

@@ -1,6 +1,7 @@
package mindustry.entities.comp;
import arc.math.*;
import arc.math.geom.*;
import arc.util.*;
import mindustry.annotations.Annotations.*;
import mindustry.gen.*;
@@ -9,11 +10,23 @@ import mindustry.gen.*;
abstract class MechComp implements Posc, Flyingc, Hitboxc, Unitc, Mechc, ElevationMovec{
@SyncField(false) @SyncLocal float baseRotation;
transient float walkTime, walkExtension;
transient private boolean walked;
@Override
public void update(){
float len = deltaLen();
baseRotation = Angles.moveToward(baseRotation, deltaAngle(), type().baseRotateSpeed * Mathf.clamp(len / type().speed / Time.delta) * Time.delta);
walkTime += len;
//trigger animation only when walking manually
if(walked){
float len = deltaLen();
baseRotation = Angles.moveToward(baseRotation, deltaAngle(), type().baseRotateSpeed * Mathf.clamp(len / type().speed / Time.delta) * Time.delta);
walkTime += len;
walked = false;
}
}
@Override
public void moveAt(Vec2 vector, float acceleration){
if(!vector.isZero()){
walked = true;
}
}
}