This PR keeps the latejoin lobby stateful. When a vessel/station has been selected, it should not be unselected until it is removed from the list or the user clicks on another one. If you filter for ships, even if they do not show up in the list, a selected ship should remain selected, and its jobs shown on the right.
The buttons on the job selection side of the UI respect whether or not the user can join into that role (as checked by the JobRequirementsManager). When somebody adds a job to a shuttle, buttons' states should remain consistent.
Why / Balance
Pretty annoying in practice.
How to test
Connect two clients.
On the first client, join in-game.
On the second client, open the late join menu, select the NFSD outpost.
Buy a ship in the first client. On the second client's window, the NFSD outpost should be selected. Any jobs that were available, if any, should remain constant.
On the second client, select the ship that the first client bought.
On the first client, sell the ship. On the second client's window, Frontier Outpost should be selected.
On the first client, buy a ship.
On the second client, select the ship. Its job listings should show up on the right.
On the second client, enter text into the filter bar so that nothing shows up. You should still be seeing ships from the ship you last selected.
On the first client, sell the ship. The second client's entry should be null, and the Crew Manifest button should be hidden.
On the second client, remove the text from the filter bar. The first ship that shows up (Frontier Station if you remove all the text at once) should be selected, and the Crew Manifest icon should reappear.
Media
Should include footage of this working later, but the interface layout itself should not change.
[X] I have added screenshots/videos to this PR showcasing its changes ingame, orthis PR does not require an ingame showcase
Breaking changes
Changelog
:cl:
fix: The late join lobby UI should behave better when ships are purchased, sold, or have their jobs changed.
About the PR
This PR keeps the latejoin lobby stateful. When a vessel/station has been selected, it should not be unselected until it is removed from the list or the user clicks on another one. If you filter for ships, even if they do not show up in the list, a selected ship should remain selected, and its jobs shown on the right.
The buttons on the job selection side of the UI respect whether or not the user can join into that role (as checked by the JobRequirementsManager). When somebody adds a job to a shuttle, buttons' states should remain consistent.
Why / Balance
Pretty annoying in practice.
How to test
Media
Should include footage of this working later, but the interface layout itself should not change.
Breaking changes
Changelog
:cl: