我會盡我所能地解釋我的場景;將輸入傳遞給狀態機(c#)
在每個應用程序刻度我查詢鍵盤和鼠標的當前狀態,並將它們包裝在單獨的類和數據結構中。對於鍵盤,它是我的鍵的數組枚舉(每個鍵當前按下的一個項目),對於鼠標來說,它是一個類,其中包含按下的每個按鈕的座標delta和bools。
我也有一個基本的狀態機,通過一個狀態管理器類來管理,該狀態管理器維護堆棧和編組狀態。
我想知道的是,如何最好地將輸入(快照)傳遞給我的應用可以在任何時候處於的狀態?
我想盡可能多地處理遠離各個狀態的輸入,以減少狀態內的重複邏輯。
或者是最好保持輸入快照儘可能純,並將它們傳遞給狀態,以便它們可以保持輸入特定邏輯隱藏?
注意
這種結構類同我如何想象一個遊戲會工作,雖然這個應用程序是不是遊戲它確實需要儘快處理。
我目前正在沿着這些方向努力,所以我會盡快給您發佈。 – 2008-10-28 16:11:05