package game.habits;
import engine.geometry.Vector;
import engine.hierarchy.DefaultHabit;
import engine.interfaces.Clock;
import engine.interfaces.Keyboard;
import engine.interfaces.Mouse;
/**
* Applies a constant downward impulse relative to the mass.
*/
public class GravityHabit extends DefaultHabit {
private static final double GRAVITY = 0.125;
DynamicHabit dynamic;
public GravityHabit(DynamicHabit dynamic) {
this.dynamic = dynamic;
}
@Override
protected void onBeforeMove(Keyboard keyboard, Mouse mouse, Clock clock) {
dynamic.applyImpulse(new Vector(0, dynamic.getMass() * GRAVITY));
}
}