Start creating explicit tutorial map
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
module Dodge.Placement.Instance.Terminal (
|
||||
putMessageTerminal,
|
||||
putImmediateMessageTerminal,
|
||||
putTerminal,
|
||||
terminalColor,
|
||||
) where
|
||||
|
||||
import Dodge.WorldEffect
|
||||
import Color
|
||||
import Data.Maybe
|
||||
import Dodge.Data.GenWorld
|
||||
@@ -13,8 +15,14 @@ import Dodge.SoundLogic
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
putTerminal :: Color -> Machine -> Terminal -> Placement
|
||||
putTerminal col mc tm =
|
||||
putTerminalImediateAccess :: Color -> Machine -> Terminal -> Placement
|
||||
putTerminalImediateAccess = putTerminalFull f
|
||||
where
|
||||
f tmpl _ _ = Just $ sps0 $ PutWorldUpdate $ const $ accessTerminal (tmpl ^?! plMID . _Just)
|
||||
|
||||
putTerminalFull ::(Placement -> Placement -> Placement -> Maybe Placement) -> Color -> Machine -> Terminal ->
|
||||
Placement
|
||||
putTerminalFull f col mc tm =
|
||||
ps0PushPS (PutTerminal (tm & tmExternalColor .~ col)) $
|
||||
\tmpl -> Just $
|
||||
ps0PushPS (PutButton defaultButton) $
|
||||
@@ -27,7 +35,7 @@ putTerminal col mc tm =
|
||||
)
|
||||
defaultSensorWall
|
||||
)
|
||||
$ \mcpl -> Just $ sps0 $ PutWorldUpdate $ const (setids tmpl btpl mcpl)
|
||||
$ \mcpl -> Just $ pt0 (PutWorldUpdate $ const (setids tmpl btpl mcpl)) (\_ -> f tmpl btpl mcpl)
|
||||
where
|
||||
setids tmpl btpl mcpl w =
|
||||
w
|
||||
@@ -40,6 +48,9 @@ putTerminal col mc tm =
|
||||
btid = fromJust (_plMID btpl)
|
||||
mcid = fromJust (_plMID mcpl)
|
||||
|
||||
putTerminal :: Color -> Machine -> Terminal -> Placement
|
||||
putTerminal = putTerminalFull (\_ _ _ -> Nothing)
|
||||
|
||||
putMessageTerminal :: Color -> Terminal -> Placement
|
||||
putMessageTerminal col =
|
||||
putTerminal col $
|
||||
@@ -48,5 +59,13 @@ putMessageTerminal col =
|
||||
& mcType .~ McTerminal
|
||||
& mcHP .~ 100
|
||||
|
||||
putImmediateMessageTerminal :: Color -> Terminal -> Placement
|
||||
putImmediateMessageTerminal col =
|
||||
putTerminalImediateAccess col $
|
||||
defaultMachine
|
||||
& mcColor .~ col
|
||||
& mcType .~ McTerminal
|
||||
& mcHP .~ 100
|
||||
|
||||
terminalColor :: Color
|
||||
terminalColor = dark magenta
|
||||
|
||||
Reference in New Issue
Block a user