2DEngine/RaylibTest/Shapes/Rectangle.cs
2022-07-20 22:35:03 +02:00

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));
}
}