Move GenWorld update of placements into product type

This commit is contained in:
2022-03-16 09:39:07 +00:00
parent 5aeb04ba05
commit 2dc94b85da
8 changed files with 32 additions and 35 deletions
+1 -1
View File
@@ -149,7 +149,7 @@ spanLSLightI ls h a b = ps0j (PutLS $ ls & lsParam . lsPos .~ V3 x y h)
V2 x y = 0.5 *.* (a +.+ b)
spanLS :: LightSource -> Point2 -> Point2 -> Placement
spanLS ls a b = Placement (PS (V2 x y) 0) (PutLS ls) Nothing
spanLS ls a b = Placement (PS (V2 x y) 0) (PutLS ls) Nothing Nothing
$ const $ Just $ sps0 $ PutShape $ thinHighBar h a b
where
V3 _ _ h = _lsPos (_lsParam ls) + 5
+4 -2
View File
@@ -17,7 +17,7 @@ import Shape
import Data.Maybe
putTerminal :: (GenParams -> TerminalParams) -> Placement
putTerminal f = PlacementGenUpdate g $ ps0PushPS (PutButton thebutton)
putTerminal f = plGenUpdate ?~ g $ ps0PushPS (PutButton thebutton)
$ \pl -> Just $ pt0 (PutMachine terminalColor (reverse $ square 10) defaultMachine
{ _mcDraw = drawTerminal
, _mcHP = 100
@@ -27,7 +27,9 @@ putTerminal f = PlacementGenUpdate g $ ps0PushPS (PutButton thebutton)
})
$ const Nothing
where
g gp pl = (gp, pl & plType . pstPutButton . btTerminalParams .~ f gp)
g gp pl = (gp, pl & plType . pstPutButton . btTerminalParams .~ f gp
& plGenUpdate .~ Nothing
)
thebutton = Button
{ _btPict = const mempty
, _btPos = 0