Copyright | (C) 2020 Sophie Taylor |
---|---|
License | AGPL-3.0-or-later |
Maintainer | Sophie Taylor <sophie@spacekitteh.moe> |
Stability | experimental |
Portability | GHC |
Safe Haskell | Trustworthy |
Language | GHC2021 |
Games.ECS.Prototype
Description
Prototypes are exemplar individuals which form a template.
Synopsis
- data IsPrototype = IsPrototype {}
- rawIsPrototypeID :: Lens' IsPrototype PrototypeID
- extendsPrototype :: Lens' IsPrototype (Maybe PrototypeID)
- class (World worldType, Component IsPrototype, EntityProperty "isPrototype" worldType 'Individual (Prop IsPrototype) IsPrototype, OpticsFor "isPrototype" worldType 'Storing (Prop IsPrototype) IsPrototype ~ ReifiedIndexedTraversal' Entity (worldType 'Storing) IsPrototype) => HasIsPrototype (worldType :: Access -> Type) where
- isPrototype :: forall {s :: Access}. (EntityProperty "isPrototype" worldType s (Prop IsPrototype) IsPrototype, OpticsFor "isPrototype" worldType s (Prop IsPrototype) IsPrototype ~ ReifiedIndexedTraversal' Entity (worldType s) IsPrototype) => IndexedTraversal' Entity (worldType s) IsPrototype
- addIsPrototype :: IndexedSetter' Entity (worldType 'Individual) IsPrototype
- removeIsPrototype :: worldType 'Individual -> worldType 'Individual
- withIsPrototype :: Fold (worldType 'Storing) IntersectionOfEntities
- type UsingIsPrototype (worldType :: Access -> Type) (s :: Access) = (HasIsPrototype worldType, EntityProperty "isPrototype" worldType s (Prop IsPrototype) IsPrototype, OpticsFor "isPrototype" worldType s (Prop IsPrototype) IsPrototype ~ ReifiedIndexedTraversal' Entity (worldType s) IsPrototype)
- module Games.ECS.Prototype.PrototypeID
Documentation
data IsPrototype Source #
A component for denoting that an individual is a prototype, to be instantiated later.
Constructors
IsPrototype | |
Fields
|
Instances
class (World worldType, Component IsPrototype, EntityProperty "isPrototype" worldType 'Individual (Prop IsPrototype) IsPrototype, OpticsFor "isPrototype" worldType 'Storing (Prop IsPrototype) IsPrototype ~ ReifiedIndexedTraversal' Entity (worldType 'Storing) IsPrototype) => HasIsPrototype (worldType :: Access -> Type) where Source #
Methods
isPrototype :: forall {s :: Access}. (EntityProperty "isPrototype" worldType s (Prop IsPrototype) IsPrototype, OpticsFor "isPrototype" worldType s (Prop IsPrototype) IsPrototype ~ ReifiedIndexedTraversal' Entity (worldType s) IsPrototype) => IndexedTraversal' Entity (worldType s) IsPrototype Source #
addIsPrototype :: IndexedSetter' Entity (worldType 'Individual) IsPrototype Source #
removeIsPrototype :: worldType 'Individual -> worldType 'Individual Source #
withIsPrototype :: Fold (worldType 'Storing) IntersectionOfEntities Source #
type UsingIsPrototype (worldType :: Access -> Type) (s :: Access) = (HasIsPrototype worldType, EntityProperty "isPrototype" worldType s (Prop IsPrototype) IsPrototype, OpticsFor "isPrototype" worldType s (Prop IsPrototype) IsPrototype ~ ReifiedIndexedTraversal' Entity (worldType s) IsPrototype) Source #