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