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