Files
loop/src/Dodge/InputFocus.hs
T

13 lines
448 B
Haskell

module Dodge.InputFocus where
import Data.Maybe
import Dodge.Data.World
import LensHelp
inTermFocus :: World -> Bool
inTermFocus w = fromMaybe False $ do
tmid <- w ^? cWorld . lWorld . hud . hudElement . subInventory . termID
hasfocus <- w ^? cWorld . lWorld . terminals . ix tmid . tmInput . tiFocus
connectionstatus <- w ^? cWorld . lWorld . terminals . ix tmid . tmStatus
return $ hasfocus && connectionstatus == TerminalReady