feat: Ball Bounce Depending on Side Distance

This commit is contained in:
2024-01-29 12:51:21 +03:00
parent ad60412d5f
commit 4e95a3a420
2 changed files with 6 additions and 2 deletions

View File

@@ -44,6 +44,10 @@ public class MovementBallBehaviour : BehaviourOverride
private void OnCollisionDetected(ICollider2D collider2D, CollisionDetectionInformation information)
{
rigidBody.Velocity = rigidBody.Velocity.Reflect(information.Normal);
// if (information.Left.BehaviourController.GameObject == GameObject)
if (Syntriax.Engine.Core.Math.Abs(information.Normal.Dot(Vector2D.Right)) > .25)
rigidBody.Velocity = information.Left.Transform.Position.FromTo(information.Right.Transform.Position).Normalized * rigidBody.Velocity.Magnitude;
else
rigidBody.Velocity = rigidBody.Velocity.Reflect(information.Normal);
}
}