Example #1
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            MouseState m = Mouse.GetState();

            if (previousMouse.LeftButton == ButtonState.Pressed && m.LeftButton == ButtonState.Pressed)
            {
                float   sensitivity = 0.01f;
                Vector2 move        = new Vector2(m.X - previousMouse.X, m.Y - previousMouse.Y) * sensitivity;

                world *= Matrix.CreateRotationY(move.X);
                world *= Matrix.CreateRotationX(-move.Y);
            }
            previousMouse = m;

            KeyboardState k = Keyboard.GetState();

            if (previousKeyboard.IsKeyDown(Keys.Up) && k.IsKeyUp(Keys.Up))
            {
                foreach (var face in mesh.Faces.Cast <ProceduralFace>().Where(a => a.Development != null))
                {
                    var d = face.Develop();
                    diminisher = diminisher ?? d;

                    mesh.CleanEdges();
                    mesh.CleanVertices();
                }
            }

            if (previousKeyboard.IsKeyDown(Keys.Down) && k.IsKeyUp(Keys.Down))
            {
                if (diminisher != null)
                {
                    if (!diminisher.DeleteLeaves())
                    {
                        diminisher = null;
                    }
                }
            }
            previousKeyboard = k;

            base.Update(gameTime);
        }
Example #2
0
 public GableRoof(Mesh m, FaceDiminishment parentDiminish)
     : base(m, parentDiminish)
 {
 }
Example #3
0
 public HouseWall(Mesh mesh, FaceDiminishment parent)
     : base(mesh, parent)
 {
 }
Example #4
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            MouseState m = Mouse.GetState();
            if (previousMouse.LeftButton == ButtonState.Pressed && m.LeftButton == ButtonState.Pressed)
            {
                float sensitivity = 0.01f;
                Vector2 move = new Vector2(m.X - previousMouse.X, m.Y - previousMouse.Y) * sensitivity;

                world *= Matrix.CreateRotationY(move.X);
                world *= Matrix.CreateRotationX(-move.Y);
            }
            previousMouse = m;

            KeyboardState k = Keyboard.GetState();
            if (previousKeyboard.IsKeyDown(Keys.Up) && k.IsKeyUp(Keys.Up))
                foreach (var face in mesh.Faces.Cast<ProceduralFace>().Where(a => a.Development != null))
                {
                    var d = face.Develop();
                    diminisher = diminisher ?? d;

                    mesh.CleanEdges();
                    mesh.CleanVertices();
                }

            if (previousKeyboard.IsKeyDown(Keys.Down) && k.IsKeyUp(Keys.Down))
            {
                if (diminisher != null)
                {
                    if (!diminisher.DeleteLeaves())
                        diminisher = null;
                }
            }
            previousKeyboard = k;

            base.Update(gameTime);
        }
 public HouseWall(Mesh mesh, FaceDiminishment parent)
     : base(mesh, parent)
 {
 }
Example #6
0
 public GableRoof(Mesh m, FaceDiminishment parentDiminish)
     : base(m, parentDiminish)
 {
 }
Example #7
0
 public WindowWallSection(Mesh mesh, FaceDiminishment parent)
     : base(mesh, parent)
 {
 }
 public WindowWallSection(Mesh mesh, FaceDiminishment parent)
     : base(mesh, parent)
 {
 }