L'entité est simplement un nombre, nombre qui sert de clef dans un conteneur à composants, pour retrouver les composants.
C'est le cas!
typedef std::size_t entity;
Pour moi, le layout mémoire idéal d'un système à entité consiste à regrouper par composant.
C'est implémenté par le store struct_of_array.
template< typename Component, typename... Components >
class store_base< Component, Components... > : private store_base< Components... > {
(...)
typedef std::vector<boost::optional<Component>> component_vector;
(...)
component_vector components_; > Le conteneur peut être une hashmap ou un arbre.
Ici c'est un simple vecteur pour être plus sympa avec le cache!
(Désolé pour le formattage, le parseur markdown de linuxfr a l'air cassé).
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: bizarre
Posté par devnewton 🍺 (site web personnel) . En réponse au journal Veuillez instancier ce journal avant de le lire. Évalué à 3.
C'est le cas!
typedef std::size_t entity;
C'est implémenté par le store struct_of_array.
> Le conteneur peut être une hashmap ou un arbre.template< typename Component, typename... Components >
class store_base< Component, Components... > : private store_base< Components... > {
(...)
typedef std::vector<boost::optional<Component>> component_vector;
(...)
component_vector components_;
Ici c'est un simple vecteur pour être plus sympa avec le cache!
(Désolé pour le formattage, le parseur markdown de linuxfr a l'air cassé).
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board