31 lines
781 B
Python
31 lines
781 B
Python
import pygame
|
|
|
|
|
|
class InputManager:
|
|
QUIT = 0
|
|
IDLE = 1
|
|
LEFT = 2
|
|
RIGHT = 3
|
|
UP = 4
|
|
DOWN = 5
|
|
|
|
def __init__(self):
|
|
self.__key_map_dict = {
|
|
pygame.K_ESCAPE: InputManager.QUIT,
|
|
pygame.K_LEFT: InputManager.LEFT,
|
|
pygame.K_RIGHT: InputManager.RIGHT,
|
|
pygame.K_UP: InputManager.UP,
|
|
pygame.K_DOWN: InputManager.DOWN
|
|
}
|
|
|
|
def process_input(self) -> int:
|
|
last_input = InputManager.IDLE
|
|
|
|
for event in pygame.event.get():
|
|
if event.type == pygame.QUIT:
|
|
last_input = InputManager.QUIT
|
|
elif event.type == pygame.KEYDOWN:
|
|
last_input = self.__key_map_dict.get(event.key, InputManager.IDLE)
|
|
|
|
return last_input
|