public bool IsAreaColidedWithTag(string Tag, Vector Position, Vector Scale) { List <Shape> p = Le_Engine.GetShapes(Tag); foreach (Shape s in p) { if (s.Position.Y + s.Scale.Y > Position.Y && Position.Y + Scale.Y > s.Position.Y && s.Position.X + s.Scale.X > Position.X && Position.X + Scale.X > s.Position.X) { GetColidedObject = s; return(true); } } return(false); }
public bool IsColided(IColision Entity, string tag) { List <Shape> p = Le_Engine.GetShapes(tag); foreach (Shape s in p) { if (s.Position.Y + s.Scale.Y > Entity.Position.Y && Entity.Position.Y + Entity.Scale.Y > s.Position.Y && s.Position.X + s.Scale.X > Entity.Position.X && Entity.Position.X + Entity.Scale.X > s.Position.X) { GetColidedObject = s; return(true); } } return(false); }
public static Shape GetClosestShape(Vector Position, string Tag) { List <Shape> shapes = Le_Engine.GetShapes(Tag); if (shapes.Count == 0) { return(null); } Shape CurrentClosest = shapes[0]; foreach (Shape item in shapes) { if (GetDistance(item.Position, Position) < GetDistance(CurrentClosest.Position, Position)) { CurrentClosest = item; } } return(CurrentClosest); }