1package com.fs.starfarer.api.util;
5 private float turnAcceleration, maxTurnRate;
6 private float turnRate;
11 this.turnAcceleration = turnAcceleration;
12 this.maxTurnRate = maxTurnRate;
27 if (
Math.signum(turnRate) ==
Math.signum(turnDir)) {
33 turnRate += turnDir * turnAcceleration *
amount;
35 if (
Math.abs(turnRate) > maxTurnRate) {
36 turnRate = maxTurnRate *
Math.signum(turnRate);
41 facing += turnRate *
amount;
45 facing = desiredFacing;
61 return turnAcceleration;
65 this.turnAcceleration = turnAcceleration;
73 this.maxTurnRate = maxTurnRate;
81 this.turnRate = turnRate;
static float getAngleDiff(float from, float to)
static float getClosestTurnDirection(float facing, float desired)
static float normalizeAngle(float angleDeg)
void advance(float desiredFacing, float amount)
void setTurnAcceleration(float turnAcceleration)
SmoothFacingUtil(float turnAcceleration, float maxTurnRate)
void setTurnRate(float turnRate)
float getTurnAcceleration()
void setMaxTurnRate(float maxTurnRate)
void setFacing(float facing)