Copyright | (c) Matt Hunzinger 2025 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | matt@hunzinger.me |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Aztecs.Asset
Description
Synopsis
- newtype AssetId = AssetId {}
- data AssetServer a = AssetServer {
- assetServerAssets :: !(Map AssetId a)
- loadingAssets :: !(Map AssetId (Either (IO (IORef (Maybe a))) (IORef (Maybe a))))
- nextAssetId :: !AssetId
- class MonadAssetLoader a m | m -> a where
- asset :: FilePath -> AssetConfig a -> m (Handle a)
- class Typeable a => Asset a where
- type AssetConfig a
- loadAsset :: FilePath -> AssetConfig a -> IO a
- newtype Handle a = Handle {}
- lookupAsset :: Handle a -> AssetServer a -> Maybe a
- setup :: forall m b a. (Typeable a, MonadAccess b m) => m ()
- loadAssets :: forall a q s m. (Typeable a, QueryF m q, Applicative q, MonadSystem q s, MonadIO m) => s ()
- load :: (MonadSystem Query s, Asset a) => AssetLoader a o -> s o
Documentation
Unique identifier for an asset.
Since: 0.9
data AssetServer a Source #
Asset server.
Since: 0.9
Constructors
AssetServer | |
Fields
|
Instances
class MonadAssetLoader a m | m -> a where Source #
Monadic interface for loading assets.
Since: 0.9
Methods
asset :: FilePath -> AssetConfig a -> m (Handle a) Source #
Load an asset from a file path with a configuration.
Since: 0.9
Instances
(Monad m, Asset a) => MonadAssetLoader a (AssetLoaderT a m) Source # | Since: 0.9 |
Defined in Aztecs.Asset.AssetLoader Methods asset :: FilePath -> AssetConfig a -> AssetLoaderT a m (Handle a) Source # |
Handle to an asset.
Since: 0.9
lookupAsset :: Handle a -> AssetServer a -> Maybe a Source #
Lookup an asset by its handle.
Since: 0.9
setup :: forall m b a. (Typeable a, MonadAccess b m) => m () Source #
Setup the asset server.
Since: 0.9
loadAssets :: forall a q s m. (Typeable a, QueryF m q, Applicative q, MonadSystem q s, MonadIO m) => s () Source #
Load any pending assets.
Since: 0.9
load :: (MonadSystem Query s, Asset a) => AssetLoader a o -> s o Source #
System to load assets.
Since: 0.9