Files
Mindustry/core/src/mindustry/entities/comp/VelComp.java
2020-05-20 18:48:04 -04:00

32 lines
679 B
Java

package mindustry.entities.comp;
import arc.math.geom.*;
import arc.util.*;
import mindustry.annotations.Annotations.*;
import mindustry.gen.*;
@Component
abstract class VelComp implements Posc{
@Import float x, y;
final Vec2 vel = new Vec2();
transient float drag = 0f;
//velocity needs to be called first, as it affects delta and lastPosition
@MethodPriority(-1)
@Override
public void update(){
move(vel.x * Time.delta(), vel.y * Time.delta());
vel.scl(1f - drag * Time.delta());
}
boolean moving(){
return !vel.isZero(0.001f);
}
void move(float cx, float cy){
x += cx;
y += cy;
}
}