Syntriax.Engine/Engine.Physics2D/Abstract/IRigidBody2D.cs

36 lines
970 B
C#
Raw Normal View History

using Syntriax.Engine.Core;
using Syntriax.Engine.Core.Abstract;
namespace Syntriax.Engine.Physics2D.Abstract;
2024-02-01 12:26:28 +03:00
/// <summary>
/// Represents a 2D rigid body in the engine.
/// </summary>
public interface IRigidBody2D : IBehaviour, IAssignableTransform
{
2024-02-01 12:26:28 +03:00
/// <summary>
/// The physics material of the <see cref="IRigidBody2D"/>.
/// </summary>
IPhysicsMaterial2D Material { get; set; }
2024-02-01 12:26:28 +03:00
/// <summary>
/// The velocity of the <see cref="IRigidBody2D"/>.
/// </summary>
Vector2D Velocity { get; set; }
2024-02-01 12:26:28 +03:00
/// <summary>
/// The angular velocity (rotation rate) of the <see cref="IRigidBody2D"/>.
/// </summary>
float AngularVelocity { get; set; }
2024-02-01 12:26:28 +03:00
/// <summary>
/// The mass of the <see cref="IRigidBody2D"/>.
/// </summary>
float Mass { get; set; }
2024-02-01 12:26:28 +03:00
/// <summary>
/// The value indicating whether the <see cref="IRigidBody2D"/> is static/immovable.
/// </summary>
2024-01-24 19:21:53 +03:00
bool IsStatic { get; set; }
}