/
i_918
/
Vault_Escape
Обзор
Документация
Войти
/
i_918
/
Vault_Escape
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/systems/input_handler.py
39 строк
1 KB
Chepur Ilya
перекроил архитектуру
18 июн 2026, 00:44
18 июн 2026, 00:44
6df0fa3
Код
Авторство
О чём код?
import pygame from src.core.event_bus import bus from src.core.events import Events class InputHandler: def __init__(self): self.move_keys = { pygame.K_UP: "UP", pygame.K_DOWN: "DOWN", pygame.K_LEFT: "LEFT", pygame.K_RIGHT: "RIGHT", } self.action_keys = { pygame.K_SPACE: "WAIT", pygame.K_h: "USE_STIMPAK", pygame.K_ESCAPE: "PAUSE", pygame.K_s: "SAVE", } def handle_events(self, events): for event in events: if event.type == pygame.KEYDOWN: if event.key in self.move_keys: bus.publish( "PLAYER_MOVE_REQUEST", {"direction": self.move_keys[event.key]} ) elif event.key in self.action_keys: action = self.action_keys[event.key] if action == "WAIT": bus.publish(Events.PLAYER_WAIT_REQUEST, {}) elif action == "USE_STIMPAK": bus.publish(Events.PLAYER_USE_STIMPAK, {}) elif action == "SAVE": bus.publish(Events.GAME_SAVE_REQUEST, {}) elif action == "PAUSE": bus.publish(Events.PLAYER_PAUSE, {})