Cancel terminal display if destroyed while displaying
This commit is contained in:
@@ -385,6 +385,7 @@ updateKeysInTerminal :: Int -> Universe -> Universe
|
||||
updateKeysInTerminal tmid u = fromMaybe u $ do
|
||||
tm <- u ^? uvWorld . cWorld . lWorld . terminals . ix tmid
|
||||
return $ case tm ^. tmStatus of
|
||||
TerminalDeactivated -> u & uvWorld . hud . hudElement . subInventory .~ NoSubInventory
|
||||
TerminalTextInput{} -> updateKeysTextInputTerminal tmid u
|
||||
TerminalPressTo{} -> updateKeyContinueTerminal tmid u
|
||||
_ -> u
|
||||
@@ -551,7 +552,7 @@ getCloseObj w = getSelectedCloseObj w <|> firstcitem <|> firstcbut
|
||||
tryCombine :: (Int, Int) -> World -> World
|
||||
tryCombine (i, j) w = fromMaybe w $ do
|
||||
sss <- w ^? hud . hudElement . subInventory . ciSections
|
||||
CombinableItem is it <- sss ^? ix i . ssItems . ix j . siPayload
|
||||
CombinableItem is it <- sss ^? ix i . ssItems . ix j . siPayload . _Just
|
||||
p <- w ^? cWorld . lWorld . creatures . ix 0 . crPos
|
||||
return $
|
||||
snd (createItemYou it (foldr (destroyInvItem 0) w (sort is)))
|
||||
|
||||
@@ -63,11 +63,11 @@ mouseClickOptionsList u = fromMaybe u $ do
|
||||
case u ^. uvWorld . input . mouseButtons of
|
||||
mbs | mbs ^. at ButtonLeft == Just 0 -> do
|
||||
i <- u ^? uvWorld . input . mouseContext . mcoMenuClick
|
||||
f <- sl ^? ix i . siPayload . _1
|
||||
f <- sl ^? ix i . siPayload . _Just . _1
|
||||
return $ f u & uvSoundQueue .:~ click1S
|
||||
mbs | mbs ^. at ButtonRight == Just 0 -> do
|
||||
i <- u ^? uvWorld . input . mouseContext . mcoMenuClick
|
||||
f <- sl ^? ix i . siPayload . _2
|
||||
f <- sl ^? ix i . siPayload . _Just . _2
|
||||
return $ f u & uvSoundQueue .:~ click1S
|
||||
_ -> Nothing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user