From 811bd00ed2f343659d32ec0e75215f67a87d674d Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 2 Aug 2025 08:13:21 +0200 Subject: [PATCH] Fix Flag.Value to have enum methods for save/load --- .../src/de/steamwar/bausystem/region/FlagStorage.java | 4 ++++ .../src/de/steamwar/bausystem/region/flags/Flag.java | 4 ++++ .../steamwar/bausystem/region/fixed/FixedFlagStorage.java | 5 +++++ .../bausystem/region/fixed/FixedGlobalFlagStorage.java | 5 +++++ .../de/steamwar/bausystem/region/fixed/FixedRegion.java | 8 ++++++-- 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/FlagStorage.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/FlagStorage.java index d6f1afd5..72e80301 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/FlagStorage.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/FlagStorage.java @@ -22,6 +22,8 @@ package de.steamwar.bausystem.region; import de.steamwar.bausystem.region.flags.Flag; import lombok.NonNull; +import java.util.Map; + public interface FlagStorage { @NonNull @@ -33,4 +35,6 @@ public interface FlagStorage { & Flag.Value> FlagOptional get(@NonNull Flag flag); void clear(); + + Map, Flag.Value> getBackedMap(); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java index ddee1806..2be75d1f 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/region/flags/Flag.java @@ -89,6 +89,10 @@ public final class Flag & Flag.Value> implements EnumDispla public interface Value & Value> extends EnumDisplay { + String name(); + + int ordinal(); + T getValue(); T getValueOf(final String name); diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java index b9abc5b3..71aee78e 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedFlagStorage.java @@ -74,4 +74,9 @@ public class FixedFlagStorage implements FlagStorage { public void clear() { flagMap.clear(); } + + @Override + public Map, Flag.Value> getBackedMap() { + return flagMap; + } } diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java index 9017cf96..acf9975a 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedGlobalFlagStorage.java @@ -78,4 +78,9 @@ public class FixedGlobalFlagStorage implements FlagStorage { public void clear() { flagMap.clear(); } + + @Override + public Map, Flag.Value> getBackedMap() { + return flagMap; + } } diff --git a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java index e008fab7..2f914dc5 100644 --- a/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java +++ b/BauSystem/BauSystem_RegionFixed/src/de/steamwar/bausystem/region/fixed/FixedRegion.java @@ -28,9 +28,13 @@ import java.util.UUID; public class FixedRegion implements Region { private UUID uuid; + private FixedFlagStorage flagStorage; + private Prototype prototype; - public FixedRegion(String name) { + public FixedRegion(String name, FixedFlagStorage flagStorage, Prototype prototype) { uuid = UUID.nameUUIDFromBytes(name.getBytes(StandardCharsets.UTF_8)); + this.flagStorage = flagStorage; + this.prototype = prototype; } @Override @@ -45,7 +49,7 @@ public class FixedRegion implements Region { @Override public @NonNull FlagStorage getFlags() { - return null; + return flagStorage; } @Override