minor changes

This commit is contained in:
Michele Caini
2020-05-02 18:15:34 +02:00
parent 8db61a38cc
commit 3fc116ab53
2 changed files with 4 additions and 9 deletions

9
TODO
View File

@@ -8,19 +8,14 @@
* custom (decoupled) pools ==> N-buffering, shared components, multi-model, hibitsets, and so on
* add examples (and credits) from @alanjfs :)
* static reflection, hint: template<> meta_type_t<Type>: meta_descriptor<name, func..., props..., etc...> (see #342)
* observer: user defined filters (eg .replace<T, &function> or .group<T, U, &func>)
* can we write a bool conv func for entt::entity that silently compares it to null?
* reset... reset everywhere...
* is it possible to make 0 the entity null?
* update documentation for meta, it contains less than half of the actual feature
* any-of rule for views/groups (eg entity has A and any of B/C/D)
- get -> all, exclude -> none
Next:
* add observer functions aside observer class
* get(cmp, entity) -> void *, set(cmp, entity, void *)
* make it easier to hook into the type system and describe how to do that to eg auto-generate meta types on first use
* review multi component views to reduce instantiations once empty types are gone...
* describe how to hook into the type system to eg auto-generate meta types on first use
* add observer functions aside observer class
* WIP:
- introduce the component iterators for non-contiguous collections of entities (multi component views, observers, user defined collections)

View File

@@ -412,7 +412,7 @@ class basic_continuous_loader {
}
template<typename Component>
void reset() {
void remove_if_exists() {
for(auto &&ref: remloc) {
const auto local = ref.second.first;
@@ -515,7 +515,7 @@ public:
*/
template<typename... Component, typename Archive, typename... Type, typename... Member>
basic_continuous_loader & component(Archive &archive, Member Type:: *... member) {
(reset<Component>(), ...);
(remove_if_exists<Component>(), ...);
(assign<Component>(archive, member...), ...);
return *this;
}