Esempio n. 1
0
        private Scene GetInitScene()
        {
            Scene scene = new Scene();

            scene.AddObject(new SolidBoxObject2D
            {
                BoxColor = Color4.White,
                Position = new Vec3(3f, 3f, 0f),
                Bounds   = new Vec3(1f, 1f, 0f)
            });

            SolidPolygonObject2D poly = new SolidPolygonObject2D
            {
                PoligonColor = Color4.Gold,
                Position     = new Vec3(-3f, -3f, 0f)
            };

            poly.Points.Add(new Vec3(1f, 1.5f, 0));
            poly.Points.Add(new Vec3(0f, 0, 0));
            poly.Points.Add(new Vec3(2f, 0, 0));
            poly.AddComponentUnsafe <PlayerComponent>();
            scene.AddObject(poly);

            scene.AddObject(new PointsObject2D
            {
                Position   = new Vec3(2, 2, 0),
                PointColor = Color4.White,
                PointSize  = 10
            });
            scene.AddObject(new CircleObject2D
            {
                Position    = new Vec3(3.5f, 1f, 0),
                Bounds      = new Vec3(1, 1, 0),
                Radius      = 0.5f,
                CircleColor = Color4.Red
            });
            scene.AddObject(new TextureRender());

            StaticCamera camera = new StaticCamera();

            camera.Position = new Vec3(0, 0, -10f);
            // camera.AddComponent(new ExceptionComponent());
            scene.AddObject(camera);

            scene.Save("scene.json");

            return(scene);
        }
Esempio n. 2
0
        private Scene GetInitScene()
        {
            Scene scene = new Scene();

            GameObject g1 = new GameObject();

            g1.SetPosition(new Vec3(0f, 0f, 0f))
            .SetBounds(new Vec3(1f, 1f, 0f));

            g1.AddComponent(new SolidBoxObject2D
            {
                Colour = Color4.White
            });
            g1.AddComponent(new RotateComponent());
            scene.AddObject(g1);

            GameObject g2 = new GameObject();

            g2.SetPosition(new Vec3(-2f, -1f, 0f))
            .SetBounds(new Vec3(2f, 2f, 2f));
            g2.AddComponent(new SolidBoxObject3D
            {
                Colour = Color4.Pink,
                Layer  = 99
            });
            //g2.AddComponent(new RotateComponent());
            g2.AddComponent(new BoxCollider());
            RigidBody3D body3D = new RigidBody3D();

            g2.AddComponent(body3D);
            scene.AddObject(g2);

            GameObject plane = new GameObject();

            plane.SetPosition(new Vec3(-5f, -4f, 0f))
            .SetBounds(new Vec3(8f, 2f, 8f));
            plane.AddComponent(new SolidBoxObject3D
            {
                Colour = Color4.Green,
                Layer  = 99
            });
            plane.AddComponent(new BoxCollider());
            RigidBody3D body3D1 = new RigidBody3D();

            plane.AddComponent(body3D1);
            body3D1.RigidBody.IsStatic = true;
            scene.AddObject(plane);

            GameObject           g3   = new GameObject();
            SolidPolygonObject2D poly = new SolidPolygonObject2D
            {
                Colour = Color4.Gold,
            };

            g3.SetPosition(new Vec3(-3f, -3f, 0f));
            poly.Layer = 1;
            poly.Points.Add(new Vec3(1f, 1.5f, 0));
            poly.Points.Add(new Vec3(0f, 0, 0));
            poly.Points.Add(new Vec3(2f, 0, 0));
            g3.AddComponent(poly);
            g3.AddComponent(new RotateComponent());
            scene.AddObject(g3);

            GameObject           g4    = new GameObject();
            SolidPolygonObject3D poly3 = new SolidPolygonObject3D
            {
                Colour = Color4.Gray,
            };

            g4.SetPosition(new Vec3(1f, 1f, 0f))
            .SetBounds(new Vec3(0, 0, 3f));
            poly3.Layer = 1;
            poly3.Points.Add(new Vec3(0, 0));
            poly3.Points.Add(new Vec3(1f, 0));
            poly3.Points.Add(new Vec3(1.5f, 0.86f));
            poly3.Points.Add(new Vec3(1.0f, 1.72f));
            poly3.Points.Add(new Vec3(0, 1.72f));
            poly3.Points.Add(new Vec3(-0.5f, 0.87f));
            g4.AddComponent(poly3);
            g4.AddComponent(new RotateComponent());
            scene.AddObject(g4);

            GameObject g5 = new GameObject();

            g5.SetPosition(new Vec3(2, 2, 0));
            g5.AddComponent(new PointsObject2D
            {
                Colour    = Color4.White,
                PointSize = 10
            }
                            );
            scene.AddObject(g5);

            GameObject g6 = new GameObject();

            g6.AddComponent(new CircleObject2D
            {
                Radius = 0.5f,
                Colour = Color4.Red
            });
            g6.SetPosition(new Vec3(3.5f, 1f, 0))
            .SetBounds(new Vec3(1, 1, 0));
            scene.AddObject(g6);

            GameObject g7 = new GameObject();

            g7.SetBounds(new Vec3(3, 3, 0))
            .SetPosition(new Vec3(-2, -2, 0));
            g7.AddComponent(new RawTexture2D("Images/download.png"));
            scene.AddObject(g7);

            GameObject g8 = new GameObject();

            g8.SetBounds(new Vec3(1, 1, 0))
            .SetPosition(new Vec3(0.5f, 0, 0));
            g8.AddComponent(new TextRenderer(100, 100)
            {
                FontColor = Color.Red,
                Text      = "Hello"
            });
            scene.AddObject(g8);

            IAudio audio = ResourceManager.LoadWave("Sounds/Mixdown2.wav");

            audio.SetLoop(true);
            //audio.Play();

            GameObject physics = new GameObject();
            GlobalPhysicsComponent3D physicsComponent3D = new GlobalPhysicsComponent3D();

            physicsComponent3D.AddRigidBody(g2.GetComponentUnsafe <RigidBody3D>().Value);
            physicsComponent3D.AddRigidBody(plane.GetComponentUnsafe <RigidBody3D>().Value);
            physics.AddComponent(physicsComponent3D);
            scene.AddObject(physics);

            GameObject camera = new GameObject();

            camera.SetPosition(new Vec3(0, 0, -10f));
            camera.AddComponent(new StaticCamera());
            scene.AddObject(camera);
            scene.Save("scene.json");

            return(scene);
        }