Files
loop/src/Dodge/WdP2f.hs
T
2024-10-22 10:48:44 +01:00

18 lines
462 B
Haskell

{-# OPTIONS -Wno-incomplete-uni-patterns #-}
module Dodge.WdP2f
( doWdP2f
) where
import Control.Lens
import Dodge.Data.World
import Geometry.Data
import Geometry.Vector
-- # OPTIONS -Wno-incomplete-uni-patterns #-}
doWdP2f :: WdP2f -> World -> (Point2, Float)
doWdP2f x = case x of
WdP2f0 -> const (0, 0)
WdP2fDoorPosition drid -> \w ->
let Just (a, b) = w ^? cWorld . lWorld . doors . ix drid . drPos
in (b, argV (a -.- b))