mirror of
https://github.com/eliasstepanik/2DEngine.git
synced 2026-01-11 04:58:28 +00:00
48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
using System.Numerics;
|
|
using Raylib_cs;
|
|
using RaylibTest.Support;
|
|
|
|
namespace RaylibTest.Shapes;
|
|
|
|
public class Rectangle : GameObject
|
|
{
|
|
public Vector2 Size;
|
|
public Color Color;
|
|
|
|
public Rectangle(Vector2 position, Vector2 size, Color color) : base(position)
|
|
{
|
|
Size = size;
|
|
Color = color;
|
|
}
|
|
|
|
public override void Draw()
|
|
{
|
|
base.Draw();
|
|
Raylib.DrawRectangleV(Position, Size, Color);
|
|
}
|
|
|
|
public bool Intersects(Rectangle other)
|
|
{
|
|
return Raylib.CheckCollisionRecs(
|
|
new Raylib_cs.Rectangle(Position.X,Position.Y,Size.X,Size.Y),
|
|
new Raylib_cs.Rectangle(other.Position.X,other.Position.Y,other.Size.X,other.Size.Y));
|
|
}
|
|
|
|
public bool Intersects(Circle other)
|
|
{
|
|
return Raylib.CheckCollisionCircleRec(
|
|
other.Position, other.Radius,
|
|
new Raylib_cs.Rectangle(Position.X,Position.Y,Size.X,Size.Y));
|
|
}
|
|
|
|
public double DirectionTo(Rectangle other)
|
|
{
|
|
Vector2 otherPosition = other.Position;
|
|
Vector2 position = Position;
|
|
|
|
//Calculate the direction from position to otherPosition
|
|
return Math.Tan((position.Y / position.X));
|
|
|
|
}
|
|
|
|
} |