Esempio n. 1
0
        private void ProcessMovement(GameTime gameTime, Moveable moveable, KeyboardStateExtended keyboardState)
        {
            var normalizedMotion = Vector2.Zero;

            if (keyboardState.IsKeyDown(Keys.W))
            {
                normalizedMotion += new Vector2(0, -1);
            }

            if (keyboardState.IsKeyDown(Keys.S))
            {
                normalizedMotion += new Vector2(0, 1);
            }

            if (keyboardState.IsKeyDown(Keys.A))
            {
                normalizedMotion += new Vector2(-1, 0);
            }

            if (keyboardState.IsKeyDown(Keys.D))
            {
                normalizedMotion += new Vector2(1, 0);
            }

            moveable.Velocity = normalizedMotion * moveable.Speed * (float)gameTime.ElapsedGameTime.TotalSeconds;
        }
Esempio n. 2
0
        public void Update(WpfKeyboard keyboard, WpfMouse mouse)
        {
            PreviousKeyboardState = CurrentKeyboardState;
            CurrentKeyboardState  = keyboard.GetState();
            KeyboardStateExtended = new KeyboardStateExtended(CurrentKeyboardState, PreviousKeyboardState);

            PreviousMouseState = CurrentMouseState;
            CurrentMouseState  = mouse.GetState();
            MouseStateExtended = new MouseStateExtended(CurrentMouseState, PreviousMouseState);
        }
 public override void Paint(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition)
 {
     if (keyboardState.IsControlDown())
     {
         map.CollisionLayer.UpdateCell(false, cellPosition.Coordinates.X, cellPosition.Coordinates.Y);
     }
     else
     {
         map.CollisionLayer.UpdateCell(true, cellPosition.Coordinates.X, cellPosition.Coordinates.Y);
     }
 }
        protected override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
            if (!form.ContainsFocus)
            {
                return;
            }

            HandleViewportSizeChange();

            MouseStateExtended    mouseState    = MouseExtended.GetState();
            KeyboardStateExtended keyboardState = KeyboardExtended.GetState();
            Point   mousePosition = mouseState.Position;
            Vector2 worldPosition = camera.ScreenToWorld(mousePosition.ToVector2());

            TileLayer.TilePositionDetail      tilePositionDetail = myMap.GetTileAtPosition(worldPosition, ActiveLayer);
            CollisionLayer.CellPositionDetail cellPositionDetail = myMap.GetCellAtPosition(worldPosition);
            Tile tile = tilePositionDetail.Tile;

            if (mouseState.IsButtonDown(MouseButton.Right))
            {
                camera.Move(mouseState.DeltaPosition.ToVector2() / camera.Zoom);
            }
            else if (mouseState.DeltaScrollWheelValue != 0)
            {
                camera.Zoom = MathHelper.Clamp(camera.Zoom - mouseState.DeltaScrollWheelValue * 0.001f, camera.MinimumZoom, camera.MaximumZoom);
            }

            if (ActivePaintingTool != null)
            {
                if (ActivePaintingTool.IsValidPosition(myMap, keyboardState, tilePositionDetail, cellPositionDetail))
                {
                    if (mouseState.IsButtonDown(MouseButton.Left))
                    {
                        ActivePaintingTool.Paint(myMap, keyboardState, tilePositionDetail, cellPositionDetail);
                    }
                    else
                    {
                        ActivePaintingTool.Hover(myMap, keyboardState, tilePositionDetail, cellPositionDetail);
                    }
                }
            }
        }
Esempio n. 5
0
        public void MovePaddlePlayer(KeyboardStateExtended keyState, int screenHeight)
        {
            if (keyState.IsKeyDown(Keys.Up))
            {
                Position.Y -= Velocity;
            }
            else if (keyState.IsKeyDown(Keys.Down))
            {
                Position.Y += Velocity;
            }

            if (BoundingRectangle.Top < 0)
            {
                Position.Y = BoundingRectangle.Height / 2f;
            }

            if (BoundingRectangle.Bottom > screenHeight)
            {
                Position.Y = screenHeight - BoundingRectangle.Height / 2f;
            }
        }
 public override bool IsValidPosition(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition)
 {
     return(cellPosition.IsValidPosition);
 }
 public override void Hover(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition)
 {
 }
 public abstract void Paint(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition);
 public abstract bool IsValidPosition(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition);
Esempio n. 10
0
 public void Update(WpfKeyboard keyboard)
 {
     PreviousKeyboardState = CurrentKeyboardState;
     CurrentKeyboardState  = keyboard.GetState();
     KeyboardStateExtended = new KeyboardStateExtended(CurrentKeyboardState, PreviousKeyboardState);
 }
Esempio n. 11
0
 public static void Update()
 {
     _currentKeyboardState = KeyboardExtended.GetState();
 }
Esempio n. 12
0
 public override void Paint(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition)
 {
     tilePosition.Tile.TilesetIndex = BrushTile.TilesetIndex;
     tilePosition.Tile.TileIndex    = BrushTile.TileIndex;
 }
Esempio n. 13
0
 public override void Hover(Map map, KeyboardStateExtended keyboardState, TileLayer.TilePositionDetail tilePosition, CollisionLayer.CellPositionDetail cellPosition)
 {
     map.AddImmediateTile(tilePosition.Coordinates.X, tilePosition.Coordinates.Y, BrushTile);
 }