Exemple #1
0
        protected override void LoadContent()
        {
            _spriteBatch = new SpriteBatch(Globals.GraphicsDevice);

            ScreenUtility.InitGraphicsMode(800, 480, false);

            var circle = new CircularExtent();

            circle.Reset(new Vector2(100, 100), 50);
            circle.ReAnchor(circle.Center);
            _extents[0] = circle;

            circle = new CircularExtent();
            circle.Reset(new Vector2(300, 300), 75);
            circle.ReAnchor(circle.Center);
            _extents[1] = circle;

            var vertices = new List <Vector2>();

            vertices.Add(new Vector2(300, 300));
            vertices.Add(new Vector2(400, 300));
            vertices.Add(new Vector2(420, 400));
            vertices.Add(new Vector2(350, 450));
            vertices.Add(new Vector2(280, 400));

            var poly = new PolygonExtent();

            poly.Reset(vertices);
            poly.ReAnchor(poly.Center);
            _extents[2] = poly;

            vertices.Clear();
            Vector2 offset = new Vector2(300, 100);

            vertices.Add(offset + new Vector2(0, 0));
            vertices.Add(offset + new Vector2(50, 0));
            vertices.Add(offset + new Vector2(50, -50));
            vertices.Add(offset + new Vector2(100, -50));
            vertices.Add(offset + new Vector2(100, 0));
            vertices.Add(offset + new Vector2(150, 0));
            vertices.Add(offset + new Vector2(150, 50));
            vertices.Add(offset + new Vector2(100, 50));
            vertices.Add(offset + new Vector2(100, 100));
            vertices.Add(offset + new Vector2(50, 100));
            vertices.Add(offset + new Vector2(50, 50));
            vertices.Add(offset + new Vector2(0, 50));

            poly = new PolygonExtent();
            poly.Reset(vertices);
            poly.ReAnchor(poly.Center);
            _extents[3] = poly;

            var composite = new CompositeExtent();

            var child1 = new CircularExtent();

            child1.Reset(new Vector2(50, 50), 50);
            child1.ReAnchor(circle.Center);

            vertices = new List <Vector2>();

            vertices.Add(new Vector2(100, 100));
            vertices.Add(new Vector2(200, 100));
            vertices.Add(new Vector2(200, 200));
            vertices.Add(new Vector2(100, 200));

            var child2 = new PolygonExtent();

            child2.Reset(vertices);
            child2.ReAnchor(poly.Center);

            composite.Add(child1);
            composite.Add(child2);

            _extents[4]    = composite;
            _contentLoaded = true;
        }