{-# 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)