Move machine update into outside function

This commit is contained in:
2022-07-14 21:01:53 +01:00
parent ad33ddd569
commit 5463328d41
13 changed files with 130 additions and 92 deletions
+8 -6
View File
@@ -10,7 +10,7 @@ module Dodge.Placement.Instance.Terminal
import Dodge.Data
import Dodge.LevelGen.Data
import Dodge.Default
import Dodge.Machine
--import Dodge.Machine
import Dodge.SoundLogic
import Dodge.Terminal
import Color
@@ -26,13 +26,15 @@ import Data.Maybe
putTerminal''
:: Machine
-> Terminal
-> (Int -> Machine -> World -> World) -- | machine update, takes button id as input
-- -> (Int -> Machine -> World -> World) -- | machine update, takes button id as input
-> Placement
putTerminal'' mc tm mcf = ps0PushPS (PutTerminal tm)
putTerminal'' mc tm --mcf
= ps0PushPS (PutTerminal tm)
$ \tmpl -> Just $ ps0PushPS (PutButton termButton)
$ \btpl -> Just $ pt0 (PutMachine (reverse $ square 10)
(mc & mcUpdate %~ (\fmu mc' -> mcf (fromJust $ _plMID btpl) mc' . fmu mc') . machineAddSound fridgeHumS
(mc -- & mcUpdate %~ (\fmu mc' -> mcf (fromJust $ _plMID btpl) mc' . fmu mc') . machineAddSound fridgeHumS
& mcMounts . at ObButton ?~ fromJust (_plMID btpl)
& mcCloseSound ?~ fridgeHumS
) )
$ \mcpl -> Just $ sps0 $ PutWorldUpdate $ const (setids tmpl btpl mcpl)
where
@@ -49,7 +51,7 @@ putTerminal'' mc tm mcf = ps0PushPS (PutTerminal tm)
putTerminal'
:: Color
-> Terminal
-> (Int -> Machine -> World -> World) -- | machine update, takes button id as input
-- -> (Int -> Machine -> World -> World) -- | machine update, takes button id as input
-> Placement
putTerminal' col = putTerminal'' (defaultMachine
& mcColor .~ col)
@@ -59,7 +61,7 @@ putTerminal' col = putTerminal'' (defaultMachine
}
putTerminal :: Color -> Terminal -> Placement
putTerminal col f = putTerminal'' (mc & mcColor .~ col) f (\_ -> basicMachineUpdate $ const id)
putTerminal col f = putTerminal'' (mc & mcColor .~ col) f -- (\_ -> basicMachineUpdate $ const id)
where
mc = defaultMachine
{ _mcDraw = terminalSPic