diff options
author | JAROWMR <jarorutjes07@gmail.com> | 2024-11-15 16:10:45 +0100 |
---|---|---|
committer | JAROWMR <jarorutjes07@gmail.com> | 2024-11-15 16:10:45 +0100 |
commit | b019b401c3a1de0ffea7e6776242ae73599651ef (patch) | |
tree | 473c90cd71a8ee9943d8d333e11f6d40e68a8287 /src/crepe/system | |
parent | e6bc46a30152a7585dda24fde66622575349d25e (diff) |
collision handeling example
Diffstat (limited to 'src/crepe/system')
-rw-r--r-- | src/crepe/system/CollisionSystem.cpp | 2 | ||||
-rw-r--r-- | src/crepe/system/CollisionSystem.h | 2 | ||||
-rw-r--r-- | src/crepe/system/ScriptSystem.cpp | 6 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/crepe/system/CollisionSystem.cpp b/src/crepe/system/CollisionSystem.cpp index 56f07cc..b9366df 100644 --- a/src/crepe/system/CollisionSystem.cpp +++ b/src/crepe/system/CollisionSystem.cpp @@ -93,7 +93,7 @@ void CollisionSystem::call_collision_handler(const CollidedInfoStor& data1,const { *collider2, data2.transform, data2.rigidbody } }; CollisionEvent data(collision_info); - EventManager::get_instance().trigger_event<CollisionEvent>(data, 0); + EventManager::get_instance().trigger_event<CollisionEvent>(data, first); } } diff --git a/src/crepe/system/CollisionSystem.h b/src/crepe/system/CollisionSystem.h index c7e8e0b..a31ac48 100644 --- a/src/crepe/system/CollisionSystem.h +++ b/src/crepe/system/CollisionSystem.h @@ -27,7 +27,7 @@ public: void update(); private: void call_collision_handler(const CollidedInfoStor& data1,const CollidedInfoStor& data2); - std::vector<std::pair<CollidedInfoStor,CollidedInfoStor>> check_collisions(const std::vector<std::reference_wrapper<BoxCollider>>& boxcolliders, const std::vector<std::reference_wrapper<CircleCollider>>& circlecolliders); + std::vector<std::pair<CollidedInfoStor,CollidedInfoStor>> check_collisions(const std::vector<std::reference_wrapper<BoxCollider>>& boxcolliders, const std::vector<std::reference_wrapper<CircleCollider>>& circlecolliders); bool check_box_box_collision(const BoxCollider& box1, const BoxCollider& box2, const Transform& transform1, const Transform& transform2, const Rigidbody& rigidbody1, const Rigidbody& rigidbody2); bool check_box_circle_collision(const BoxCollider& box1, const CircleCollider& circle2, const Transform& transform1, const Transform& transform2, const Rigidbody& rigidbody1, const Rigidbody& rigidbody2); bool check_circle_circle_collision(const CircleCollider& circle1, const CircleCollider& circle2, const Transform& transform1, const Transform& transform2, const Rigidbody& rigidbody1, const Rigidbody& rigidbody2); diff --git a/src/crepe/system/ScriptSystem.cpp b/src/crepe/system/ScriptSystem.cpp index f2673e7..e41961e 100644 --- a/src/crepe/system/ScriptSystem.cpp +++ b/src/crepe/system/ScriptSystem.cpp @@ -17,7 +17,11 @@ void ScriptSystem::update() { dbg_trace(); forward_list<Script *> scripts = this->get_scripts(); - for (Script * script : scripts) script->update(); + for (Script * script : scripts) + { + script->init(); + script->update(); + }; } forward_list<Script *> ScriptSystem::get_scripts() { |