harmboschloo/elm-ecs/1.0.0

NOTE: the latest version is 2.0.0

Ecs.Select

Create selecors

type alias Selector comparable ecs a =
Selector comparable ecs a

A selector of a specific set of components.

component : ComponentSpec comparable ecs a -> Selector comparable ecs a

Create a selector for a component type.

(a -> b)
-> ComponentSpec comparable ecs a
-> Selector comparable ecs b

Create a selector for 1 component type, mapped to the provided function.

(a -> b -> c)
-> ComponentSpec comparable ecs a
-> ComponentSpec comparable ecs b
-> Selector comparable ecs c

Create a selector for 2 component types, mapped to the provided function.

(a -> b -> c -> d)
-> ComponentSpec comparable ecs a
-> ComponentSpec comparable ecs b
-> ComponentSpec comparable ecs c
-> Selector comparable ecs d

Create a selector for 3 component types, mapped to the provided function.

(a -> b -> c -> d -> e)
-> ComponentSpec comparable ecs a
-> ComponentSpec comparable ecs b
-> ComponentSpec comparable ecs c
-> ComponentSpec comparable ecs d
-> Selector comparable ecs e

Create a selector for 4 component types, mapped to the provided function.

(a -> b -> c -> d -> e -> f)
-> ComponentSpec comparable ecs a
-> ComponentSpec comparable ecs b
-> ComponentSpec comparable ecs c
-> ComponentSpec comparable ecs d
-> ComponentSpec comparable ecs e
-> Selector comparable ecs f

Create a selector for 5 component types, mapped to the provided function.

Modify selectors

ComponentSpec comparable ecs a
-> Selector comparable ecs (Maybe a -> b)
-> Selector comparable ecs b

Also get a specific component type.

ComponentSpec comparable ecs b
-> Selector comparable ecs a
-> Selector comparable ecs a

Also check if a specific component type is present.

ComponentSpec comparable ecs b
-> Selector comparable ecs a
-> Selector comparable ecs a

Also check if a specific component type is not present.

(a -> Maybe b)
-> Selector comparable ecs a
-> Selector comparable ecs b

Also depend on the previous result.

andFilter : (a -> Bool) -> Selector comparable ecs a -> Selector comparable ecs a

Also only keep data that satify the test.