Push universe into events
This commit is contained in:
@@ -23,10 +23,12 @@ On release, remove scancode from the 'Set' of pressed keys.
|
||||
On press, adds the scancode, and perhaps applies a direct effect:
|
||||
see 'handlePressedKeyInGame'.
|
||||
-}
|
||||
handleKeyboardEvent :: KeyboardEventData -> World -> Maybe World
|
||||
handleKeyboardEvent kev w = case keyboardEventKeyMotion kev of
|
||||
Released -> Just $ w & keys %~ S.delete kcode
|
||||
Pressed -> handlePressedKey (keyboardEventRepeat kev) kcode (w & keys %~ S.insert kcode)
|
||||
handleKeyboardEvent :: KeyboardEventData -> Universe -> Maybe Universe
|
||||
handleKeyboardEvent kev u = case keyboardEventKeyMotion kev of
|
||||
Released -> Just $ u & uvWorld . keys %~ S.delete kcode
|
||||
Pressed -> uvWorld
|
||||
(handlePressedKey (keyboardEventRepeat kev) kcode)
|
||||
(u & uvWorld . keys %~ S.insert kcode)
|
||||
where
|
||||
kcode = (keysymScancode . keyboardEventKeysym) kev
|
||||
|
||||
|
||||
Reference in New Issue
Block a user