Allow for more changable terminal screen colors

This commit is contained in:
2024-11-17 10:18:04 +00:00
parent a0431ff9a3
commit e7ea5d7fa9
11 changed files with 232 additions and 207 deletions
+10 -5
View File
@@ -73,6 +73,7 @@ updateUniverse u =
updateUniverseLast
. updateUniverseMid
. debugEvents
. updateMouseContext cfig
. over uvWorld (updateCamera cfig)
. updateUniverseFirst
$ u
@@ -285,7 +286,7 @@ functionalUpdate u =
. over uvWorld updateCloseObjects
. over uvWorld updateWheelEvents
. over uvWorld (updateMouseInventorySelection (u ^. uvConfig))
. over uvWorld (updateMouseContext (u ^. uvConfig))
-- . updateMouseContext (u ^. uvConfig)
. over uvWorld zoneClouds
. over uvWorld zoneCreatures
-- . over uvWorld updateInventorySelectionList
@@ -388,13 +389,17 @@ shiftInvItemsDown (_, i) x w = fromMaybe w $ do
f w' i' = swapInvItems g i' w'
g i' m = fst <$> IM.lookupGT i' m
updateMouseContext :: Configuration -> World -> World
updateMouseContext cfig w =
w & input . mouseContext
updateMouseContext :: Configuration -> Universe -> Universe
updateMouseContext cfig u =
u & uvWorld . input . mouseContext
.~ fromMaybe
aimcontext
(overinv <|> overcomb <|> overterm)
(overmenu <|> overinv <|> overcomb <|> overterm)
where
overmenu = do
screenlayer <- u ^? uvScreenLayers . ix 0
return MouseMenuClick
w = u ^. uvWorld
aimcontext
| ButtonRight `M.member` (w ^. input . mouseButtons) = MouseAiming
| otherwise = NoMouseContext