-
Notifications
You must be signed in to change notification settings - Fork 7
Description
In JobDispatch, we only check the first item of the job primary task list for cars that we can show information for. Ideally, we would handle all primary tasks here.
Tasks can be nested and each task can be in a finished state on its own. Finished tasks give no meaningful information to the player. We could simply wrap the job primary task list in an artificial "sequential" task. A visitor pattern could then be used to simplify the task tree, such that finished tasks are ignored and tasks patterns like "parallel: load x different cargo types into x different car groups" could be simplified into a single load task containing all the cars.
On the basis of a simplified task tree, we could generate more insightful information like "the cars need to be taken to D1L for unloading and then moved to C3O and C6S" or so, by heuristically recognizing common patterns in the task tree.
Previously discussed in #4