diff options
| author | max-001 <maxsmits21@kpnmail.nl> | 2024-11-05 13:34:43 +0100 | 
|---|---|---|
| committer | max-001 <maxsmits21@kpnmail.nl> | 2024-11-05 13:34:43 +0100 | 
| commit | a016ac2a146ce7c980a2b89d5fe6d079491b790b (patch) | |
| tree | 28320bbbd8a6e9f34505e918c0fd758f3fe52956 /src | |
| parent | efc5795029a6da3db116ef96676596832c6b8754 (diff) | |
Added example
Diffstat (limited to 'src')
| -rw-r--r-- | src/example/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/example/ecs.cpp | 35 | 
2 files changed, 36 insertions, 0 deletions
| diff --git a/src/example/CMakeLists.txt b/src/example/CMakeLists.txt index fea6f60..81df8d1 100644 --- a/src/example/CMakeLists.txt +++ b/src/example/CMakeLists.txt @@ -24,3 +24,4 @@ add_example(rendering)  add_example(asset_manager)  add_example(particle)  add_example(physics) +add_example(ecs) diff --git a/src/example/ecs.cpp b/src/example/ecs.cpp new file mode 100644 index 0000000..e37e8d4 --- /dev/null +++ b/src/example/ecs.cpp @@ -0,0 +1,35 @@ +#include <iostream> + +#include "../crepe/api/GameObject.h" +#include "../crepe/ComponentManager.h" +#include "../crepe/Metadata.h" +#include "../crepe/api/Transform.h" + +using namespace crepe::api; +using namespace crepe; +using namespace std; + +int main() { +	GameObject body(0, "body", "person", Point{0, 0}, 0, 1); +	GameObject leg(1, "leg", "person", Point{1, 1}, 0, 1); +	GameObject foot(2, "foot", "person", Point{2, 2}, 0, 1); + +	foot.set_parent(leg); +	leg.set_parent(body); + +	ComponentManager & mgr = ComponentManager::get_instance(); +	vector<reference_wrapper<Metadata>> metadata = mgr.get_components_by_type<Metadata>(); +	vector<reference_wrapper<Transform>> transform = mgr.get_components_by_type<Transform>(); + +	for(auto & m : metadata) { +		cout << m.get().name << " " << m.get().tag << " " << m.get().parent << endl; +		for(auto & c : m.get().children) { +			cout << "    " << c << " " << endl; +		} +	} +	for(auto & t : transform) { +		cout << t.get().position.x << " " << t.get().position.y << endl; +	} + +	return 0; +} |