SteamWar/BauSystem2.0
Archiviert
12
0

Trace Refactor #233

Zusammengeführt
YoyoNow hat 121 Commits von TracerGUI nach master 2024-04-21 16:03:26 +02:00 zusammengeführt
2 geänderte Dateien mit 15 neuen und 17 gelöschten Zeilen
Nur Änderungen aus Commit 27dc30619b werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -131,14 +131,13 @@ public class TraceCommand extends SWCommand {
BauSystem.MESSAGE.send("TRACE_MESSAGE_HIDE", player); BauSystem.MESSAGE.send("TRACE_MESSAGE_HIDE", player);
} }
@Register(value = "delete", description = "TRACE_COMMAND_HELP_DELETE")
@Register(value = "clear") @Register(value = "clear")
public void delete(@Validator Player player) { public void clear(@Validator Player player) {
TraceManager.instance.clear(); TraceManager.instance.clear(Region.getRegion(player.getLocation()));
BauSystem.MESSAGE.send("TRACE_MESSAGE_DELETE", player); BauSystem.MESSAGE.send("TRACE_MESSAGE_CLEAR", player);
} }
@Register(value = "delete") @Register(value = "delete", description = "TRACE_MESSAGE_DELETE")
public void delete(@Validator Player player, Trace trace) { public void delete(@Validator Player player, Trace trace) {
TraceManager.instance.remove(trace); TraceManager.instance.remove(trace);
BauSystem.MESSAGE.send("TRACE_MESSAGE_DELETE_SPECIFIC", player); BauSystem.MESSAGE.send("TRACE_MESSAGE_DELETE_SPECIFIC", player);

Datei anzeigen

@ -131,11 +131,9 @@ public class TraceManager implements Listener {
/** /**
* Clears all traces * Clears all traces
*/ */
public void clear() { public void clear(Region region) {
showDataPerRegionPerPlayer.values() showDataPerRegionPerPlayer.getOrDefault(region, new HashMap<>())
.stream() .keySet()
.flatMap(map -> map.entrySet().stream())
.map(Map.Entry::getKey)
.forEach(player -> { .forEach(player -> {
Set<Player> players = followerMap.getOrDefault(player, Collections.emptySet()); Set<Player> players = followerMap.getOrDefault(player, Collections.emptySet());
traces.values().forEach(trace -> { traces.values().forEach(trace -> {
@ -143,13 +141,14 @@ public class TraceManager implements Listener {
players.forEach(trace::hide); players.forEach(trace::hide);
}); });
}); });
traces.forEach((i, trace) -> { tracesByRegion.getOrDefault(region, new HashMap<>())
.forEach((i, trace) -> {
if (trace.getRegion() != region) return;
traces.remove(i);
trace.getMetadataSaveFile().delete(); trace.getMetadataSaveFile().delete();
trace.getRecordsSaveFile().delete(); trace.getRecordsSaveFile().delete();
}); });
traces.clear(); tracesByRegion.getOrDefault(region, new HashMap<>()).clear();
tracesByRegion.clear();
nextOpenId = 0;
} }
/** /**