Inventory Window [3d364722aa eve-online-mining-bot]

Had an issue where the bot would ask for help locating the inventory window if it was not open, implemented a fix. Now it will open the inventory when it is closed.

ensureMiningHoldIsSelectedInInventoryWindow : ReadingFromGameClient -> (EveOnline.ParseUserInterface.InventoryWindow -> DecisionPathNode) -> DecisionPathNode
ensureMiningHoldIsSelectedInInventoryWindow readingFromGameClient continueWithInventoryWindow =
    case readingFromGameClient |> inventoryWindowWithMiningHoldSelectedFromGameClient of
        Just inventoryWindow ->
            continueWithInventoryWindow inventoryWindow

        Nothing ->
            case readingFromGameClient.inventoryWindows |> List.head of
                Nothing ->
                    case findInventoryButtonInNeocom readingFromGameClient of
                        Just inventoryButton ->
                            describeBranch "Opening the inventory window."
                                (mouseClickOnUIElement MouseButtonLeft inventoryButton
                                    |> Result.Extra.unpack
                                        (always (describeBranch "Failed to click inventory button." askForHelpToGetUnstuck))
                                        decideActionForCurrentStep
                                )

                        Nothing ->
                            describeBranch "Could not find the inventory button in the Neocom." askForHelpToGetUnstuck

                Just inventoryWindow ->
                    describeBranch
                        "mining hold is not selected. Select the mining hold."
                        (case inventoryWindow |> activeShipTreeEntryFromInventoryWindow of
                            Nothing ->
                                describeBranch "I do not see the active ship in the inventory." askForHelpToGetUnstuck

                            Just activeShipTreeEntry ->
                                let
                                    maybeMiningHoldTreeEntry =
                                        activeShipTreeEntry
                                            |> miningHoldFromInventoryWindowShipEntry
                                in
                                case maybeMiningHoldTreeEntry of
                                    Nothing ->
                                        describeBranch "I do not see the mining hold under the active ship in the inventory."
                                            (case activeShipTreeEntry.toggleBtn of
                                                Nothing ->
                                                    describeBranch "I do not see the toggle button to expand the active ship tree entry."
                                                        askForHelpToGetUnstuck

                                                Just toggleBtn ->
                                                    describeBranch "Click the toggle button to expand."
                                                        (mouseClickOnUIElement MouseButtonLeft toggleBtn
                                                            |> Result.Extra.unpack
                                                                (always (describeBranch "Failed to click" askForHelpToGetUnstuck))
                                                                decideActionForCurrentStep
                                                        )
                                            )

                                    Just miningHoldTreeEntry ->
                                        describeBranch "Click the tree entry representing the mining hold."
                                            (mouseClickOnUIElement MouseButtonLeft miningHoldTreeEntry.uiNode
                                                |> Result.Extra.unpack
                                                    (always (describeBranch "Failed to click" askForHelpToGetUnstuck))
                                                    decideActionForCurrentStep
                                            )
                        )