From 931a3a168c5c96342a8db2fc1bf34de83b4d7b21 Mon Sep 17 00:00:00 2001 From: Light Date: Fri, 30 Jul 2021 11:20:52 +0430 Subject: [PATCH] Components Folder - Created a header file for each component inside a Components folder - Fixed entt::entity's default value being entt::entity() to entt::null - Minor tidying for DebugTrap --- Engine/src/Engine/Base/Portables/DebugTrap.h | 24 ++++++------- Engine/src/Engine/Scene/Components.h | 36 ++----------------- .../Components/SpriteRendererComponent.h | 22 ++++++++++++ .../Scene/Components/TransformComponent.h | 23 ++++++++++++ Engine/src/Engine/Scene/Entity.h | 2 +- 5 files changed, 61 insertions(+), 46 deletions(-) create mode 100644 Engine/src/Engine/Scene/Components/SpriteRendererComponent.h create mode 100644 Engine/src/Engine/Scene/Components/TransformComponent.h diff --git a/Engine/src/Engine/Base/Portables/DebugTrap.h b/Engine/src/Engine/Base/Portables/DebugTrap.h index 502508d..3e3789b 100644 --- a/Engine/src/Engine/Base/Portables/DebugTrap.h +++ b/Engine/src/Engine/Base/Portables/DebugTrap.h @@ -69,34 +69,34 @@ #else #include - #if defined(SIGTRAP) - #define LT_DEBUG_TRAP() raise(SIGTRAP) + #if defined(SIGTRAP) + #define LT_DEBUG_TRAP() raise(SIGTRAP) - #else - #define LT_DEBUG_TRAP() raise(SIGABRT) + #else + #define LT_DEBUG_TRAP() raise(SIGABRT) - #endif + #endif #endif #endif #if !defined(LT_DEBUG_TRAP) - #define LT_BERAK LT_ENGINE_ERROR("Unable to break!, LT_BREAK macro is undefined") #if !defined(LIGHT_IGNORE_UNDEFINED_DEBUG_BREAK) #error "failed to define LT_BREAK, define LIGHT_IGNORE_UNDEFINED_DEBUG_BREAK to disable this error" - #elif !defined(LIGHT_DIST) + + #elif defined(LIGHT_DIST) #ifdef _MSC_VER - #define LT_DEBUG_TRAP() LT_FILE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}, FILE: {}, LINE: {}", __FUNCSIG__, __FILE__, __LINE__) // or __FUNCSIG__ + #define LT_DEBUG_TRAP() LT_FILE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}, FILE: {}, LINE: {}", __FUNCSIG__, __FILE__, __LINE__) // or __FUNCSIG__ #else - #define LT_DEBUG_TRAP() LT_FILE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}", __PRETTY_FUNCTION__ ) + #define LT_DEBUG_TRAP() LT_FILE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}", __PRETTY_FUNCTION__ ) #endif - #else + #else /* !defined(LIGHT_DIST) */ #ifdef _MSC_VER - #define LT_DEBUG_TRAP() LT_ENGINE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}, FILE: {}, LINE: {}", __FUNCSIG__, __FILE__, __LINE__) // or __FUNCSIG__ + #define LT_DEBUG_TRAP() LT_ENGINE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}, FILE: {}, LINE: {}", __FUNCSIG__, __FILE__, __LINE__) // or __FUNCSIG__ #else - #define LT_DEBUG_TRAP() LT_ENGINE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}", __PRETTY_FUNCTION__ ) + #define LT_DEBUG_TRAP() LT_ENGINE_CRITICAL("DEBUG_TRAP REQUESTED AT: {}", __PRETTY_FUNCTION__ ) #endif #endif diff --git a/Engine/src/Engine/Scene/Components.h b/Engine/src/Engine/Scene/Components.h index 964befb..ea4cb9e 100644 --- a/Engine/src/Engine/Scene/Components.h +++ b/Engine/src/Engine/Scene/Components.h @@ -2,36 +2,6 @@ #include "Base/Base.h" -#include - -namespace Light { - - class Texture; - - // #todo: store a mat4 for transform - struct TransformComponent - { - glm::vec2 position, size; - - // glm::mat4 transform{ 1.0f }; - - TransformComponent() = default; - TransformComponent(const TransformComponent&) = default; - TransformComponent(const glm::vec2& _position, const glm::vec2& _size) : position(_position), size(_size) {} - - // operator glm::mat4&() { return transform; } - // operator const glm::mat4& () const { return transform; } - }; - - struct SpriteRendererComponent - { - Ref texture; - - SpriteRendererComponent() = default; - SpriteRendererComponent(const SpriteRendererComponent&) = default; - SpriteRendererComponent(Ref _texture) : texture(_texture) {} - - operator Ref() { return texture; } - }; - -} \ No newline at end of file +#include "Components/TransformComponent.h" +#include "Components/SpriteRendererComponent.h" +#include "Components/CameraComponent.h" \ No newline at end of file diff --git a/Engine/src/Engine/Scene/Components/SpriteRendererComponent.h b/Engine/src/Engine/Scene/Components/SpriteRendererComponent.h new file mode 100644 index 0000000..794895a --- /dev/null +++ b/Engine/src/Engine/Scene/Components/SpriteRendererComponent.h @@ -0,0 +1,22 @@ +#pragma once + +#include "Base/Base.h" + +#include + +namespace Light { + + class Texture; + + struct SpriteRendererComponent + { + Ref texture; + + SpriteRendererComponent() = default; + SpriteRendererComponent(const SpriteRendererComponent&) = default; + SpriteRendererComponent(Ref _texture) : texture(_texture) {} + + operator Ref() { return texture; } + }; + +} \ No newline at end of file diff --git a/Engine/src/Engine/Scene/Components/TransformComponent.h b/Engine/src/Engine/Scene/Components/TransformComponent.h new file mode 100644 index 0000000..76b0cd8 --- /dev/null +++ b/Engine/src/Engine/Scene/Components/TransformComponent.h @@ -0,0 +1,23 @@ +#pragma once + +#include "Base/Base.h" + +#include + +namespace Light { + + struct TransformComponent + { + glm::vec2 position, size; + + // glm::mat4 transform{ 1.0f }; + + TransformComponent() = default; + TransformComponent(const TransformComponent&) = default; + TransformComponent(const glm::vec2& _position, const glm::vec2& _size) : position(_position), size(_size) {} + + // operator glm::mat4&() { return transform; } + // operator const glm::mat4& () const { return transform; } + }; + +} \ No newline at end of file diff --git a/Engine/src/Engine/Scene/Entity.h b/Engine/src/Engine/Scene/Entity.h index 713e2d7..87a483f 100644 --- a/Engine/src/Engine/Scene/Entity.h +++ b/Engine/src/Engine/Scene/Entity.h @@ -15,7 +15,7 @@ namespace Light { Scene* m_Scene; public: - Entity(entt::entity handle = entt::entity(), Scene* registry = nullptr); + Entity(entt::entity handle = entt::null, Scene* registry = nullptr); ~Entity(); template