aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system
diff options
context:
space:
mode:
authorJAROWMR <jarorutjes07@gmail.com>2024-11-15 16:10:45 +0100
committerJAROWMR <jarorutjes07@gmail.com>2024-11-15 16:10:45 +0100
commitb019b401c3a1de0ffea7e6776242ae73599651ef (patch)
tree473c90cd71a8ee9943d8d333e11f6d40e68a8287 /src/crepe/system
parente6bc46a30152a7585dda24fde66622575349d25e (diff)
collision handeling example
Diffstat (limited to 'src/crepe/system')
-rw-r--r--src/crepe/system/CollisionSystem.cpp2
-rw-r--r--src/crepe/system/CollisionSystem.h2
-rw-r--r--src/crepe/system/ScriptSystem.cpp6
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() {