{-# 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))