DebugSupport class
Пакет: com.hypixel.hytale.server.npc.role.support
Файл: com/hypixel/hytale/server/npc/role/support/DebugSupport.java
implements: Component<EntityStore>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
String |
var1 |
|
String |
var1 |
|
DebugSupport |
var2 |
|
int |
var7 |
Методы (41)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
record |
EntityVisDatarecord EntityVisData(int sensorColorIndex, boolean matched) |
public |
record |
PathWaypointVisDatarecord PathWaypointVisData(Vector3d position, boolean isCurrentTarget, boolean isEndNode, boolean isSeekTarget) |
public |
record |
SensorVisDatarecord SensorVisData(double range, double minRange, int colorIndex, double viewAngle) |
public |
void |
beginSensorVisualizationvoid beginSensorVisualization() |
public |
void |
clearPathVisualizationvoid clearPathVisualization() |
public |
void |
clearSensorVisDatavoid clearSensorVisData() |
|
|
for for(RoleDebugFlags var3 : var1) |
|
|
for for(DebugSupport.DebugFlagsChangeListener var3 : this.debugFlagsChangeListeners) |
public |
EnumSet<RoleDebugFlags> |
getDebugFlagsEnumSet<RoleDebugFlags> getDebugFlags() |
public |
Sensor |
getLastFailingSensorSensor getLastFailingSensor() |
public |
boolean |
hasPathVisDataboolean hasPathVisData() |
public |
boolean |
hasSensorVisDataboolean hasSensorVisData() |
|
|
if if(this.sensorVisDataList != null) |
|
|
if if(this.entityVisDataMap != null) |
|
|
if if(this.sensorVisDataList == null) |
|
|
if if(this.entityVisDataMap == null) |
|
|
if if(this.sensorVisDataList != null) |
|
|
if if(this.pathVisDataList != null) |
|
|
if if(this.pathVisDataList == null) |
public |
boolean |
isAnyDebugFlagSetboolean isAnyDebugFlagSet(@Nonnull EnumSet<RoleDebugFlags> var1) |
public |
boolean |
isDebugFlagSetboolean isDebugFlagSet(RoleDebugFlags var1) |
public |
boolean |
isDebugMotionSteeringboolean isDebugMotionSteering() |
public |
boolean |
isDebugRoleSteeringboolean isDebugRoleSteering() |
public |
boolean |
isTraceFailboolean isTraceFail() |
public |
boolean |
isTraceSensorFailsboolean isTraceSensorFails() |
public |
boolean |
isTraceSuccessboolean isTraceSuccess() |
public |
boolean |
isVisPathboolean isVisPath() |
public |
boolean |
isVisSensorRangesboolean isVisSensorRanges() |
public |
void |
notifyDebugFlagsListenersvoid notifyDebugFlagsListeners(EnumSet<RoleDebugFlags> var1) |
protected |
void |
onDebugFlagsChangedvoid onDebugFlagsChanged() |
abstract |
void |
onDebugFlagsChangedvoid onDebugFlagsChanged(EnumSet<RoleDebugFlags> var1) |
public |
void |
recordEntityCheckvoid recordEntityCheck(@Nonnull Ref<EntityStore> var1, int var2, boolean var3) |
public |
void |
recordPathWaypointvoid recordPathWaypoint(@Nonnull Vector3d var1, boolean var2, boolean var3) |
public |
void |
recordPathWaypointvoid recordPathWaypoint(@Nonnull Vector3d var1, boolean var2, boolean var3, boolean var4) |
public |
int |
recordSensorRangeint recordSensorRange(double var1, double var3, double var5) |
public |
void |
registerDebugFlagsListenervoid registerDebugFlagsListener(DebugSupport.DebugFlagsChangeListener var1) |
public |
void |
removeDebugFlagsListenervoid removeDebugFlagsListener(DebugSupport.DebugFlagsChangeListener var1) |
public |
void |
setDebugFlagsvoid setDebugFlags(EnumSet<RoleDebugFlags> var1) |
public |
void |
setDisplayCustomStringvoid setDisplayCustomString(@Nullable String var1) |
public |
void |
setDisplayPathfinderStringvoid setDisplayPathfinderString(@Nullable String var1) |
public |
void |
setLastFailingSensorvoid setLastFailingSensor(Sensor var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.role.support;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.SupportConfigBuilder;
class="kw">import com.hypixel.hytale.server.npc.instructions.Sensor;
class="kw">import com.hypixel.hytale.server.npc.role.RoleDebugDisplay;
class="kw">import com.hypixel.hytale.server.npc.role.RoleDebugFlags;
class="kw">import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap;
class="kw">import java.util.ArrayList;
class="kw">import java.util.EnumSet;
class="kw">import java.util.List;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class DebugSupport class="kw">implements Component<EntityStore> {
@Nullable
class="kw">protected RoleDebugDisplay debugDisplay;
class="kw">protected boolean debugRoleSteering;
class="kw">protected boolean debugMotionSteering;
class="kw">protected EnumSet<RoleDebugFlags> debugFlags;
@Nullable
class="kw">protected String displayCustomString;
@Nullable
class="kw">protected String displayPathfinderString;
class="kw">protected boolean traceSuccess;
class="kw">protected boolean traceFail;
class="kw">protected boolean traceSensorFails;
class="kw">protected Sensor lastFailingSensor;
class="kw">protected List<DebugSupport.DebugFlagsChangeListener> debugFlagsChangeListeners = new ArrayList<>();
class="kw">protected boolean visSensorRanges;
class="kw">protected int currentSensorColorIndex;
@Nullable
class="kw">protected List<DebugSupport.SensorVisData> sensorVisDataList;
@Nullable
class="kw">protected Map<Ref<EntityStore>, List<DebugSupport.EntityVisData>> entityVisDataMap;
class="kw">protected boolean visPath;
@Nullable
class="kw">protected List<DebugSupport.PathWaypointVisData> pathVisDataList;
@Nonnull
class="kw">public class="kw">static ComponentType<EntityStore, DebugSupport> getComponentType() {
class="kw">return NPCPlugin.get().getDebugSupportComponentType();
}
@Nonnull
class="kw">public class="kw">static DebugSupport get(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
DebugSupport var2 = var1.getComponent(var0, getComponentType());
assert var2 != null : "Missing DebugSupport on entity " + var0;
class="kw">return var2;
}
class="kw">public DebugSupport(@Nonnull SupportConfigBuilder<?> var1) {
this.debugFlags = var1.getDebugFlags();
}
class="kw">public DebugSupport() {
this.debugFlags = EnumSet.noneOf(RoleDebugFlags.class);
}
@Nullable
class="kw">public RoleDebugDisplay getDebugDisplay() {
class="kw">return this.debugDisplay;
}
class="kw">public boolean isTraceSuccess() {
class="kw">return this.traceSuccess;
}
class="kw">public boolean isTraceFail() {
class="kw">return this.traceFail;
}
class="kw">public boolean isTraceSensorFails() {
class="kw">return this.traceSensorFails;
}
class="kw">public void setLastFailingSensor(Sensor var1) {
this.lastFailingSensor = var1;
}
class="kw">public Sensor getLastFailingSensor() {
class="kw">return this.lastFailingSensor;
}
class="kw">public boolean isDebugRoleSteering() {
class="kw">return this.debugRoleSteering;
}
class="kw">public boolean isDebugMotionSteering() {
class="kw">return this.debugMotionSteering;
}
class="kw">public void setDisplayCustomString(@Nullable String var1) {
this.displayCustomString = var1;
}
@Nullable
class="kw">public String pollDisplayCustomString() {
String var1 = this.displayCustomString;
this.displayCustomString = null;
class="kw">return var1;
}
class="kw">public void setDisplayPathfinderString(@Nullable String var1) {
this.displayPathfinderString = var1;
}
@Nullable
class="kw">public String pollDisplayPathfinderString() {
String var1 = this.displayPathfinderString;
this.displayPathfinderString = null;
class="kw">return var1;
}
class="kw">public EnumSet<RoleDebugFlags> getDebugFlags() {
class="kw">return this.debugFlags;
}
class="kw">public void setDebugFlags(EnumSet<RoleDebugFlags> var1) {
this.debugFlags = var1;
this.onDebugFlagsChanged();
this.notifyDebugFlagsListeners(var1);
}
class="kw">public boolean isDebugFlagSet(RoleDebugFlags var1) {
class="kw">return this.debugFlags.contains(var1);
}
class="kw">public boolean isAnyDebugFlagSet(@Nonnull EnumSet<RoleDebugFlags> var1) {
for (RoleDebugFlags var3 : var1) {
if (this.debugFlags.contains(var3)) {
class="kw">return true;
}
}
class="kw">return false;
}
class="kw">protected void onDebugFlagsChanged() {
this.debugRoleSteering = this.isDebugFlagSet(RoleDebugFlags.SteeringRole);
this.debugMotionSteering = this.isDebugFlagSet(RoleDebugFlags.MotionControllerSteer);
this.traceFail = this.isDebugFlagSet(RoleDebugFlags.TraceFail);
this.traceSuccess = this.isDebugFlagSet(RoleDebugFlags.TraceSuccess);
this.traceSensorFails = this.isDebugFlagSet(RoleDebugFlags.TraceSensorFailures);
this.visSensorRanges = this.isDebugFlagSet(RoleDebugFlags.VisSensorRanges);
this.visPath = this.isDebugFlagSet(RoleDebugFlags.VisPath);
this.debugDisplay = RoleDebugDisplay.create(this.debugFlags, this.debugDisplay);
}
class="kw">public void registerDebugFlagsListener(DebugSupport.DebugFlagsChangeListener var1) {
this.debugFlagsChangeListeners.add(var1);
}
class="kw">public void removeDebugFlagsListener(DebugSupport.DebugFlagsChangeListener var1) {
this.debugFlagsChangeListeners.remove(var1);
}
class="kw">public void notifyDebugFlagsListeners(EnumSet<RoleDebugFlags> var1) {
for (DebugSupport.DebugFlagsChangeListener var3 : this.debugFlagsChangeListeners) {
var3.onDebugFlagsChanged(var1);
}
}
class="kw">public boolean isVisSensorRanges() {
class="kw">return this.visSensorRanges;
}
class="kw">public void beginSensorVisualization() {
this.currentSensorColorIndex = 0;
if (this.sensorVisDataList != null) {
this.sensorVisDataList.clear();
}
if (this.entityVisDataMap != null) {
for (List var2 : this.entityVisDataMap.values()) {
var2.clear();
}
}
}
class="kw">public int recordSensorRange(double var1, double var3, double var5) {
if (this.sensorVisDataList == null) {
this.sensorVisDataList = new ArrayList<>();
}
int var7 = this.currentSensorColorIndex++;
this.sensorVisDataList.add(new DebugSupport.SensorVisData(var1, var3, var7, var5));
class="kw">return var7;
}
class="kw">public void recordEntityCheck(@Nonnull Ref<EntityStore> var1, int var2, boolean var3) {
if (this.entityVisDataMap == null) {
this.entityVisDataMap = new Reference2ObjectOpenHashMap();
}
this.entityVisDataMap.computeIfAbsent(var1, var0 -> new ArrayList<>()).add(new DebugSupport.EntityVisData(var2, var3));
}
@Nullable
class="kw">public List<DebugSupport.SensorVisData> getSensorVisData() {
class="kw">return this.sensorVisDataList;
}
@Nullable
class="kw">public Map<Ref<EntityStore>, List<DebugSupport.EntityVisData>> getEntityVisData() {
class="kw">return this.entityVisDataMap;
}
class="kw">public boolean hasSensorVisData() {
class="kw">return this.sensorVisDataList != null && !this.sensorVisDataList.isEmpty();
}
class="kw">public void clearSensorVisData() {
if (this.sensorVisDataList != null) {
this.sensorVisDataList.clear();
}
}
class="kw">public boolean isVisPath() {
class="kw">return this.visPath;
}
class="kw">public void clearPathVisualization() {
if (this.pathVisDataList != null) {
this.pathVisDataList.clear();
}
}
class="kw">public void recordPathWaypoint(@Nonnull Vector3d var1, boolean var2, boolean var3) {
this.recordPathWaypoint(var1, var2, var3, false);
}
class="kw">public void recordPathWaypoint(@Nonnull Vector3d var1, boolean var2, boolean var3, boolean var4) {
if (this.pathVisDataList == null) {
this.pathVisDataList = new ArrayList<>();
}
this.pathVisDataList.add(new DebugSupport.PathWaypointVisData(new Vector3d(var1), var2, var3, var4));
}
@Nullable
class="kw">public List<DebugSupport.PathWaypointVisData> getPathVisData() {
class="kw">return this.pathVisDataList;
}
class="kw">public boolean hasPathVisData() {
class="kw">return this.pathVisDataList != null && !this.pathVisDataList.isEmpty();
}
@Override
class="kw">public Component<EntityStore> clone() {
class="kw">return this;
}
class="kw">public class="kw">interface DebugFlagsChangeListener {
void onDebugFlagsChanged(EnumSet<RoleDebugFlags> var1);
}
class="kw">public record EntityVisData(int sensorColorIndex, boolean matched) {
class="kw">public EntityVisData {
}
}
class="kw">public record PathWaypointVisData(Vector3d position, boolean isCurrentTarget, boolean isEndNode, boolean isSeekTarget) {
class="kw">public PathWaypointVisData {
}
}
class="kw">public record SensorVisData(double range, double minRange, int colorIndex, double viewAngle) {
class="kw">public SensorVisData {
}
}
}