18 lines
628 B
C#
18 lines
628 B
C#
using Syntriax.Engine.Core;
|
|
using Syntriax.Engine.Physics2D.Abstract;
|
|
|
|
namespace Syntriax.Engine.Physics2D;
|
|
|
|
public class Collider2DShapeBehaviour : Collider2DBehaviourBase, IShapeCollider2D
|
|
{
|
|
public Shape2D ShapeWorld { get => _shapeWorld; protected set => _shapeWorld = value; }
|
|
public Shape2D ShapeLocal { get; set; } = Shape2D.Box;
|
|
|
|
private Shape2D _shapeWorld = Shape2D.Box.CreateCopy();
|
|
|
|
public override void CalculateCollider() => Transform.TransformShape(ShapeLocal, ref _shapeWorld);
|
|
|
|
public Collider2DShapeBehaviour() { }
|
|
public Collider2DShapeBehaviour(Shape2D shape) => ShapeLocal = shape;
|
|
}
|