Remove explicit external terminal color record
This commit is contained in:
@@ -11,7 +11,6 @@ module Dodge.Data.Machine (
|
||||
module Dodge.Data.GenParams,
|
||||
) where
|
||||
|
||||
import Color
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
@@ -31,7 +30,7 @@ data Machine = Machine
|
||||
, _mcMaterial :: Material
|
||||
, _mcPos :: Point2
|
||||
, _mcDir :: Float
|
||||
, _mcColor :: Color
|
||||
-- , _mcColor :: Color
|
||||
, _mcHP :: Int
|
||||
, _mcDamage :: [Damage]
|
||||
, _mcType :: MachineType
|
||||
@@ -45,6 +44,8 @@ data MachineType
|
||||
| McDamSensor DamageSensor
|
||||
| McProxSensor ProximitySensor
|
||||
| McTurret {_mctTurret :: Turret}
|
||||
-- | McStorage
|
||||
-- | McDistributer
|
||||
|
||||
data Turret = Turret
|
||||
{ _tuWeapon :: Int
|
||||
|
||||
@@ -21,7 +21,6 @@ data Terminal = Terminal
|
||||
, _tmBootLines :: [TerminalLine]
|
||||
, _tmButtonID :: Int
|
||||
, _tmMachineID :: Int
|
||||
, _tmExternalColor :: Color
|
||||
, _tmDisplayedLines :: [(String, Color)]
|
||||
, _tmFutureLines :: [TerminalLine]
|
||||
, _tmCommands :: [TCom]
|
||||
|
||||
@@ -32,7 +32,6 @@ defaultMachine =
|
||||
Machine
|
||||
{ _mcID = 0
|
||||
, _mcWallIDs = mempty
|
||||
, _mcColor = white
|
||||
, _mcPos = V2 0 0
|
||||
, _mcDir = 0
|
||||
, _mcHP = 1000
|
||||
|
||||
@@ -3,9 +3,7 @@ module Dodge.Default.Terminal
|
||||
) where
|
||||
|
||||
import Dodge.Data.Terminal.Status
|
||||
import Color
|
||||
import Dodge.Data.Terminal
|
||||
--import Dodge.Data.WorldEffect
|
||||
|
||||
defaultTerminal :: Terminal
|
||||
defaultTerminal =
|
||||
@@ -21,7 +19,7 @@ defaultTerminal =
|
||||
, _tmStatus = TerminalOff
|
||||
, _tmCommandHistory = []
|
||||
, _tmToggles = mempty
|
||||
, _tmExternalColor = dark magenta
|
||||
-- , _tmExternalColor = dark magenta
|
||||
}
|
||||
|
||||
--defaultTerminalInput :: TerminalInput
|
||||
|
||||
@@ -46,7 +46,7 @@ terminalShape lw mc = fromMaybe mempty $ do
|
||||
term <- lw ^? terminals . ix tid
|
||||
return $
|
||||
colorSH
|
||||
(_tmExternalColor term)
|
||||
(mcColor mc)
|
||||
( prismBox
|
||||
Medium
|
||||
Typical
|
||||
@@ -68,11 +68,20 @@ terminalShape lw mc = fromMaybe mempty $ do
|
||||
drawBaseMachine :: Float -> Machine -> SPic
|
||||
drawBaseMachine h mc =
|
||||
noPic
|
||||
. colorSH (_mcColor mc)
|
||||
. colorSH (mcColor mc)
|
||||
. upperBox Medium Typical h
|
||||
. square
|
||||
$ _mcWidth mc
|
||||
|
||||
mcColor :: Machine -> Color
|
||||
mcColor mc = case mc ^. mcType of
|
||||
McStatic -> blue
|
||||
McTerminal -> dark magenta
|
||||
McDamSensor {} -> yellow
|
||||
McProxSensor {} -> aquamarine
|
||||
McTurret {} -> blue
|
||||
|
||||
|
||||
drawTurret :: LWorld -> Turret -> Machine -> SPic
|
||||
drawTurret lw tu mc = fold $ do
|
||||
itm <- lw ^? items . ix (tu ^. tuWeapon)
|
||||
|
||||
@@ -3,7 +3,6 @@ module Dodge.Placement.Instance.Analyser (
|
||||
analyserWithPrompt,
|
||||
) where
|
||||
|
||||
import Color
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Default
|
||||
import Dodge.Placement.Instance
|
||||
@@ -18,7 +17,6 @@ analyserWithPrompt l pst pslight psmc = extTrigLitPos pslight $ \tp ->
|
||||
Just $
|
||||
plSpot .~ psmc $
|
||||
putTerminal
|
||||
(dark magenta)
|
||||
(themachine & mcMounts . at OTTrigger .~ _plMID tp)
|
||||
tparams
|
||||
where
|
||||
@@ -26,7 +24,6 @@ analyserWithPrompt l pst pslight psmc = extTrigLitPos pslight $ \tp ->
|
||||
defaultTerminal & tmStatus .~ TerminalLineRead
|
||||
& tmFutureLines .~ l
|
||||
themachine =
|
||||
defaultMachine & mcColor .~ aquamarine
|
||||
& mcType .~ McTerminal
|
||||
defaultMachine -- & mcColor .~ aquamarine
|
||||
& mcHP .~ 10000
|
||||
& mcType .~ McProxSensor (ProxSensor pst Nothing)
|
||||
|
||||
@@ -3,7 +3,6 @@ module Dodge.Placement.Instance.Sensor (
|
||||
damageSensor,
|
||||
) where
|
||||
|
||||
import Color
|
||||
import Control.Lens
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Default
|
||||
@@ -18,7 +17,7 @@ damageSensor dt wdth mtrid ps = pContID ps (PutLS $ lsPosCol (V3 0 0 30) 0.1) $
|
||||
PutMachine
|
||||
(reverse $ square wdth)
|
||||
( defaultMachine
|
||||
& mcColor .~ yellow
|
||||
-- & mcColor .~ yellow
|
||||
& mcMounts . at OTTrigger .~ mtrid
|
||||
& mcMounts . at OTLightSource ?~ lsid
|
||||
& mcType
|
||||
|
||||
@@ -2,10 +2,8 @@ module Dodge.Placement.Instance.Terminal (
|
||||
putMessageTerminal,
|
||||
putImmediateMessageTerminal,
|
||||
putTerminal,
|
||||
terminalColor,
|
||||
) where
|
||||
|
||||
import Color
|
||||
import Data.Maybe
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Default
|
||||
@@ -14,19 +12,19 @@ import Dodge.WorldEffect
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
putTerminalImediateAccess :: Color -> Machine -> Terminal -> Placement
|
||||
putTerminalImediateAccess :: Machine -> Terminal -> Placement
|
||||
putTerminalImediateAccess = putTerminalFull f
|
||||
where
|
||||
f tmpl _ _ = Just $ sps0 $ PutWorldUpdate $ const $ const $ over gwWorld $ accessTerminal (tmpl ^?! plMID . _Just)
|
||||
|
||||
putTerminalFull ::
|
||||
(Placement -> Placement -> Placement -> Maybe Placement) ->
|
||||
Color ->
|
||||
Machine ->
|
||||
Terminal ->
|
||||
Placement
|
||||
putTerminalFull f col mc tm =
|
||||
ps0PushPS (PutTerminal (tm & tmExternalColor .~ col)) $
|
||||
putTerminalFull f mc tm =
|
||||
--ps0PushPS (PutTerminal (tm & tmExternalColor .~ col)) $
|
||||
ps0PushPS (PutTerminal tm) $
|
||||
\tmpl -> Just $
|
||||
ps0PushPS (PutButton defaultButton) $
|
||||
\btpl -> Just $
|
||||
@@ -51,24 +49,19 @@ putTerminalFull f col mc tm =
|
||||
btid = fromJust (_plMID btpl)
|
||||
mcid = fromJust (_plMID mcpl)
|
||||
|
||||
putTerminal :: Color -> Machine -> Terminal -> Placement
|
||||
putTerminal :: Machine -> Terminal -> Placement
|
||||
putTerminal = putTerminalFull (\_ _ _ -> Nothing)
|
||||
|
||||
putMessageTerminal :: Color -> Terminal -> Placement
|
||||
putMessageTerminal col =
|
||||
putTerminal col $
|
||||
putMessageTerminal :: Terminal -> Placement
|
||||
putMessageTerminal =
|
||||
putTerminal $
|
||||
defaultMachine
|
||||
& mcColor .~ col
|
||||
& mcType .~ McTerminal
|
||||
& mcHP .~ 100
|
||||
|
||||
putImmediateMessageTerminal :: Color -> Terminal -> Placement
|
||||
putImmediateMessageTerminal col =
|
||||
putTerminalImediateAccess col $
|
||||
putImmediateMessageTerminal :: Terminal -> Placement
|
||||
putImmediateMessageTerminal =
|
||||
putTerminalImediateAccess $
|
||||
defaultMachine
|
||||
& mcColor .~ col
|
||||
& mcType .~ McTerminal
|
||||
& mcHP .~ 100
|
||||
|
||||
terminalColor :: Color
|
||||
terminalColor = dark magenta
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
module Dodge.Placement.Instance.Turret where
|
||||
module Dodge.Placement.Instance.Turret
|
||||
(putLasTurret) where
|
||||
|
||||
import Dodge.Item.Held.BatteryGuns
|
||||
import Color
|
||||
import Dodge.Data.GenWorld
|
||||
import Dodge.Default
|
||||
import Dodge.LevelGen.PlacementHelper
|
||||
import Geometry
|
||||
import LensHelp
|
||||
|
||||
putTurret :: Item -> Float -> Placement
|
||||
putTurret itm rotSpeed =
|
||||
sps0 $
|
||||
PutMachine
|
||||
(reverse $ square 10)
|
||||
( defaultMachine
|
||||
& mcColor .~ blue
|
||||
& mcType .~ (turret itm & _McTurret . tuTurnSpeed .~ rotSpeed)
|
||||
& mcHP .~ 50000
|
||||
)
|
||||
(Just itm)
|
||||
--putTurret :: Item -> Float -> Placement
|
||||
--putTurret itm rotSpeed =
|
||||
-- sps0 $
|
||||
-- PutMachine
|
||||
-- (reverse $ square 10)
|
||||
-- ( defaultMachine
|
||||
---- & mcColor .~ blue
|
||||
-- & mcType .~ (turret itm & _McTurret . tuTurnSpeed .~ rotSpeed)
|
||||
-- & mcHP .~ 50000
|
||||
-- )
|
||||
-- (Just itm)
|
||||
|
||||
putLasTurret :: Float -> Placement
|
||||
putLasTurret rotSpeed =
|
||||
@@ -26,15 +26,12 @@ putLasTurret rotSpeed =
|
||||
PutMachine
|
||||
(reverse $ square 10)
|
||||
( defaultMachine
|
||||
& mcColor .~ blue
|
||||
-- & mcColor .~ blue
|
||||
& mcType .~ (lasTurret & _McTurret . tuTurnSpeed .~ rotSpeed)
|
||||
& mcHP .~ 50000
|
||||
)
|
||||
(Just laser)
|
||||
|
||||
turret :: Item -> MachineType
|
||||
turret _ = lasTurret
|
||||
|
||||
lasTurret :: MachineType
|
||||
lasTurret = McTurret $
|
||||
Turret
|
||||
|
||||
@@ -103,7 +103,7 @@ addButtonSlowDoor x h =
|
||||
where
|
||||
f g y = g $ y ^. _1 . _y
|
||||
theterminal =
|
||||
putMessageTerminal terminalColor (simpleTermMessage themessage)
|
||||
putMessageTerminal (simpleTermMessage themessage)
|
||||
& plSpot
|
||||
.~ rprBoolShift
|
||||
(isUnusedLnkType InLink)
|
||||
|
||||
@@ -33,7 +33,7 @@ rezBox ls =
|
||||
roomRect 40 60 1 1
|
||||
& rmPmnts
|
||||
.~ [ sPS (V2 20 1) 0 $ PutLS ls
|
||||
, putMessageTerminal terminalColor (defaultTerminal & tmBootLines .~ makeTermPara s <> tlSetStatus (TerminalPressTo "QUIT") <> tlDoEffect TmWdWdDeactivateTerminal)
|
||||
, putMessageTerminal (defaultTerminal & tmBootLines .~ makeTermPara s <> tlSetStatus (TerminalPressTo "QUIT") <> tlDoEffect TmWdWdDeactivateTerminal)
|
||||
& plSpot .~ PS (V2 20 0) 0
|
||||
]
|
||||
& restrictInLinks (\(V2 _ h, _) -> h < 1)
|
||||
|
||||
@@ -63,7 +63,7 @@ sensInsideDoor senseType i rm = rm
|
||||
.++~ [ psPt atFstLnkOut . PutForeground $ floorWire (V2 20 0) (V2 20 (-100))
|
||||
, psPt atFstLnkOut . PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100))
|
||||
, psPt atFstLnkOut . PutForeground $ verticalWire (V2 20 0) 0 80
|
||||
, putMessageTerminal terminalColor
|
||||
, putMessageTerminal
|
||||
(textTerminal & tmCommands .:~ TCDamageCommand)
|
||||
& plSpot .~ rprBoolShift isUnusedLnk (shiftInBy 10 <&> (, S.singleton UsedPosHigh))
|
||||
, sensAboveDoor senseType 10 (atFstLnkOutShiftInward 100) & plExternalID ?~ i
|
||||
|
||||
@@ -96,7 +96,6 @@ tutDrop = do
|
||||
t j = \gw ->
|
||||
let x = gw ^? genInts . ix j
|
||||
in putMessageTerminal
|
||||
terminalColor
|
||||
(defaultTerminal & tmBootLines .~ ss <> tlSetStatus (TerminalPressTo $ show x <> "QUIT") <> tlDoEffect TmWdWdPowerDownTerminal)
|
||||
& plSpot
|
||||
.~ rprBoolShift
|
||||
@@ -293,7 +292,6 @@ tutHub = do
|
||||
ammoroom x = roomRectAutoLinks 100 100 <&> rmPmnts .:~ sps (PS 50 0) (PutFlIt x)
|
||||
itemshiftterminal =
|
||||
putMessageTerminal
|
||||
terminalColor
|
||||
(defaultTerminal & tmBootLines .~ ss' <> tlSetStatus (TerminalPressTo "QUIT") <> tlDoEffect TmWdWdPowerDownTerminal)
|
||||
& plSpot
|
||||
.~ rprBoolShift
|
||||
@@ -366,7 +364,6 @@ tutRezBox = do
|
||||
, Placement (PS 0 0) PutNothing Nothing Nothing $ \w _ ->
|
||||
Just $
|
||||
putImmediateMessageTerminal
|
||||
terminalColor
|
||||
( defaultTerminal & tmBootLines .~ s w
|
||||
<> tlSetStatus (TerminalPressTo "QUIT")
|
||||
<> tlDoEffect TmWdWdPowerDownTerminal
|
||||
|
||||
@@ -47,7 +47,7 @@ addDoorAtNthLinkToggleTerminal j xs i =
|
||||
extTrigLitPos
|
||||
(atNthLnkOutShiftBy j (\(p, a) -> ((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow)))
|
||||
( Just . set plSpot (rprShift (moveToSideNthOutLink (S.singleton UsedPosLow) j))
|
||||
. putMessageTerminal terminalColor
|
||||
. putMessageTerminal
|
||||
. termMessages
|
||||
)
|
||||
& plExternalID
|
||||
|
||||
Reference in New Issue
Block a user