29 lines
		
	
	
		
			695 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			695 B
		
	
	
	
		
			C#
		
	
	
	
	
	
using Engine.Core;
 | 
						|
 | 
						|
namespace Engine.Physics2D;
 | 
						|
 | 
						|
public class Collider2DShape : Collider2DBase, IShapeCollider2D
 | 
						|
{
 | 
						|
    public Shape2D ShapeWorld { get => _shapeWorld; protected set => _shapeWorld = value; }
 | 
						|
    public Shape2D ShapeLocal
 | 
						|
    {
 | 
						|
        get => _shapeLocal;
 | 
						|
        set
 | 
						|
        {
 | 
						|
            _shapeLocal = value;
 | 
						|
            NeedsRecalculation = true;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    private Shape2D _shapeWorld = Shape2D.Square;
 | 
						|
    private Shape2D _shapeLocal = Shape2D.Square;
 | 
						|
 | 
						|
    public override void CalculateCollider() => ShapeLocal.Transform(Transform, _shapeWorld);
 | 
						|
 | 
						|
    public Collider2DShape() { }
 | 
						|
    public Collider2DShape(Shape2D shape)
 | 
						|
    {
 | 
						|
        ShapeLocal = shape;
 | 
						|
    }
 | 
						|
}
 |