From 32e2a6e7d391a51d864906fe58b08ae33f3d6109 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Sat, 27 Jan 2024 14:58:50 +0300 Subject: [PATCH] feat: Rigidbody Mass Restriction --- Engine.Physics2D/RigidBody2D.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Engine.Physics2D/RigidBody2D.cs b/Engine.Physics2D/RigidBody2D.cs index e2fe1da..3820170 100644 --- a/Engine.Physics2D/RigidBody2D.cs +++ b/Engine.Physics2D/RigidBody2D.cs @@ -10,14 +10,18 @@ public class RigidBody2D : BehaviourOverride, IRigidBody2D { public Action? OnTransformAssigned { get => GameObject.OnTransformAssigned; set => GameObject.OnTransformAssigned = value; } + private const float LOWEST_ALLOWED_MASS = 0.00001f; + private float _mass = 1f; + public IPhysicsMaterial2D Material { get; set; } = new PhysicsMaterial2DDefault(); public Vector2D Velocity { get; set; } = Vector2D.Zero; public float AngularVelocity { get; set; } = 0f; - public float Mass { get; set; } = 1f; public bool IsStatic { get; set; } = false; + public float Mass { get => _mass; set => _mass = Core.Math.Max(value, LOWEST_ALLOWED_MASS); } + ITransform IAssignableTransform.Transform => Transform;