40 lines
987 B
C
40 lines
987 B
C
|
|
#pragma once
|
|||
|
|
#include<Windows.h>
|
|||
|
|
#include"../event/Event.h"
|
|||
|
|
#include"DKey.h"
|
|||
|
|
#include<iostream>
|
|||
|
|
class Input
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
Input();
|
|||
|
|
~Input();
|
|||
|
|
void HandelInput(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
|||
|
|
void HandelMouseInput(int p_x, int p_y);
|
|||
|
|
bool IsKeyDown(dKey p_key);
|
|||
|
|
void ClearEvents();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BUG<55><47><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
std::pair<int, int>GetMousePosition() { return m_mousePosition; };
|
|||
|
|
private:
|
|||
|
|
void OnKeyDown(int p_key);
|
|||
|
|
void OnKeyUp(int p_key);
|
|||
|
|
void OnMouseButtonDown(int p_mouseButton);
|
|||
|
|
void OnMouseButtonUp(int p_mouseButton);
|
|||
|
|
void OnMouseMove(int p_x, int p_y);
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
Event<int> KeyDown;
|
|||
|
|
Event<int> KeyUp;
|
|||
|
|
Event<int> MouseButtonDown;
|
|||
|
|
Event<int> MouseButtonUp;
|
|||
|
|
Event<int, int> MouseMoving;//<2F><>position
|
|||
|
|
Event<int, int> MouseMove;//<2F><>delta position
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
std::vector<dKey> downKeys;
|
|||
|
|
std::pair<int, int> m_mousePosition;
|
|||
|
|
ListenerID keyDownID;
|
|||
|
|
ListenerID keyUpID;
|
|||
|
|
ListenerID mouseButtonDownID;
|
|||
|
|
ListenerID mouseButtonUpID;
|
|||
|
|
ListenerID mouseMovingID;
|
|||
|
|
};
|