SDK/Entity: Delay component removal until world update
Allows system to freely remove components while updating Former-commit-id: 24dabc3423951621e8be7889fc27eaad4e8566b7 [formerly ed68ae6028a369be7a639dc8269848cd3b7af25f] [formerly 7404bc26b369203316834a15eda120e2a7ce94ee [formerly b3b81c6068bf35a7b838edefa9275de94f9231f7]] Former-commit-id: bc3f57813ed8b3146c0db385ff5df490b39ec3fa [formerly bc31fad8f0ce68ac2b94f4eca1c96664b4b68c93] Former-commit-id: 22c300e946a3f921ea49de7451567bc6202bb9a0
This commit is contained in:
@@ -52,8 +52,8 @@ namespace Ndk
|
||||
inline bool IsEnabled() const;
|
||||
inline bool IsValid() const;
|
||||
|
||||
void RemoveAllComponents();
|
||||
void RemoveComponent(ComponentIndex index);
|
||||
inline void RemoveAllComponents();
|
||||
inline void RemoveComponent(ComponentIndex index);
|
||||
template<typename ComponentType> void RemoveComponent();
|
||||
|
||||
inline Nz::String ToString() const;
|
||||
@@ -67,6 +67,10 @@ namespace Ndk
|
||||
void Create();
|
||||
void Destroy();
|
||||
|
||||
void DestroyComponent(ComponentIndex index);
|
||||
|
||||
inline Nz::Bitset<>& GetRemovedComponentBits();
|
||||
|
||||
inline void RegisterSystem(SystemIndex index);
|
||||
|
||||
inline void SetWorld(World* world) noexcept;
|
||||
@@ -75,6 +79,7 @@ namespace Ndk
|
||||
|
||||
std::vector<std::unique_ptr<BaseComponent>> m_components;
|
||||
Nz::Bitset<> m_componentBits;
|
||||
Nz::Bitset<> m_removedComponentBits;
|
||||
Nz::Bitset<> m_systemBits;
|
||||
EntityId m_id;
|
||||
World* m_world;
|
||||
|
||||
Reference in New Issue
Block a user