PhysicsAPI reference
Struct BodyDescription
Namespace: MicroEngine.Physics
Assembly: MicroEngine.Physics.dll
Guide: Physics worlds
What CreateBody creates.
public readonly struct BodyDescription : IEquatable<BodyDescription>Implements
Constructors
BodyDescription(BodyKind, Vector2)
What CreateBody creates.
public BodyDescription(BodyKind Kind, Vector2 Position)Parameters
Kind BodyKind
How the body moves.
Position Vector2
Its origin in world units; its shapes are placed relative to it.
Properties
Bullet
Continuous collision for a fast dynamic body; needs ContinuousCollision.
public bool Bullet { get; init; }Property Value
Kind
How the body moves.
public BodyKind Kind { get; init; }Property Value
Position
Its origin in world units; its shapes are placed relative to it.
public Vector2 Position { get; init; }Property Value
PushesBodies
A kinematic body that, when moved with Move, is not blocked: it pushes the other kinematic bodies in its way and carries those resting on it (moving platforms, closing doors). Needs MovingSolids; only kinematic bodies can push.
public bool PushesBodies { get; init; }Property Value
RequiredCapabilities
The capabilities this description needs beyond the common contract.
public PhysicsCapabilities RequiredCapabilities { get; }Property Value
Rotation
The body’s angle in radians; anything but 0 needs Rotation.
public float Rotation { get; init; }Property Value
Methods
Deconstruct(out BodyKind, out Vector2)
public void Deconstruct(out BodyKind Kind, out Vector2 Position)Parameters
Kind BodyKind
Position Vector2
Dynamic(Vector2)
A dynamic body at position (needs DynamicBodies).
public static BodyDescription Dynamic(Vector2 position)Parameters
position Vector2
Returns
Equals(object)
public override bool Equals(object obj)Parameters
obj object
Returns
Equals(BodyDescription)
public bool Equals(BodyDescription other)Parameters
other BodyDescription
Returns
GetHashCode()
public override int GetHashCode()Returns
Kinematic(Vector2)
A kinematic body at position.
public static BodyDescription Kinematic(Vector2 position)Parameters
position Vector2
Returns
Static(Vector2)
A static body at position.
public static BodyDescription Static(Vector2 position = default)Parameters
position Vector2
Returns
ToString()
public override string ToString()Returns
Validate()
Throws when the description is invalid whatever the backend declares.
public void Validate()Exceptions
The kind is undefined, or the position or rotation is not finite.
A static or dynamic body pushes bodies (only kinematic bodies can).
Operators
operator ==(BodyDescription, BodyDescription)
public static bool operator ==(BodyDescription left, BodyDescription right)Parameters
left BodyDescription
right BodyDescription
Returns
operator !=(BodyDescription, BodyDescription)
public static bool operator !=(BodyDescription left, BodyDescription right)Parameters
left BodyDescription
right BodyDescription