以下のコードには満足できないものがあります。開発するにつれてbGameState
、さらにイベントを追加します。playerInputE
(そして私は other を想像します) が同じ初期値を共有しているという事実はEvents
問題につながりますか? 言い換えれば、私の最初の設計は、構築するのに十分な音ですか?
また、使用に代わるものはありchanges
ますか? 正しい使用基準を満たしていると思いますが、よくわかりません。
makeNetworkDescription :: AddHandler PlayerCommand ->
TChan GameState ->
IO EventNetwork
makeNetworkDescription addCommandEvent gsChannel = compile $ do
eInput <- fromAddHandler addCommandEvent
let playerInputE = accumE initialGS $ updateGS <$> eInput
bGameState = stepper initialGS playerInputE
eGameState <- changes bGameState
reactimate $ (\n -> (atomically $ writeTChan gsChannel n)) <$> eGameState