Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading.Tasks;
- namespace Piss_of_Motch
- {
- public class Input
- {
- enum KeyState { None, Down, Up }
- Dictionary<SFML.Window.Keyboard.Key, KeyState> keys = new Dictionary<SFML.Window.Keyboard.Key, KeyState>();
- Dictionary<int, KeyState> mouseButtons = new Dictionary<int, KeyState>();
- public void KeyPressed(object sender, EventArgs e)
- {
- SetKey(((SFML.Window.KeyEventArgs)e).Code, KeyState.Down);
- }
- public void KeyReleased(object sender, EventArgs e)
- {
- SetKey(((SFML.Window.KeyEventArgs)e).Code, KeyState.Up);
- }
- public void MouseButtonPressed(object sender, EventArgs e)
- {
- SetMouseButton((int)((SFML.Window.MouseButtonEventArgs)e).Button, KeyState.Down);
- }
- public void MouseButtonReleased(object sender, EventArgs e)
- {
- SetMouseButton((int)((SFML.Window.MouseButtonEventArgs)e).Button, KeyState.Up);
- }
- void SetKey(SFML.Window.Keyboard.Key key, KeyState state)
- {
- if (keys.ContainsKey(key)) keys[key] = state;
- else keys.Add(key, state);
- }
- void SetMouseButton(int key, KeyState state)
- {
- if (mouseButtons.ContainsKey(key)) mouseButtons[key] = state;
- else mouseButtons.Add(key, state);
- }
- KeyState _GetKey(SFML.Window.Keyboard.Key key)
- {
- if (keys.ContainsKey(key)) return keys[key];
- else return KeyState.None;
- }
- KeyState _GetMouseButton(int button)
- {
- if (mouseButtons.ContainsKey(button)) return mouseButtons[button];
- else return KeyState.None;
- }
- public void Update()
- {
- keys.Clear();
- mouseButtons.Clear();
- }
- public static bool GetKeyDown(SFML.Window.Keyboard.Key key)
- {
- return (Game.input._GetKey(key) == KeyState.Down);
- }
- public static bool GetKey(SFML.Window.Keyboard.Key key)
- {
- return SFML.Window.Keyboard.IsKeyPressed(key);
- }
- public static bool GetKeyUp(SFML.Window.Keyboard.Key key)
- {
- return (Game.input._GetKey(key) == KeyState.Up);
- }
- public static bool GetMouseButtonDown(int button)
- {
- return (Game.input._GetMouseButton(button) == KeyState.Down);
- }
- public static bool GetMouseButton(int button)
- {
- return SFML.Window.Mouse.IsButtonPressed((SFML.Window.Mouse.Button)Enum.ToObject(typeof(SFML.Window.Mouse.Button), button));
- }
- public static bool GetMouseButtonUp(int button)
- {
- return (Game.input._GetMouseButton(button) == KeyState.Up);
- }
- public static Vector2 mousePosition
- {
- get
- {
- SFML.Window.Vector2i vec = SFML.Window.Mouse.GetPosition(Game.graphics.window);
- return new Vector2(vec.X, vec.Y);
- }
- }
- public static Vector2 worldMousePosition
- {
- get
- {
- SFML.Window.Vector2f vec = Game.graphics.window.MapPixelToCoords(SFML.Window.Mouse.GetPosition(Game.graphics.window));
- return new Vector2(vec.X, vec.Y);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement