From 0bfbb5b129b0e2bcd961a566bcd00a93950a1cf5 Mon Sep 17 00:00:00 2001 From: Jaime Torrealba Date: Wed, 2 Oct 2024 15:15:16 +0100 Subject: [PATCH] feat(app): 105 First stage of Collision event --- playground/src/pages/basics/CollisionDemo.vue | 88 +++++++++++++++++++ playground/src/router/routes/basics.ts | 5 ++ src/components/Physics.vue | 24 ++++- src/components/RigidBody.vue | 13 ++- src/components/colliders/BaseCollider.vue | 19 +++- src/types/collider.ts | 16 ++++ src/types/rigid-body.ts | 43 ++++++--- src/utils/collisions.ts | 44 ++++++++++ 8 files changed, 235 insertions(+), 17 deletions(-) create mode 100644 playground/src/pages/basics/CollisionDemo.vue create mode 100644 src/utils/collisions.ts diff --git a/playground/src/pages/basics/CollisionDemo.vue b/playground/src/pages/basics/CollisionDemo.vue new file mode 100644 index 0000000..3785d32 --- /dev/null +++ b/playground/src/pages/basics/CollisionDemo.vue @@ -0,0 +1,88 @@ + + + diff --git a/playground/src/router/routes/basics.ts b/playground/src/router/routes/basics.ts index 146c6b3..fdd1696 100644 --- a/playground/src/router/routes/basics.ts +++ b/playground/src/router/routes/basics.ts @@ -29,4 +29,9 @@ export const basicsRoutes = [ name: 'Props', component: () => import('../../pages/basics/RigidBodyProps.vue'), }, + { + path: '/basics/collision', + name: 'Collision', + component: () => import('../../pages/basics/CollisionDemo.vue'), + }, ] diff --git a/src/components/Physics.vue b/src/components/Physics.vue index cca89ee..8f15a7e 100644 --- a/src/components/Physics.vue +++ b/src/components/Physics.vue @@ -1,11 +1,13 @@ diff --git a/src/components/RigidBody.vue b/src/components/RigidBody.vue index 3f70d0a..13eb5c8 100644 --- a/src/components/RigidBody.vue +++ b/src/components/RigidBody.vue @@ -1,4 +1,5 @@