Skip to content

Commit

Permalink
Add shortcuts to windows discovered by Neled77 this week
Browse files Browse the repository at this point in the history
Add shortcuts to the fleet and watchlist windows discovered by Neled77 on 2020-11-04 at https://forum.botengine.org/t/warp-to-fleet-member-with-watchlist/3642/12
Implement shortcuts based on the sample shared by Neled77 at https://github.com/Viir/bots/files/5488094/session-2020-11-04T13-24-50-d23d4e.zip
  • Loading branch information
Viir committed Nov 7, 2020
1 parent 8ab4f90 commit fc9b6a6
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 1 deletion.
2 changes: 1 addition & 1 deletion implement/alternate-ui/source/src/Common/App.elm
Expand Up @@ -3,4 +3,4 @@ module Common.App exposing (versionId)

versionId : String
versionId =
"2020-08-26"
"2020-11-07"
60 changes: 60 additions & 0 deletions implement/alternate-ui/source/src/EveOnline/ParseUserInterface.elm
Expand Up @@ -30,6 +30,8 @@ type alias ParsedUserInterface =
, bookmarkLocationWindow : Maybe BookmarkLocationWindow
, repairShopWindow : Maybe RepairShopWindow
, characterSheetWindow : Maybe CharacterSheetWindow
, fleetWindow : Maybe FleetWindow
, watchListPanel : Maybe WatchListPanel
, moduleButtonTooltip : Maybe ModuleButtonTooltip
, neocom : Maybe Neocom
, messageBoxes : List MessageBox
Expand Down Expand Up @@ -469,6 +471,18 @@ type alias ScrollControls =
}


type alias FleetWindow =
{ uiNode : UITreeNodeWithDisplayRegion
, fleetMembers : List UITreeNodeWithDisplayRegion
}


type alias WatchListPanel =
{ uiNode : UITreeNodeWithDisplayRegion
, entries : List UITreeNodeWithDisplayRegion
}


parseUITreeWithDisplayRegionFromUITree : EveOnline.MemoryReading.UITreeNode -> UITreeNodeWithDisplayRegion
parseUITreeWithDisplayRegionFromUITree uiTree =
let
Expand Down Expand Up @@ -505,6 +519,8 @@ parseUserInterfaceFromUITree uiTree =
, bookmarkLocationWindow = parseBookmarkLocationWindowFromUITreeRoot uiTree
, repairShopWindow = parseRepairShopWindowFromUITreeRoot uiTree
, characterSheetWindow = parseCharacterSheetWindowFromUITreeRoot uiTree
, fleetWindow = parseFleetWindowFromUITreeRoot uiTree
, watchListPanel = parseWatchListPanelFromUITreeRoot uiTree
, neocom = parseNeocomFromUITreeRoot uiTree
, messageBoxes = parseMessageBoxesFromUITreeRoot uiTree
, layerAbovemain = parseLayerAbovemainFromUITreeRoot uiTree
Expand Down Expand Up @@ -2214,6 +2230,50 @@ parseCharacterSheetWindow windowUINode =
}


parseFleetWindowFromUITreeRoot : UITreeNodeWithDisplayRegion -> Maybe FleetWindow
parseFleetWindowFromUITreeRoot uiTreeRoot =
uiTreeRoot
|> listDescendantsWithDisplayRegion
|> List.filter (.uiNode >> .pythonObjectTypeName >> (==) "FleetWindow")
|> List.head
|> Maybe.map parseFleetWindow


parseFleetWindow : UITreeNodeWithDisplayRegion -> FleetWindow
parseFleetWindow windowUINode =
let
fleetMembers =
windowUINode
|> listDescendantsWithDisplayRegion
|> List.filter (.uiNode >> .pythonObjectTypeName >> (==) "FleetMember")
in
{ uiNode = windowUINode
, fleetMembers = fleetMembers
}


parseWatchListPanelFromUITreeRoot : UITreeNodeWithDisplayRegion -> Maybe WatchListPanel
parseWatchListPanelFromUITreeRoot uiTreeRoot =
uiTreeRoot
|> listDescendantsWithDisplayRegion
|> List.filter (.uiNode >> .pythonObjectTypeName >> (==) "WatchListPanel")
|> List.head
|> Maybe.map parseWatchListPanel


parseWatchListPanel : UITreeNodeWithDisplayRegion -> WatchListPanel
parseWatchListPanel windowUINode =
let
entries =
windowUINode
|> listDescendantsWithDisplayRegion
|> List.filter (.uiNode >> .pythonObjectTypeName >> (==) "WatchListEntry")
in
{ uiNode = windowUINode
, entries = entries
}


parseNeocomFromUITreeRoot : UITreeNodeWithDisplayRegion -> Maybe Neocom
parseNeocomFromUITreeRoot uiTreeRoot =
case
Expand Down
Expand Up @@ -222,6 +222,18 @@ renderTreeNodeFromParsedUserInterface maybeInputRoute uiNodesWithDisplayRegion p
, fieldValueSummary = always "..."
, fieldValueChildren = treeNodeChildrenFromCharacterSheetWindow viewConfig
}
, parsedUserInterface.fleetWindow
|> fieldFromMaybeInstance
{ fieldName = "fleetWindow"
, fieldValueSummary = always "..."
, fieldValueChildren = treeNodeChildrenFromFleetWindow viewConfig
}
, parsedUserInterface.watchListPanel
|> fieldFromMaybeInstance
{ fieldName = "watchListPanel"
, fieldValueSummary = always "..."
, fieldValueChildren = treeNodeChildrenFromWatchListPanel viewConfig
}
, parsedUserInterface.moduleButtonTooltip
|> fieldFromMaybeInstance
{ fieldName = "moduleButtonTooltip"
Expand Down Expand Up @@ -1205,6 +1217,38 @@ treeNodeChildrenFromCharacterSheetWindow viewConfig characterSheetWindow =
]


treeNodeChildrenFromFleetWindow :
ViewConfig event
-> EveOnline.ParseUserInterface.FleetWindow
-> List (TreeViewNode event ParsedUITreeViewPathNode)
treeNodeChildrenFromFleetWindow viewConfig fleetWindow =
treeNodeChildrenFromRecordWithUINode
viewConfig
fleetWindow.uiNode
[ fleetWindow.fleetMembers
|> fieldFromListInstance
{ fieldName = "fleetMembers"
, fieldValueChildren = treeViewNodeFromUINode viewConfig >> List.singleton
}
]


treeNodeChildrenFromWatchListPanel :
ViewConfig event
-> EveOnline.ParseUserInterface.WatchListPanel
-> List (TreeViewNode event ParsedUITreeViewPathNode)
treeNodeChildrenFromWatchListPanel viewConfig watchListPanel =
treeNodeChildrenFromRecordWithUINode
viewConfig
watchListPanel.uiNode
[ watchListPanel.entries
|> fieldFromListInstance
{ fieldName = "entries"
, fieldValueChildren = treeViewNodeFromUINode viewConfig >> List.singleton
}
]


treeNodeChildrenFromNeocom :
ViewConfig event
-> EveOnline.ParseUserInterface.Neocom
Expand Down

0 comments on commit fc9b6a6

Please sign in to comment.