SteeringForceRotate class
Пакет: com.hypixel.hytale.server.npc.movement.steeringforces
Файл: com/hypixel/hytale/server/npc/movement/steeringforces/SteeringForceRotate.java
implements: SteeringForce
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
private |
float |
desiredHeading |
|
float |
var2 |
|
TransformComponent |
var4 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
double |
getDesiredHeadingdouble getDesiredHeading() |
public |
double |
getHeadingdouble getHeading() |
public |
double |
getTolerancedouble getTolerance() |
public |
void |
setDesiredHeadingvoid setDesiredHeading(float var1) |
public |
void |
setHeadingvoid setHeading(float var1) |
public |
void |
setHeadingvoid setHeading(Ref<EntityStore> var1, @Nonnull Entity var2, ComponentAccessor<EntityStore> var3) |
public |
void |
setTolerancevoid setTolerance(double var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.movement.steeringforces;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.entity.Entity;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.movement.Steering;
class="kw">import com.hypixel.hytale.server.npc.util.NPCPhysicsMath;
class="kw">import javax.annotation.Nonnull;
class="kw">public class SteeringForceRotate class="kw">implements SteeringForce {
class="kw">private float desiredHeading;
class="kw">private float heading;
class="kw">private double tolerance = 0.05235988F;
class="kw">public SteeringForceRotate() {
}
@Override
class="kw">public boolean compute(@Nonnull Steering var1) {
var1.clear();
float var2 = NPCPhysicsMath.turnAngle(this.desiredHeading, this.heading);
if (Math.abs(var2) >= this.tolerance) {
var1.setYaw(this.desiredHeading);
class="kw">return true;
} else {
class="kw">return false;
}
}
class="kw">public void setDesiredHeading(float var1) {
this.desiredHeading = var1;
}
class="kw">public void setHeading(float var1) {
this.heading = var1;
}
class="kw">public void setHeading(Ref<EntityStore> var1, @Nonnull Entity var2, ComponentAccessor<EntityStore> var3) {
TransformComponent var4 = var3.getComponent(var1, TransformComponent.getComponentType());
assert var4 != null;
this.heading = var4.getRotation().yaw();
}
class="kw">public void setTolerance(double var1) {
this.tolerance = var1;
}
class="kw">public double getDesiredHeading() {
class="kw">return this.desiredHeading;
}
class="kw">public double getHeading() {
class="kw">return this.heading;
}
class="kw">public double getTolerance() {
class="kw">return this.tolerance;
}
}