From 6296b85846b21083e4f545b209f1d9edce2b06f9 Mon Sep 17 00:00:00 2001 From: max-001 Date: Wed, 6 Nov 2024 15:20:25 +0100 Subject: Moved Matadata to api folder (because it may be used by the game programmer) --- src/crepe/api/Metadata.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/crepe/api/Metadata.h (limited to 'src/crepe/api/Metadata.h') diff --git a/src/crepe/api/Metadata.h b/src/crepe/api/Metadata.h new file mode 100644 index 0000000..4d37108 --- /dev/null +++ b/src/crepe/api/Metadata.h @@ -0,0 +1,43 @@ +#pragma once + +#include +#include + +#include "../Component.h" + +namespace crepe { + +/** + * \brief Metadata component + * + * This class represents the Metadata component. It stores the name, tag, parent + * and children of a GameObject. + */ +class Metadata : public Component { +public: + /** + * \param game_object_id The id of the GameObject this component belongs to + * \param name The name of the GameObject + * \param tag The tag of the GameObject + */ + Metadata(uint32_t game_object_id, const std::string & name, + const std::string & tag); + /** + * \brief Get the maximum number of instances for this component + * + * \return The maximum number of instances for this component + */ + virtual int get_instances_max() const { return 1; } + +public: + //! The name of the GameObject + std::string name; + //! The tag of the GameObject + std::string tag; + //! The id of the parent GameObject (-1 if no parent) + uint32_t parent = -1; + //! The ids of the children GameObjects + std::vector children; +}; + +} // namespace crepe -- cgit v1.2.3 From acbe6b5d4256db950827b120fe7cd781e45715f6 Mon Sep 17 00:00:00 2001 From: max-001 Date: Thu, 7 Nov 2024 12:36:08 +0100 Subject: Made name and tag const --- src/crepe/api/Metadata.cpp | 2 +- src/crepe/api/Metadata.h | 4 ++-- src/example/ecs.cpp | 4 ++-- src/example/scene_manager.cpp | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/crepe/api/Metadata.h') diff --git a/src/crepe/api/Metadata.cpp b/src/crepe/api/Metadata.cpp index 53d93da..55d9ae2 100644 --- a/src/crepe/api/Metadata.cpp +++ b/src/crepe/api/Metadata.cpp @@ -5,4 +5,4 @@ using namespace std; Metadata::Metadata(uint32_t game_object_id, const string & name, const string & tag) - : Component(game_object_id), name(name), tag(tag) {} + : Component(game_object_id), NAME(name), TAG(tag) {} diff --git a/src/crepe/api/Metadata.h b/src/crepe/api/Metadata.h index 4d37108..fdbed41 100644 --- a/src/crepe/api/Metadata.h +++ b/src/crepe/api/Metadata.h @@ -31,9 +31,9 @@ public: public: //! The name of the GameObject - std::string name; + const std::string NAME; //! The tag of the GameObject - std::string tag; + const std::string TAG; //! The id of the parent GameObject (-1 if no parent) uint32_t parent = -1; //! The ids of the children GameObjects diff --git a/src/example/ecs.cpp b/src/example/ecs.cpp index dfd3595..7593faf 100644 --- a/src/example/ecs.cpp +++ b/src/example/ecs.cpp @@ -38,8 +38,8 @@ int main() { // Print the Metadata and Transform components for (auto & m : metadata) { - cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().name - << " Tag: " << m.get().tag << " Parent: " << m.get().parent + cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().NAME + << " Tag: " << m.get().TAG << " Parent: " << m.get().parent << " Children: "; for (auto & c : m.get().children) { cout << c << " "; diff --git a/src/example/scene_manager.cpp b/src/example/scene_manager.cpp index 471c400..bfa9479 100644 --- a/src/example/scene_manager.cpp +++ b/src/example/scene_manager.cpp @@ -52,8 +52,8 @@ int main() { cout << "Metadata components of Scene1:" << endl; // Print the Metadata for (auto & m : metadata) { - cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().name - << " Tag: " << m.get().tag << endl; + cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().NAME + << " Tag: " << m.get().TAG << endl; } // Set scene2 as the next scene @@ -67,8 +67,8 @@ int main() { cout << "Metadata components of Scene2:" << endl; // Print the Metadata for (auto & m : metadata) { - cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().name - << " Tag: " << m.get().tag << endl; + cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().NAME + << " Tag: " << m.get().TAG << endl; } return 0; -- cgit v1.2.3 From be58cc9342a775c21ec2ee28923414a5c612fe6e Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 7 Nov 2024 15:27:28 +0100 Subject: add game_object_id_t type --- src/crepe/Collider.cpp | 2 +- src/crepe/Collider.h | 2 +- src/crepe/Component.cpp | 3 ++- src/crepe/Component.h | 6 ++++-- src/crepe/ComponentManager.cpp | 2 +- src/crepe/ComponentManager.h | 8 ++++---- src/crepe/ComponentManager.hpp | 7 ++++--- src/crepe/api/CircleCollider.h | 2 +- src/crepe/api/Force.cpp | 3 +-- src/crepe/api/Force.h | 2 +- src/crepe/api/GameObject.cpp | 2 +- src/crepe/api/GameObject.h | 6 ++++-- src/crepe/api/Metadata.cpp | 5 ++--- src/crepe/api/Metadata.h | 6 +++--- src/crepe/api/ParticleEmitter.cpp | 4 ++-- src/crepe/api/ParticleEmitter.h | 2 +- src/crepe/api/Rigidbody.cpp | 4 ++-- src/crepe/api/Rigidbody.h | 3 +-- src/crepe/api/Sprite.cpp | 2 +- src/crepe/api/Sprite.h | 3 +-- src/crepe/api/Transform.cpp | 4 ++-- src/crepe/api/Transform.h | 4 +--- src/crepe/types.h | 10 ++++++++++ 23 files changed, 51 insertions(+), 41 deletions(-) create mode 100644 src/crepe/types.h (limited to 'src/crepe/api/Metadata.h') diff --git a/src/crepe/Collider.cpp b/src/crepe/Collider.cpp index 13a3f33..bbec488 100644 --- a/src/crepe/Collider.cpp +++ b/src/crepe/Collider.cpp @@ -2,4 +2,4 @@ using namespace crepe; -Collider::Collider(uint32_t gameObjectId) : Component(gameObjectId) {} +Collider::Collider(game_object_id_t id) : Component(id) {} diff --git a/src/crepe/Collider.h b/src/crepe/Collider.h index 68a7d1d..827f83d 100644 --- a/src/crepe/Collider.h +++ b/src/crepe/Collider.h @@ -6,7 +6,7 @@ namespace crepe { class Collider : public Component { public: - Collider(uint32_t game_object_id); + Collider(game_object_id_t id); int size; }; diff --git a/src/crepe/Component.cpp b/src/crepe/Component.cpp index cdbda67..af439ed 100644 --- a/src/crepe/Component.cpp +++ b/src/crepe/Component.cpp @@ -1,5 +1,6 @@ #include "Component.h" +#include "types.h" using namespace crepe; -Component::Component(uint32_t id) : GAME_OBJECT_ID(id) {} +Component::Component(game_object_id_t id) : GAME_OBJECT_ID(id) {} diff --git a/src/crepe/Component.h b/src/crepe/Component.h index 41badc3..ee795f4 100644 --- a/src/crepe/Component.h +++ b/src/crepe/Component.h @@ -1,5 +1,7 @@ #pragma once +#include "types.h" + #include namespace crepe { @@ -19,7 +21,7 @@ protected: /** * \param id The id of the GameObject this component belongs to */ - Component(uint32_t id); + Component(game_object_id_t id); public: virtual ~Component() = default; @@ -36,7 +38,7 @@ public: public: //! The id of the GameObject this component belongs to - const uint32_t GAME_OBJECT_ID; + const game_object_id_t GAME_OBJECT_ID; //! Whether the component is active bool active = true; }; diff --git a/src/crepe/ComponentManager.cpp b/src/crepe/ComponentManager.cpp index 01bc8d7..85149c8 100644 --- a/src/crepe/ComponentManager.cpp +++ b/src/crepe/ComponentManager.cpp @@ -9,7 +9,7 @@ ComponentManager & ComponentManager::get_instance() { return instance; } -void ComponentManager::delete_all_components_of_id(uint32_t id) { +void ComponentManager::delete_all_components_of_id(game_object_id_t id) { // Loop through all the types (in the unordered_map<>) for (auto & [type, componentArray] : this->components) { // Make sure that the id (that we are looking for) is within the boundaries of the vector<> diff --git a/src/crepe/ComponentManager.h b/src/crepe/ComponentManager.h index f3b0ace..c8c196c 100644 --- a/src/crepe/ComponentManager.h +++ b/src/crepe/ComponentManager.h @@ -43,7 +43,7 @@ public: * \return The created component */ template - T & add_component(uint32_t id, Args &&... args); + T & add_component(game_object_id_t id, Args &&... args); /** * \brief Delete all components of a specific type and id * @@ -53,7 +53,7 @@ public: * \param id The id of the GameObject this component belongs to */ template - void delete_components_by_id(uint32_t id); + void delete_components_by_id(game_object_id_t id); /** * \brief Delete all components of a specific type * @@ -70,7 +70,7 @@ public: * * \param id The id of the GameObject this component belongs to */ - void delete_all_components_of_id(uint32_t id); + void delete_all_components_of_id(game_object_id_t id); /** * \brief Delete all components * @@ -88,7 +88,7 @@ public: */ template std::vector> - get_components_by_id(uint32_t id) const; + get_components_by_id(game_object_id_t id) const; /** * \brief Get all components of a specific type * diff --git a/src/crepe/ComponentManager.hpp b/src/crepe/ComponentManager.hpp index cf9f65a..98efb49 100644 --- a/src/crepe/ComponentManager.hpp +++ b/src/crepe/ComponentManager.hpp @@ -3,11 +3,12 @@ #include #include "ComponentManager.h" +#include "types.h" namespace crepe { template -T & ComponentManager::add_component(uint32_t id, Args &&... args) { +T & ComponentManager::add_component(game_object_id_t id, Args &&... args) { using namespace std; static_assert(is_base_of::value, @@ -51,7 +52,7 @@ T & ComponentManager::add_component(uint32_t id, Args &&... args) { } template -void ComponentManager::delete_components_by_id(uint32_t id) { +void ComponentManager::delete_components_by_id(game_object_id_t id) { using namespace std; // Determine the type of T (this is used as the key of the unordered_map<>) @@ -83,7 +84,7 @@ void ComponentManager::delete_components() { template std::vector> -ComponentManager::get_components_by_id(uint32_t id) const { +ComponentManager::get_components_by_id(game_object_id_t id) const { using namespace std; // Determine the type of T (this is used as the key of the unordered_map<>) diff --git a/src/crepe/api/CircleCollider.h b/src/crepe/api/CircleCollider.h index 931b012..caa7e43 100644 --- a/src/crepe/api/CircleCollider.h +++ b/src/crepe/api/CircleCollider.h @@ -5,7 +5,7 @@ namespace crepe { class CircleCollider : public Collider { public: - CircleCollider(uint32_t game_object_id, int radius) + CircleCollider(game_object_id_t game_object_id, int radius) : Collider(game_object_id), radius(radius) {} int radius; }; diff --git a/src/crepe/api/Force.cpp b/src/crepe/api/Force.cpp index 3c33ad3..63131ac 100644 --- a/src/crepe/api/Force.cpp +++ b/src/crepe/api/Force.cpp @@ -4,8 +4,7 @@ namespace crepe { -Force::Force(uint32_t game_object_id, uint32_t magnitude, uint32_t direction) - : Component(game_object_id) { +Force::Force(game_object_id_t id, uint32_t magnitude, uint32_t direction) : Component(id) { // TODO: A standard angle unit should be established for the entire engine // and assumed to be the default everywhere. Only conversion functions should // explicitly contain the unit (i.e. `deg_to_rad()` & `rad_to_deg()`) diff --git a/src/crepe/api/Force.h b/src/crepe/api/Force.h index c08a8b9..4a4b5de 100644 --- a/src/crepe/api/Force.h +++ b/src/crepe/api/Force.h @@ -8,7 +8,7 @@ namespace crepe { class Force : public Component { public: - Force(uint32_t game_object_id, uint32_t magnitude, uint32_t direction); + Force(game_object_id_t id, uint32_t magnitude, uint32_t direction); int32_t force_x; int32_t force_y; diff --git a/src/crepe/api/GameObject.cpp b/src/crepe/api/GameObject.cpp index b1b8f85..e009288 100644 --- a/src/crepe/api/GameObject.cpp +++ b/src/crepe/api/GameObject.cpp @@ -6,7 +6,7 @@ using namespace crepe; using namespace std; -GameObject::GameObject(uint32_t id, const std::string & name, +GameObject::GameObject(game_object_id_t id, const std::string & name, const std::string & tag, const Point & position, double rotation, double scale) : ID(id) { diff --git a/src/crepe/api/GameObject.h b/src/crepe/api/GameObject.h index 2992787..223d72e 100644 --- a/src/crepe/api/GameObject.h +++ b/src/crepe/api/GameObject.h @@ -3,6 +3,8 @@ #include #include +#include "types.h" + namespace crepe { class Point; @@ -27,7 +29,7 @@ public: * \param rotation The rotation of the GameObject * \param scale The scale of the GameObject */ - GameObject(uint32_t id, const std::string & name, const std::string & tag, + GameObject(game_object_id_t id, const std::string & name, const std::string & tag, const Point & position, double rotation, double scale); /** * \brief Set the parent of this GameObject @@ -55,7 +57,7 @@ public: public: //! The id of the GameObject - const uint32_t ID; + const game_object_id_t ID; }; } // namespace crepe diff --git a/src/crepe/api/Metadata.cpp b/src/crepe/api/Metadata.cpp index 55d9ae2..ab9612b 100644 --- a/src/crepe/api/Metadata.cpp +++ b/src/crepe/api/Metadata.cpp @@ -3,6 +3,5 @@ using namespace crepe; using namespace std; -Metadata::Metadata(uint32_t game_object_id, const string & name, - const string & tag) - : Component(game_object_id), NAME(name), TAG(tag) {} +Metadata::Metadata(game_object_id_t id, const string & name, const string & tag) + : Component(id), NAME(name), TAG(tag) {} diff --git a/src/crepe/api/Metadata.h b/src/crepe/api/Metadata.h index fdbed41..f5e5c55 100644 --- a/src/crepe/api/Metadata.h +++ b/src/crepe/api/Metadata.h @@ -20,7 +20,7 @@ public: * \param name The name of the GameObject * \param tag The tag of the GameObject */ - Metadata(uint32_t game_object_id, const std::string & name, + Metadata(game_object_id_t id, const std::string & name, const std::string & tag); /** * \brief Get the maximum number of instances for this component @@ -35,9 +35,9 @@ public: //! The tag of the GameObject const std::string TAG; //! The id of the parent GameObject (-1 if no parent) - uint32_t parent = -1; + game_object_id_t parent = -1; //! The ids of the children GameObjects - std::vector children; + std::vector children; }; } // namespace crepe diff --git a/src/crepe/api/ParticleEmitter.cpp b/src/crepe/api/ParticleEmitter.cpp index 0b3a9ee..6094732 100644 --- a/src/crepe/api/ParticleEmitter.cpp +++ b/src/crepe/api/ParticleEmitter.cpp @@ -6,12 +6,12 @@ using namespace crepe; -ParticleEmitter::ParticleEmitter(uint32_t game_object_id, +ParticleEmitter::ParticleEmitter(game_object_id_t id, uint32_t max_particles, uint32_t emission_rate, uint32_t speed, uint32_t speed_offset, uint32_t angle, uint32_t angleOffset, float begin_lifespan, float end_lifespan) - : Component(game_object_id), max_particles(max_particles), + : Component(id), max_particles(max_particles), emission_rate(emission_rate), speed(speed), speed_offset(speed_offset), position{0, 0}, begin_lifespan(begin_lifespan), end_lifespan(end_lifespan) { diff --git a/src/crepe/api/ParticleEmitter.h b/src/crepe/api/ParticleEmitter.h index 2e2e95b..5939723 100644 --- a/src/crepe/api/ParticleEmitter.h +++ b/src/crepe/api/ParticleEmitter.h @@ -10,7 +10,7 @@ namespace crepe { class ParticleEmitter : public Component { public: - ParticleEmitter(uint32_t game_object_id, uint32_t max_particles, + ParticleEmitter(game_object_id_t id, uint32_t max_particles, uint32_t emission_rate, uint32_t speed, uint32_t speed_offset, uint32_t angle, uint32_t angleOffset, float begin_lifespan, float end_lifespan); diff --git a/src/crepe/api/Rigidbody.cpp b/src/crepe/api/Rigidbody.cpp index 0a6262a..1e76346 100644 --- a/src/crepe/api/Rigidbody.cpp +++ b/src/crepe/api/Rigidbody.cpp @@ -2,7 +2,7 @@ using namespace crepe; -Rigidbody::Rigidbody(uint32_t game_object_id, int mass, int gravity_scale, +Rigidbody::Rigidbody(game_object_id_t id, int mass, int gravity_scale, BodyType bodyType) - : Component(game_object_id), mass(mass), gravity_scale(gravity_scale), + : Component(id), mass(mass), gravity_scale(gravity_scale), body_type(bodyType) {} diff --git a/src/crepe/api/Rigidbody.h b/src/crepe/api/Rigidbody.h index 518ed94..02ced2e 100644 --- a/src/crepe/api/Rigidbody.h +++ b/src/crepe/api/Rigidbody.h @@ -18,8 +18,7 @@ enum class BodyType { class Rigidbody : public Component { public: - Rigidbody(uint32_t game_object_id, int mass, int gravity_scale, - BodyType body_type); + Rigidbody(game_object_id_t id, int mass, int gravity_scale, BodyType body_type); int32_t velocity_x; int32_t velocity_y; int mass; diff --git a/src/crepe/api/Sprite.cpp b/src/crepe/api/Sprite.cpp index 3dd44f2..7e810b5 100644 --- a/src/crepe/api/Sprite.cpp +++ b/src/crepe/api/Sprite.cpp @@ -10,7 +10,7 @@ using namespace std; using namespace crepe; -Sprite::Sprite(uint32_t id, shared_ptr image, const Color & color, +Sprite::Sprite(game_object_id_t id, shared_ptr image, const Color & color, const FlipSettings & flip) : Component(id), color(color), flip(flip), sprite_image(image) { dbg_trace(); diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h index bdb4da9..28078cd 100644 --- a/src/crepe/api/Sprite.h +++ b/src/crepe/api/Sprite.h @@ -19,8 +19,7 @@ struct FlipSettings { class Sprite : public Component { public: - Sprite(uint32_t game_id, std::shared_ptr image, - const Color & color, const FlipSettings & flip); + Sprite(game_object_id_t id, std::shared_ptr image, const Color & color, const FlipSettings & flip); ~Sprite(); std::shared_ptr sprite_image; Color color; diff --git a/src/crepe/api/Transform.cpp b/src/crepe/api/Transform.cpp index be1769e..5fb66b3 100644 --- a/src/crepe/api/Transform.cpp +++ b/src/crepe/api/Transform.cpp @@ -6,8 +6,8 @@ using namespace crepe; -Transform::Transform(uint32_t game_id, const Point & point, double rot, +Transform::Transform(game_object_id_t id, const Point & point, double rot, double scale) - : Component(game_id), position(point), rotation(rot), scale(scale) { + : Component(id), position(point), rotation(rot), scale(scale) { dbg_trace(); } diff --git a/src/crepe/api/Transform.h b/src/crepe/api/Transform.h index 69ea48f..1104e99 100644 --- a/src/crepe/api/Transform.h +++ b/src/crepe/api/Transform.h @@ -1,7 +1,5 @@ #pragma once -#include - #include "api/Point.h" #include "Component.h" @@ -22,7 +20,7 @@ public: * \param rot The rotation of the GameObject * \param scale The scale of the GameObject */ - Transform(uint32_t id, const Point & point, double rot, double scale); + Transform(game_object_id_t id, const Point & point, double rot, double scale); /** * \brief Get the maximum number of instances for this component * diff --git a/src/crepe/types.h b/src/crepe/types.h new file mode 100644 index 0000000..5ae2c81 --- /dev/null +++ b/src/crepe/types.h @@ -0,0 +1,10 @@ +#pragma once + +#include + +namespace crepe { + +typedef uint32_t game_object_id_t; + +} + -- cgit v1.2.3 From 156906dca0b84d3fd3c889e1bcda12308b8fe793 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 7 Nov 2024 15:32:49 +0100 Subject: update clang-tidy configuration --- .clang-tidy | 2 ++ src/crepe/Component.cpp | 2 +- src/crepe/Component.h | 2 +- src/crepe/api/GameObject.cpp | 14 +++++++------- src/crepe/api/GameObject.h | 2 +- src/crepe/api/GameObject.hpp | 2 +- src/crepe/api/Metadata.cpp | 2 +- src/crepe/api/Metadata.h | 4 ++-- src/crepe/api/Script.hpp | 2 +- src/crepe/system/PhysicsSystem.cpp | 4 ++-- src/crepe/system/RenderSystem.cpp | 2 +- src/example/ecs.cpp | 6 +++--- src/example/scene_manager.cpp | 8 ++++---- 13 files changed, 27 insertions(+), 25 deletions(-) (limited to 'src/crepe/api/Metadata.h') diff --git a/.clang-tidy b/.clang-tidy index 3408f75..4d8170b 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -20,6 +20,8 @@ CheckOptions: value: '_.*' - key: 'readability-identifier-naming.ConstantParameterCase' value: 'lower_case' + - key: 'readability-identifier-naming.ConstantMemberCase' + value: 'lower_case' - key: 'readability-identifier-naming.VariableCase' value: 'lower_case' - key: 'readability-identifier-naming.VariableIgnoredRegexp' diff --git a/src/crepe/Component.cpp b/src/crepe/Component.cpp index af439ed..73c2d07 100644 --- a/src/crepe/Component.cpp +++ b/src/crepe/Component.cpp @@ -3,4 +3,4 @@ using namespace crepe; -Component::Component(game_object_id_t id) : GAME_OBJECT_ID(id) {} +Component::Component(game_object_id_t id) : game_object_id(id) {} diff --git a/src/crepe/Component.h b/src/crepe/Component.h index ee795f4..0fe60b2 100644 --- a/src/crepe/Component.h +++ b/src/crepe/Component.h @@ -38,7 +38,7 @@ public: public: //! The id of the GameObject this component belongs to - const game_object_id_t GAME_OBJECT_ID; + const game_object_id_t game_object_id; //! Whether the component is active bool active = true; }; diff --git a/src/crepe/api/GameObject.cpp b/src/crepe/api/GameObject.cpp index e009288..15330f3 100644 --- a/src/crepe/api/GameObject.cpp +++ b/src/crepe/api/GameObject.cpp @@ -9,11 +9,11 @@ using namespace std; GameObject::GameObject(game_object_id_t id, const std::string & name, const std::string & tag, const Point & position, double rotation, double scale) - : ID(id) { + : id(id) { // Add Transform and Metadata components ComponentManager & mgr = ComponentManager::get_instance(); - mgr.add_component(this->ID, position, rotation, scale); - mgr.add_component(this->ID, name, tag); + mgr.add_component(this->id, position, rotation, scale); + mgr.add_component(this->id, name, tag); } void GameObject::set_parent(const GameObject & parent) { @@ -21,11 +21,11 @@ void GameObject::set_parent(const GameObject & parent) { // Set parent on own Metadata component vector> this_metadata - = mgr.get_components_by_id(this->ID); - this_metadata.at(0).get().parent = parent.ID; + = mgr.get_components_by_id(this->id); + this_metadata.at(0).get().parent = parent.id; // Add own id to children list of parent's Metadata component vector> parent_metadata - = mgr.get_components_by_id(parent.ID); - parent_metadata.at(0).get().children.push_back(this->ID); + = mgr.get_components_by_id(parent.id); + parent_metadata.at(0).get().children.push_back(this->id); } diff --git a/src/crepe/api/GameObject.h b/src/crepe/api/GameObject.h index 223d72e..8389e6c 100644 --- a/src/crepe/api/GameObject.h +++ b/src/crepe/api/GameObject.h @@ -57,7 +57,7 @@ public: public: //! The id of the GameObject - const game_object_id_t ID; + const game_object_id_t id; }; } // namespace crepe diff --git a/src/crepe/api/GameObject.hpp b/src/crepe/api/GameObject.hpp index 7e6148c..bfba7fe 100644 --- a/src/crepe/api/GameObject.hpp +++ b/src/crepe/api/GameObject.hpp @@ -9,7 +9,7 @@ namespace crepe { template T & GameObject::add_component(Args &&... args) { ComponentManager & mgr = ComponentManager::get_instance(); - return mgr.add_component(this->ID, std::forward(args)...); + return mgr.add_component(this->id, std::forward(args)...); } } // namespace crepe diff --git a/src/crepe/api/Metadata.cpp b/src/crepe/api/Metadata.cpp index ab9612b..76f11d7 100644 --- a/src/crepe/api/Metadata.cpp +++ b/src/crepe/api/Metadata.cpp @@ -4,4 +4,4 @@ using namespace crepe; using namespace std; Metadata::Metadata(game_object_id_t id, const string & name, const string & tag) - : Component(id), NAME(name), TAG(tag) {} + : Component(id), name(name), tag(tag) {} diff --git a/src/crepe/api/Metadata.h b/src/crepe/api/Metadata.h index f5e5c55..c61e006 100644 --- a/src/crepe/api/Metadata.h +++ b/src/crepe/api/Metadata.h @@ -31,9 +31,9 @@ public: public: //! The name of the GameObject - const std::string NAME; + const std::string name; //! The tag of the GameObject - const std::string TAG; + const std::string tag; //! The id of the parent GameObject (-1 if no parent) game_object_id_t parent = -1; //! The ids of the children GameObjects diff --git a/src/crepe/api/Script.hpp b/src/crepe/api/Script.hpp index 6d111af..d96c0e8 100644 --- a/src/crepe/api/Script.hpp +++ b/src/crepe/api/Script.hpp @@ -19,7 +19,7 @@ T & Script::get_component() { template std::vector> Script::get_components() { ComponentManager & mgr = ComponentManager::get_instance(); - return mgr.get_components_by_id(this->parent->GAME_OBJECT_ID); + return mgr.get_components_by_id(this->parent->game_object_id); } } // namespace crepe diff --git a/src/crepe/system/PhysicsSystem.cpp b/src/crepe/system/PhysicsSystem.cpp index dd80312..cea8062 100644 --- a/src/crepe/system/PhysicsSystem.cpp +++ b/src/crepe/system/PhysicsSystem.cpp @@ -23,12 +23,12 @@ void PhysicsSystem::update() { switch (rigidbody.body_type) { case BodyType::DYNAMIC: for (Transform & transform : transforms) { - if (transform.GAME_OBJECT_ID == rigidbody.GAME_OBJECT_ID) { + if (transform.game_object_id == rigidbody.game_object_id) { rigidbody.velocity_x = 0; rigidbody.velocity_y = 0; std::vector> forces = mgr.get_components_by_id( - rigidbody.GAME_OBJECT_ID); + rigidbody.game_object_id); rigidbody.velocity_y += rigidbody.gravity_scale * 1 * rigidbody.mass; diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp index 2003eaf..5a07cc2 100644 --- a/src/crepe/system/RenderSystem.cpp +++ b/src/crepe/system/RenderSystem.cpp @@ -32,7 +32,7 @@ void RenderSystem::update() { for (const Sprite & sprite : sprites) { std::vector> transforms - = mgr.get_components_by_id(sprite.GAME_OBJECT_ID); + = mgr.get_components_by_id(sprite.game_object_id); for (const Transform & transform : transforms) { render.draw(sprite, transform); } diff --git a/src/example/ecs.cpp b/src/example/ecs.cpp index 7593faf..0c64373 100644 --- a/src/example/ecs.cpp +++ b/src/example/ecs.cpp @@ -38,8 +38,8 @@ int main() { // Print the Metadata and Transform components for (auto & m : metadata) { - cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().NAME - << " Tag: " << m.get().TAG << " Parent: " << m.get().parent + cout << "Id: " << m.get().game_object_id << " Name: " << m.get().name + << " Tag: " << m.get().tag << " Parent: " << m.get().parent << " Children: "; for (auto & c : m.get().children) { cout << c << " "; @@ -47,7 +47,7 @@ int main() { cout << endl; } for (auto & t : transform) { - cout << "Id: " << t.get().GAME_OBJECT_ID << " Position: [" + cout << "Id: " << t.get().game_object_id << " Position: [" << t.get().position.x << ", " << t.get().position.y << "]" << endl; } diff --git a/src/example/scene_manager.cpp b/src/example/scene_manager.cpp index bfa9479..efbf2c2 100644 --- a/src/example/scene_manager.cpp +++ b/src/example/scene_manager.cpp @@ -52,8 +52,8 @@ int main() { cout << "Metadata components of Scene1:" << endl; // Print the Metadata for (auto & m : metadata) { - cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().NAME - << " Tag: " << m.get().TAG << endl; + cout << "Id: " << m.get().game_object_id << " Name: " << m.get().name + << " Tag: " << m.get().tag << endl; } // Set scene2 as the next scene @@ -67,8 +67,8 @@ int main() { cout << "Metadata components of Scene2:" << endl; // Print the Metadata for (auto & m : metadata) { - cout << "Id: " << m.get().GAME_OBJECT_ID << " Name: " << m.get().NAME - << " Tag: " << m.get().TAG << endl; + cout << "Id: " << m.get().game_object_id << " Name: " << m.get().name + << " Tag: " << m.get().tag << endl; } return 0; -- cgit v1.2.3