using System; using Microsoft.Xna.Framework; using Syntriax.Engine.Core; using Syntriax.Engine.Core.Abstract; using Syntriax.Engine.Physics2D.Abstract; namespace Syntriax.Engine.Physics2D; public class RigidBody2D : BehaviourOverride, IRigidBody2D { public Action? OnTransformAssigned { get => GameObject.OnTransformAssigned; set => GameObject.OnTransformAssigned = value; } public IPhysicsMaterial2D Material { get; set; } = null!; public Vector2D Velocity { get; set; } = Vector2D.Zero; public float AngularVelocity { get; set; } = 0f; public float Mass { get; set; } = 0f; ITransform IAssignableTransform.Transform => Transform; public bool Assign(ITransform transform) => GameObject.Assign(transform); }