module Mischief.ECS.Components.Common where
import Mischief.ECS.Components
newtype Name = Name String
deriving anyclass (Typeable Name
Set DefaultComponentType
Hooks Name
IsExclusive (RelExclusivity Name)
(Typeable Name, IsExclusive (RelExclusivity Name)) =>
Set DefaultComponentType -> Hooks Name -> Component Name
forall c.
(Typeable c, IsExclusive (RelExclusivity c)) =>
Set DefaultComponentType -> Hooks c -> Component c
$crequired :: Set DefaultComponentType
required :: Set DefaultComponentType
$chooks :: Hooks Name
hooks :: Hooks Name
Component)
deriving newtype (Name -> Name -> Bool
(Name -> Name -> Bool) -> (Name -> Name -> Bool) -> Eq Name
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Name -> Name -> Bool
== :: Name -> Name -> Bool
$c/= :: Name -> Name -> Bool
/= :: Name -> Name -> Bool
Eq)
instance Show Name where
show :: Name -> String
show :: Name -> String
show (Name String
name) = ShowS
forall a. Show a => a -> String
show String
name