{-# LANGUAGE AllowAmbiguousTypes #-} module Mischief.ECS.Relationships where import Mischief.ECS.Components data IsExclusiveRelationship = IsExclusiveRelationship deriving (Int -> IsExclusiveRelationship -> ShowS [IsExclusiveRelationship] -> ShowS IsExclusiveRelationship -> String (Int -> IsExclusiveRelationship -> ShowS) -> (IsExclusiveRelationship -> String) -> ([IsExclusiveRelationship] -> ShowS) -> Show IsExclusiveRelationship forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> IsExclusiveRelationship -> ShowS showsPrec :: Int -> IsExclusiveRelationship -> ShowS $cshow :: IsExclusiveRelationship -> String show :: IsExclusiveRelationship -> String $cshowList :: [IsExclusiveRelationship] -> ShowS showList :: [IsExclusiveRelationship] -> ShowS Show, Typeable IsExclusiveRelationship Set DefaultComponentType Hooks IsExclusiveRelationship IsExclusive (RelExclusivity IsExclusiveRelationship) (Typeable IsExclusiveRelationship, IsExclusive (RelExclusivity IsExclusiveRelationship)) => Set DefaultComponentType -> Hooks IsExclusiveRelationship -> Component IsExclusiveRelationship forall c. (Typeable c, IsExclusive (RelExclusivity c)) => Set DefaultComponentType -> Hooks c -> Component c $crequired :: Set DefaultComponentType required :: Set DefaultComponentType $chooks :: Hooks IsExclusiveRelationship hooks :: Hooks IsExclusiveRelationship Component)