diff options
author | Griffin Smith <grfn@gws.fyi> | 2020-06-28T20·39-0400 |
---|---|---|
committer | glittershark <grfn@gws.fyi> | 2020-06-28T23·38+0000 |
commit | 20bc4aa10dffcbcc42139afafa10aa5f7a5090bb (patch) | |
tree | 43e34191757ee0d36cd09fc1f2a17fc91176cba5 /users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs | |
parent | cdfae7de48051b3230044f9bfb81b341608e85f4 (diff) |
feat(xan): Add a Marker entity type r/1109
It's useful, when developing new level gen techniques, to be able to specially mark certain areas of the map during devlopment. This adds a Marker entity type, which renders as a red X on the map and provides a programmable description when examined. In the future it'll probably be nice to toggle markers on/off just like we do with revealAll, but for now it'll be fine to just remove the code to render them like we do with debug traces. Change-Id: Ief5d090809a0a4cbcc28f90e4902a5e38d42eeb5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/724 Reviewed-by: glittershark <grfn@gws.fyi>
Diffstat (limited to 'users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs')
-rw-r--r-- | users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs b/users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs index 62e6e15c9853..a0c037a1b4ed 100644 --- a/users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs +++ b/users/glittershark/xanthous/src/Xanthous/Entities/Entities.hs @@ -13,6 +13,7 @@ import Xanthous.Entities.Character import Xanthous.Entities.Item import Xanthous.Entities.Creature import Xanthous.Entities.Environment +import Xanthous.Entities.Marker import Xanthous.Game.State import Xanthous.Util.QuickCheck import Data.Aeson.Generic.DerivingVia @@ -27,6 +28,7 @@ instance Arbitrary SomeEntity where , SomeEntity <$> arbitrary @Door , SomeEntity <$> arbitrary @GroundMessage , SomeEntity <$> arbitrary @Staircase + , SomeEntity <$> arbitrary @Marker ] instance FromJSON SomeEntity where @@ -40,6 +42,7 @@ instance FromJSON SomeEntity where "Door" -> SomeEntity @Door <$> obj .: "data" "GroundMessage" -> SomeEntity @GroundMessage <$> obj .: "data" "Staircase" -> SomeEntity @Staircase <$> obj .: "data" + "Marker" -> SomeEntity @Marker <$> obj .: "data" _ -> fail . unpack $ "Invalid entity type \"" <> entityType <> "\"" deriving via WithOptions '[ FieldLabelModifier '[Drop 1] ] GameLevel |