Improved interface

EntityHandle are no longer required to pass Entity as arguments
World::CreateEntity() now returns a const EntityHandle&

Former-commit-id: 6fc53ce5759a2a508094bdc61b4471f13f0844ec
This commit is contained in:
Lynix
2015-03-18 00:49:44 +01:00
parent e91313b62d
commit be8f6edeb4
9 changed files with 117 additions and 33 deletions

View File

@@ -27,13 +27,13 @@ namespace Ndk
virtual BaseSystem* Clone() const = 0;
bool Filters(const EntityHandle& entity) const;
bool Filters(const Entity* entity) const;
const std::vector<EntityHandle>& GetEntities() const;
SystemId GetId() const;
World& GetWorld() const;
bool HasEntity(const EntityHandle& entity) const;
bool HasEntity(const Entity* entity) const;
protected:
template<typename ComponentType> void Excludes();
@@ -45,12 +45,12 @@ namespace Ndk
void RequiresComponent(ComponentId componentId);
private:
void AddEntity(const EntityHandle& entity);
void AddEntity(Entity* entity);
virtual void OnEntityAdded(const EntityHandle& entity);
virtual void OnEntityRemoved(const EntityHandle& entity);
virtual void OnEntityAdded(Entity* entity);
virtual void OnEntityRemoved(Entity* entity);
void RemoveEntity(const EntityHandle& entity);
void RemoveEntity(Entity* entity);
void SetWorld(World& world);