mischief-ecs
Safe HaskellNone
LanguageGHC2024

Mischief.ECS.World.Query

Documentation

runQuery :: forall qd m w output. (Queryable qd output, MonadSystem w m) => qd -> QueryFilter -> World -> m [output] Source #

query :: forall qd output m w. (Queryable qd output, MonadSystem w m) => qd -> m [output] Source #

entityQuery :: forall qd output m w. (Queryable qd output, MonadSystem w m) => qd -> Entity -> m (Maybe output) Source #

get :: forall qd m w out. (Queryable qd out, MonadSystem w m) => qd -> Entity -> m (Maybe out) Source #

get' :: forall qd m w out qf. (Queryable qd out, MonadSystem w m, Collectable qf QueryFilter) => qd -> qf -> Entity -> m (Maybe out) Source #

query' :: forall qd m w out qf. (Queryable qd out, MonadSystem w m, Collectable qf QueryFilter) => qd -> qf -> m [out] Source #

single :: forall qd m w out. (Queryable qd out, MonadSystem w m) => qd -> m (Maybe out) Source #

single' :: forall qd m w out qf. (Queryable qd out, MonadSystem w m, Collectable qf QueryFilter) => qd -> qf -> m (Maybe out) Source #

class GetResultComponentId c where Source #

Instances

Instances details
GetResultComponentId' (IsComp c) (Result c) => GetResultComponentId (Result c) Source # 
Instance details

Defined in Mischief.ECS.World.Query

class GetResultComponentId' (flag :: k) c where Source #

Instances

Instances details
Component c => GetResultComponentId' 'False (Result (Rel c)) Source # 
Instance details

Defined in Mischief.ECS.World.Query

Component c => GetResultComponentId' 'True (Result c) Source # 
Instance details

Defined in Mischief.ECS.World.Query

tryMetaLocal :: forall c m w. (Component c, MonadSystem w m) => m (Maybe Entity) Source #

addedChanged' :: forall m w. MonadSystem w m => (ComponentTicks -> Tick -> Tick -> Bool) -> ComponentId -> Entity -> m Bool Source #

addedChanged :: forall c m w. (MonadSystem w m, GetResultComponentId (Result c)) => (ComponentTicks -> Tick -> Tick -> Bool) -> Result c -> m Bool Source #

added :: forall c m w. (MonadSystem w m, GetResultComponentId (Result c)) => Result c -> m Bool Source #

changed :: forall c m w. (MonadSystem w m, GetResultComponentId (Result c)) => Result c -> m Bool Source #