From 73c939805f8c3a6e24fc6714782f4114ac68ddcc Mon Sep 17 00:00:00 2001 From: Syntriax Date: Wed, 6 Dec 2023 16:52:48 +0300 Subject: [PATCH] Cleanup --- Game/Physics2D/PhysicsEngine2D.cs | 33 ++++++------------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/Game/Physics2D/PhysicsEngine2D.cs b/Game/Physics2D/PhysicsEngine2D.cs index 71a13a9..1b356ff 100644 --- a/Game/Physics2D/PhysicsEngine2D.cs +++ b/Game/Physics2D/PhysicsEngine2D.cs @@ -37,7 +37,6 @@ public class PhysicsEngine2D : IPhysicsEngine2D rigidBodies.Remove(rigidBody); } - // List gameObjects = new List(); private List lines = new List(32); public void Step(float deltaTime) @@ -53,39 +52,19 @@ public class PhysicsEngine2D : IPhysicsEngine2D foreach (var collider in colliders) collider.Recalculate(); - // foreach (var gameObject in gameObjects) - // Game1.gameManager.RemoveGameObject(gameObject); - // gameObjects.Clear(); - - // foreach (var collider in colliders) - // foreach (var vertex in collider.Vertices) - // { - // GameObject gameObject = Game1.gameManager.InstantiateGameObject(); - // gameObject.BehaviourController.AddBehaviour().Assign(Game1.spriteBox); - // gameObject.Transform.Position = vertex; - // gameObjects.Add(gameObject); - // } - for (int i = colliders.Count - 1; i >= 0; i--) - CheckCollisions(colliders[i], colliders, (c1, c2, v) => + CheckCollisions(colliders[i], colliders, (collider1, collider2, collisionVertex) => { - // Console.WriteLine($"c1: {c1.BehaviourController.GameObject.Name}, c2: {c2.BehaviourController.GameObject.Name}"); - NewMethod(c1, c2, v, intervalDeltaTime); - NewMethod(c2, c1, v, intervalDeltaTime); + ResolveCollision(collider1, collider2, collisionVertex, intervalDeltaTime); + ResolveCollision(collider2, collider1, collisionVertex, intervalDeltaTime); - // if (c2.RigidBody2D is IRigidBody2D) - // { - // c2.RigidBody2D.Velocity = -c2.RigidBody2D.Velocity; - // StepRigidBody(c2.RigidBody2D, intervalDeltaTime); - // } - - c1.Recalculate(); - c2.Recalculate(); + collider1.Recalculate(); + collider2.Recalculate(); }); } } - private void NewMethod(ICollider2D c1, ICollider2D c2, Vector2 vertex, float intervalDeltaTime) + private void ResolveCollision(ICollider2D c1, ICollider2D c2, Vector2 vertex, float intervalDeltaTime) { if (c1.RigidBody2D is not IRigidBody2D) return;