Цитата:
|
Выключатель - контроллер всегда.
|
Вот именно - он контроллирует участок цепи. Лампочка загорается не от того, что нажали на выключатель, а оттого что есть ток. Точно так же нажатая клавиша вовсе не означает выполнение конкретного действия - это только участок цепи, искусственного интеллекта, который определит - "гореть ли лампочке".
Подкатегория... Щас мозг лопнет, не могу придумать игру с персонажем, не взаимодействующим с миром. В чем же геймплей? Это команды "почесать нос" и "закурить". Или игра "Вы стоите посреди плоской пустыни, дойдите до края" - и то придется проверять, дошел или нет. Я серьезно. О каких играх Вы говорите?
В том что такой класс, заменяющий код клавиши на строковую константу из списка путем долгих превращений и рассылки событий, избыточен. Более чем достаточно получить событие "нажали/отжали клавишу" и спросить у модели-"блокнота" его текущее состояние, на основании которого изменить состояние модели мир+персонаж.
Задам Вам Ваш же вопрос - как Вы собираетесь использовать этот класс? Что будет происходить дальше, там где сейчас стоят трейсы типов событий? Можно на варианте с одним обработчиком, не важно...
(...Вы просили указать косяк, я высказываю свое мнение...)
Добавлено через 21 минуту
Летающий в пустоте вертолет - принято. Хороший пример. А игра в чем?