14 lines
350 B
Haskell
14 lines
350 B
Haskell
module Dodge.WdP2f where
|
|
|
|
import Control.Lens
|
|
import Dodge.Data.World
|
|
import Geometry.Data
|
|
import Geometry.Vector
|
|
|
|
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))
|