| 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 | None |
| Language | Haskell2010 |
Aztecs.ECS.World.Bundle
Description
Synopsis
- newtype BundleT (m :: Type -> Type) = BundleT {
- unBundle :: Components -> (Set ComponentID, Components, DynamicBundle m)
- type Bundle = BundleT Identity
- class MonoidDynamicBundle (m :: Type -> Type) a where
- dynBundle :: Component m c => ComponentID -> c -> a
- dynBundleUntracked :: Component m c => ComponentID -> c -> a
- bundle :: forall (m :: Type -> Type) a. Component m a => a -> BundleT m
- bundleUntracked :: forall (m :: Type -> Type) a. Component m a => a -> BundleT m
- runBundle :: forall (m :: Type -> Type). Monad m => BundleT m -> Components -> EntityID -> Archetype m -> (Components, Archetype m, Access m ())
Documentation
newtype BundleT (m :: Type -> Type) Source #
Bundle of components.
Constructors
| BundleT | |
Fields
| |
Instances
| Monad m => MonoidDynamicBundle m (BundleT m) Source # | |
Defined in Aztecs.ECS.World.Bundle Methods dynBundle :: Component m c => ComponentID -> c -> BundleT m Source # dynBundleUntracked :: Component m c => ComponentID -> c -> BundleT m Source # | |
| Monad m => Monoid (BundleT m) Source # | |
| Monad m => Semigroup (BundleT m) Source # | |
class MonoidDynamicBundle (m :: Type -> Type) a where Source #
Monoid bundle of dynamic components.
Methods
dynBundle :: Component m c => ComponentID -> c -> a Source #
Add a component to the bundle by its ComponentID.
dynBundleUntracked :: Component m c => ComponentID -> c -> a Source #
Add a component to the bundle by its ComponentID without running lifecycle hooks.
Instances
| Monad m => MonoidDynamicBundle m (BundleT m) Source # | |
Defined in Aztecs.ECS.World.Bundle Methods dynBundle :: Component m c => ComponentID -> c -> BundleT m Source # dynBundleUntracked :: Component m c => ComponentID -> c -> BundleT m Source # | |
| Monad m => MonoidDynamicBundle m (DynamicBundle m) Source # | |
Defined in Aztecs.ECS.World.Bundle.Dynamic Methods dynBundle :: Component m c => ComponentID -> c -> DynamicBundle m Source # dynBundleUntracked :: Component m c => ComponentID -> c -> DynamicBundle m Source # | |