feat(xanthous): Add a method to get the name for a type of entity
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
This commit is contained in:
parent
26d7dadded
commit
30d83d7c82
4 changed files with 35 additions and 1 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue