This commit is contained in:
2023-04-25 15:46:03 +01:00
parent d217fe7375
commit 35990c53bf
+19
View File
@@ -0,0 +1,19 @@
module Dodge.WASD where
import Data.Foldable
import qualified Data.Map.Strict as M
import Dodge.Data.Input
import Geometry
import qualified SDL
wasdM :: SDL.Scancode -> Point2
wasdM scancode = case scancode of
SDL.ScancodeW -> V2 0 1
SDL.ScancodeS -> V2 0 (-1)
SDL.ScancodeD -> V2 1 0
SDL.ScancodeA -> V2 (-1) 0
_ -> V2 0 0
wasdDir :: Input -> Point2
{-# INLINE wasdDir #-}
wasdDir = foldl' (flip $ (+.+) . wasdM) (V2 0 0) . M.keys . _pressedKeys