我会尽力解释我的情况;
在每个应用程序滴答声中,我都会查询键盘和鼠标的当前状态,并将它们包装在单独的类和数据结构中。对于键盘,它是我的Keys枚举数组(当前按下的每个键的一个项目),对于鼠标,它是一个包含每个按下按钮的坐标增量和布尔值的类。
我还有一个通过状态管理器类管理的基本状态机,它维护堆栈并编组状态。
我想知道的是,如何最好地将输入(快照)传递给我的应用程序可以随时处于的各个状态?
我想尽可能多地处理远离各个状态的输入,以减少状态内的重复逻辑。
或者最好保持输入快照尽可能纯净并将它们传递给状态,以便它们可以保持输入特定逻辑隐藏?
注意
这种结构类似于我想象的游戏的工作方式,虽然这个应用程序不是游戏,但它确实需要尽快处理。