Major cleanup.

Moved to namespace
Cleanup includes
This commit is contained in:
Antoine Pilote
2021-07-11 18:56:44 -04:00
parent f77bef6b28
commit 0c6ed48bbd
174 changed files with 11772 additions and 11296 deletions
+62 -58
View File
@@ -5,66 +5,70 @@
#include "../Components/BaseComponent.h"
#include "../Resource/Serializable.h"
#include "../Components/NameComponent.h"
class Entity : public ISerializable
namespace Nuake
{
public:
Entity(entt::entity handle, Scene* scene);
Entity(const Entity& ent);
Entity();
void AddChild(Entity ent);
int GetHandle() { return (int)m_EntityHandle; }
int GetID() { return GetComponent<NameComponent>().ID; }
template<typename T>
bool HasComponent() {
return m_Scene->m_Registry.all_of<T>(m_EntityHandle);
}
bool IsValid() {
return m_Scene->m_Registry.valid((entt::entity)GetHandle());
}
template<typename T>
T& AddComponent() {
T& component = m_Scene->m_Registry.emplace<T>(m_EntityHandle);
return component;
}
template<typename T>
void RemoveComponent() {
m_Scene->m_Registry.remove<T>(m_EntityHandle);
}
template<typename T>
T& GetComponent() {
T& component = m_Scene->m_Registry.get<T>(m_EntityHandle);
return component;
}
void Destroy() {
Logger::Log("Deleted eneity :" + std::to_string((int)m_EntityHandle));
m_Scene->m_Registry.destroy(m_EntityHandle);
}
bool operator==(const Entity& other) const
class Entity : public ISerializable
{
return m_EntityHandle == other.m_EntityHandle && m_Scene == other.m_Scene;
}
public:
Entity(entt::entity handle, Scene* scene);
Entity(const Entity& ent);
Entity();
bool operator!=(const Entity& other) const
{
return !(*this == other);
}
void AddChild(Entity ent);
json Serialize() override;
bool Deserialize(const std::string& str);
int GetHandle() { return (int)m_EntityHandle; }
int GetID() { return GetComponent<NameComponent>().ID; }
Scene* GetScene() {
return m_Scene;
}
private:
entt::entity m_EntityHandle;
Scene* m_Scene;
};
template<typename T>
bool HasComponent() {
return m_Scene->m_Registry.all_of<T>(m_EntityHandle);
}
bool IsValid() {
return m_Scene->m_Registry.valid((entt::entity)GetHandle());
}
template<typename T>
T& AddComponent() {
T& component = m_Scene->m_Registry.emplace<T>(m_EntityHandle);
return component;
}
template<typename T>
void RemoveComponent() {
m_Scene->m_Registry.remove<T>(m_EntityHandle);
}
template<typename T>
T& GetComponent() {
T& component = m_Scene->m_Registry.get<T>(m_EntityHandle);
return component;
}
void Destroy() {
Logger::Log("Deleted eneity :" + std::to_string((int)m_EntityHandle));
m_Scene->m_Registry.destroy(m_EntityHandle);
}
bool operator==(const Entity& other) const
{
return m_EntityHandle == other.m_EntityHandle && m_Scene == other.m_Scene;
}
bool operator!=(const Entity& other) const
{
return !(*this == other);
}
json Serialize() override;
bool Deserialize(const std::string& str);
Scene* GetScene() {
return m_Scene;
}
private:
entt::entity m_EntityHandle;
Scene* m_Scene;
};
}