{-| This module forms the apecs Prelude. It selectively re-exports the user-facing functions from the submodules. -} module Apecs ( -- * Types System(..), Component(..), Entity(..), Slice, Has(..), Safe(..), cast, Map, Set, Unique, Global, Flag(..), -- * Store wrapper functions initStore, destroy, exists, owners, resetStore, get, getUnsafe, set, set', modify, cmap, cmapM, cmapM_, cimapM, cimapM_, rmap', rmap, wmap, wmap', cmap', -- ** GlobalRW wrapper functions getGlobal, setGlobal, modifyGlobal, -- * Other runSystem, runWith, runGC, EntityCounter, newEntity, makeWorld, -- * Re-exports asks, ask, liftIO, lift, ) where import Control.Monad.Reader (ask, asks, lift, liftIO) import Apecs.Stores import Apecs.System import Apecs.TH import Apecs.Types import Apecs.Util