Я постараюсь объяснить свой сценарий как можно лучше;
В каждом приложении отметьте Я запрашиваю текущее состояние клавиатуры и мыши и заключаю их в отдельные классы и структуры данных. Для клавиатуры это массив моего перечисления Keys (один элемент для каждой из клавиш, которые в данный момент нажаты), а для мыши это класс, содержащий координаты дельты и bools для каждой нажатой кнопки.
У меня также есть элементарный конечный автомат, управляемый через класс менеджера состояний, который поддерживает стек и маршаллизирует состояния.
Все, что я хочу знать, - это как лучше передать входные данные (снимки) отдельным состояниям, в которых мое приложение может находиться в любой момент времени?
Я бы хотел обработать как можно больше входных данных от отдельных состояний, чтобы уменьшить повторяющуюся логику в этих состояниях.
Или лучше было бы сохранить входные снимки настолько чистыми, насколько это возможно, и передавать их в состояния, чтобы они могли сохранять скрытую логику ввода?
Примечание
Эта структура похожа на то, как я представляю, что игра будет работать, и хотя это приложение не является игрой, его нужно обрабатывать как можно быстрее.