diff options
author | Griffin Smith <grfn@gws.fyi> | 2021-06-14T03·02-0400 |
---|---|---|
committer | grfn <grfn@gws.fyi> | 2021-06-14T13·04+0000 |
commit | 30d83d7c828f7bf5ed285f71e5b4a7bf095002b5 (patch) | |
tree | da94fafb2f1efd27264559c14493766be6443015 /users/grfn/xanthous/src/Xanthous/Game | |
parent | 26d7dadded04cfb278765ed0b4479c471f9eb412 (diff) |
feat(xanthous): Add a method to get the name for a type of entity r/2660
I didn't end up using this directly for the thing I was doing, but it still seems generally useful enough that I'm keeping it around for now Change-Id: I05c8902d75845f2230ec2373a9677d61cfaafafd Reviewed-on: https://cl.tvl.fyi/c/depot/+/3206 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
Diffstat (limited to 'users/grfn/xanthous/src/Xanthous/Game')
-rw-r--r-- | users/grfn/xanthous/src/Xanthous/Game/State.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/users/grfn/xanthous/src/Xanthous/Game/State.hs b/users/grfn/xanthous/src/Xanthous/Game/State.hs index cdaf23edcd48..6f51683d14fe 100644 --- a/users/grfn/xanthous/src/Xanthous/Game/State.hs +++ b/users/grfn/xanthous/src/Xanthous/Game/State.hs @@ -56,6 +56,8 @@ module Xanthous.Game.State , downcastEntity , _SomeEntity , entityIs + , entityTypeName + -- ** Vias , Color(..) , DrawNothing(..) @@ -394,6 +396,10 @@ entityIs = isJust . downcastEntity @a _SomeEntity :: forall a. (Entity a, Typeable a) => Prism' SomeEntity a _SomeEntity = prism' SomeEntity downcastEntity +-- | Get the name of the type of 'SomeEntity' as a string +entityTypeName :: SomeEntity -> Text +entityTypeName (SomeEntity e) = pack . tyConName . typeRepTyCon $ typeOf e + newtype DeriveEntity (blocksVision :: Bool) (description :: Symbol) |