aztecs-0.8.0: A modular game engine and Entity-Component-System (ECS) for Haskell.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Aztecs.Transform

Synopsis

Transform

data Transform v r Source #

Transform component.

Constructors

Transform 

Instances

Instances details
Component (Transform (V2 Int) Int) Source # 
Instance details

Defined in Aztecs.Transform

Associated Types

type StorageT (Transform (V2 Int) Int) Source #

(Num v, Num r) => Monoid (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

Methods

mempty :: Transform v r #

mappend :: Transform v r -> Transform v r -> Transform v r #

mconcat :: [Transform v r] -> Transform v r #

(Num v, Num r) => Semigroup (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

Methods

(<>) :: Transform v r -> Transform v r -> Transform v r #

sconcat :: NonEmpty (Transform v r) -> Transform v r #

stimes :: Integral b => b -> Transform v r -> Transform v r #

Generic (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

Associated Types

type Rep (Transform v r) :: Type -> Type #

Methods

from :: Transform v r -> Rep (Transform v r) x #

to :: Rep (Transform v r) x -> Transform v r #

(Show r, Show v) => Show (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

Methods

showsPrec :: Int -> Transform v r -> ShowS #

show :: Transform v r -> String #

showList :: [Transform v r] -> ShowS #

(NFData v, NFData r) => NFData (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

Methods

rnf :: Transform v r -> () #

(Eq r, Eq v) => Eq (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

Methods

(==) :: Transform v r -> Transform v r -> Bool #

(/=) :: Transform v r -> Transform v r -> Bool #

type StorageT (Transform (V2 Int) Int) Source # 
Instance details

Defined in Aztecs.Transform

type Rep (Transform v r) Source # 
Instance details

Defined in Aztecs.Transform

type Rep (Transform v r) = D1 ('MetaData "Transform" "Aztecs.Transform" "aztecs-0.8.0-5YWGoxTs0Vw9iciqZAe9GO" 'False) (C1 ('MetaCons "Transform" 'PrefixI 'True) (S1 ('MetaSel ('Just "transformTranslation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 v) :*: (S1 ('MetaSel ('Just "transformRotation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 r) :*: S1 ('MetaSel ('Just "transformScale") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 v))))

2D

type Transform2D = Transform (V2 Int) Int Source #

2D transform component.

transform2d :: Transform2D Source #

Empty transform.

Size

newtype Size v Source #

Size component.

Constructors

Size 

Fields

Instances

Instances details
Component (Size (V2 Int)) Source # 
Instance details

Defined in Aztecs.Transform

Associated Types

type StorageT (Size (V2 Int)) Source #

Generic (Size v) Source # 
Instance details

Defined in Aztecs.Transform

Associated Types

type Rep (Size v) :: Type -> Type #

Methods

from :: Size v -> Rep (Size v) x #

to :: Rep (Size v) x -> Size v #

NFData v => NFData (Size v) Source # 
Instance details

Defined in Aztecs.Transform

Methods

rnf :: Size v -> () #

type StorageT (Size (V2 Int)) Source # 
Instance details

Defined in Aztecs.Transform

type StorageT (Size (V2 Int)) = [Size (V2 Int)]
type Rep (Size v) Source # 
Instance details

Defined in Aztecs.Transform

type Rep (Size v) = D1 ('MetaData "Size" "Aztecs.Transform" "aztecs-0.8.0-5YWGoxTs0Vw9iciqZAe9GO" 'True) (C1 ('MetaCons "Size" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 v)))

2D

Systems

update :: forall q arr b m a. (ArrowQueryReader q, ArrowDynamicQueryReader q, ArrowReaderSystem q arr, ArrowQueueSystem b m arr, Component a, Monoid a) => arr () () Source #

Propagate and update all hierarchies of transform components.

update2d :: (ArrowQueryReader q, ArrowDynamicQueryReader q, ArrowReaderSystem q arr, ArrowQueueSystem b m arr) => arr () () Source #

Propagate and update all hierarchies of transform components.