diff options
author | Griffin Smith <root@gws.fyi> | 2019-11-30T20·00-0500 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-11-30T20·00-0500 |
commit | 97a5c61f28ba98728bab390e0ea745edfbea7103 (patch) | |
tree | 25304c30990cffb5756f44c79542edf9dd2e5ac6 /src/Xanthous/Entities/Creature.hs | |
parent | 310ea90985adcb6d9efe2ab05c67a235c2fb0ea2 (diff) |
Fix an injectivity issue with saving the game
Fix an injectivity issue with JSON-encoding the entity map that was causing the game saving to not properly round-trip. As part of this, there's a refactor to the internals of the entity map to use sets instead of vectors, which should also get us a nice perf boost.
Diffstat (limited to 'src/Xanthous/Entities/Creature.hs')
-rw-r--r-- | src/Xanthous/Entities/Creature.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Xanthous/Entities/Creature.hs b/src/Xanthous/Entities/Creature.hs index de9122746bcf..6f97c128d257 100644 --- a/src/Xanthous/Entities/Creature.hs +++ b/src/Xanthous/Entities/Creature.hs @@ -47,7 +47,7 @@ data Destination = Destination -- When this value reaches >= 1, the creature has reached their destination , _destinationProgress :: !Tiles } - deriving stock (Eq, Show, Generic) + deriving stock (Eq, Show, Ord, Generic) deriving anyclass (NFData, CoArbitrary, Function) deriving (ToJSON, FromJSON) via WithOptions '[ FieldLabelModifier '[Drop 1] ] @@ -63,7 +63,7 @@ destinationFromPos _destinationPosition = data Hippocampus = Hippocampus { _destination :: !(Maybe Destination) } - deriving stock (Eq, Show, Generic) + deriving stock (Eq, Show, Ord, Generic) deriving anyclass (NFData, CoArbitrary, Function) deriving (ToJSON, FromJSON) via WithOptions '[ FieldLabelModifier '[Drop 1] ] @@ -81,7 +81,7 @@ data Creature = Creature , _hitpoints :: !Hitpoints , _hippocampus :: !Hippocampus } - deriving stock (Eq, Show, Generic) + deriving stock (Eq, Show, Ord, Generic) deriving anyclass (NFData, CoArbitrary, Function) deriving Draw via DrawRawCharPriority "_creatureType" 1000 Creature deriving (ToJSON, FromJSON) |