Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }