| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
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 qf. (Queryable qd out, MonadSystem w m, Collectable qf QueryFilter) => qd -> qf -> m (Maybe out) Source #
filterQuery :: MonadSystem w m => QueryFilter -> Entity -> m Bool Source #
filterCheckRelAny :: Queryable qd out => World -> [ArchetypeId] -> ErasedCheck -> IO ((Int, (Entity, out)) -> IO Bool) Source #
filterCheck :: Queryable qd out => World -> [ArchetypeId] -> ComponentId -> ErasedCheck -> IO ((Int, (Entity, out)) -> IO Bool) Source #
findComponentsOfEntity :: World -> Entity -> IO (Maybe [ComponentId]) Source #
class GetResultComponentId c where Source #
Methods
getResultComponentId :: MonadSystem w m => c -> m (Maybe ComponentId) Source #
Instances
| GetResultComponentId' (IsComp c) (Result c) => GetResultComponentId (Result c) Source # | |
Defined in Mischief.ECS.World.Query Methods getResultComponentId :: MonadSystem w m => Result c -> m (Maybe ComponentId) Source # | |
class GetResultComponentId' (flag :: k) c where Source #
Methods
getResultComponentId' :: MonadSystem w m => c -> m (Maybe ComponentId) Source #
Instances
| Component c => GetResultComponentId' 'False (Result (Rel c)) Source # | |
Defined in Mischief.ECS.World.Query Methods getResultComponentId' :: MonadSystem w m => Result (Rel c) -> m (Maybe ComponentId) Source # | |
| Component c => GetResultComponentId' 'True (Result c) Source # | |
Defined in Mischief.ECS.World.Query Methods getResultComponentId' :: MonadSystem w m => Result c -> m (Maybe ComponentId) Source # | |
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 #