Exemple #1
0
        public Vector GetCenterVector()
        {
            switch (Shape)
            {
            case Shapes.RECTANGLE:
                var lowestY  = ShapeCords.OrderByDescending(x => x.Y).First();
                var highestY = ShapeCords.OrderBy(x => x.Y).First();
                var lowestX  = ShapeCords.OrderByDescending(x => x.X).First();
                var highestX = ShapeCords.OrderBy(x => x.X).First();

                // in terms check
                return(new Vector((highestX.X + lowestX.X) / 2, (highestY.Y + lowestY.Y) / 2));

                break;
            }

            return(ShapeCords[0]);
        }
Exemple #2
0
        public bool IsVectorInShape(Vector position)
        {
            switch (Shape)
            {
            case Shapes.RECTANGLE:
                var lowestY  = ShapeCords.OrderByDescending(x => x.Y).First();
                var highestY = ShapeCords.OrderBy(x => x.Y).First();
                var lowestX  = ShapeCords.OrderByDescending(x => x.X).First();
                var highestX = ShapeCords.OrderBy(x => x.X).First();

                // in terms check
                if (position.X > lowestX.X && position.X < highestX.X && position.Y > lowestY.Y &&
                    position.Y < highestY.Y)
                {
                    return(true);
                }
                break;
            }

            return(false);
        }