Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected void HandleInput()
- {
- HandleKeyboard();
- HandleMouse();
- }
- protected void HandleKeyboard()
- {
- List<Keys> pressedKeys = new List<Keys>(Keyboard.GetState().GetPressedKeys());
- foreach( var key in pressedKeys )
- {
- if( m_holdedKeys.Contains( key ) )
- OnKeyHold( key );
- else
- {
- OnKeyPressed(key);
- m_holdedKeys.Add( key );
- }
- }
- foreach( var key in m_holdedKeys )
- if( !pressedKeys.Contains( key ) )
- OnKeyReleased( key );
- m_holdedKeys.RemoveAll( key => !pressedKeys.Contains( key ) );
- }
- protected void HandleMouse()
- {
- MouseState currState = Mouse.GetState();
- Vector2 movement = currState.Position.ToVector2();
- if(m_prevMouseState.LeftButton == ButtonState.Pressed &&
- currState.LeftButton == ButtonState.Pressed)
- {
- movement -= m_prevMouseState.Position.ToVector2();
- OnMouseHold(currState.Position.ToVector2(),movement);
- }
- else if(m_prevMouseState.LeftButton == ButtonState.Pressed &&
- currState.LeftButton != ButtonState.Pressed)
- {
- movement -= m_pressedMousePos;
- OnMouseReleased(currState.Position.ToVector2(),movement);
- }
- else if( currState.LeftButton == ButtonState.Pressed)
- {
- OnMousePressed(currState.Position.ToVector2());
- }
- m_prevMouseState = Mouse.GetState();
- }
- protected void OnKeyPressed( Keys pressedKey )
- {
- switch( pressedKey )
- {
- case Keys.Escape:
- Exit();
- break;
- default:
- break;
- }
- }
- protected void OnKeyHold( Keys holdedKey )
- {
- switch( holdedKey )
- {
- case Keys.D:
- test.Move(new Vector2(5,0));
- break;
- case Keys.A:
- test.Move(new Vector2(-5,0));
- break;
- default:
- break;
- }
- }
- protected void OnKeyReleased( Keys releasedKey )
- {
- }
- protected void OnMousePressed(Vector2 mousePos )
- {
- m_pressedMousePos = mousePos;
- }
- protected void OnMouseHold(Vector2 mousePos, Vector2 movement )
- {
- }
- protected void OnMouseReleased(Vector2 mousePos, Vector2 movement )
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement