-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync building side screens (user menu on the right). E.g. selecting filtered item, setting production queue, setting battery levels, etc. #92
Comments
Seems like we have to sync individual screens data, because a side screen is a singleton and has a selectable target. This implicates if there's a side screen opened and the target object is being changed the side screen should be updated as well. Maybe it's a subject to change, but I don't see any generalizing options since each side screen has its own data. |
Currently it filters out all side screen since they were not tested. Idea is to go through each of them and make sure that the event and command covers all required action syncs. It is possible that some sidescreens couldn't be easily synced through general event. However the idea is to cover 80%+ of sidescreens with general to avoid creating 70+ different events and commands.
Currently it filters out all side screen since they were not tested. Idea is to go through each of them and make sure that the event and command covers all required action syncs. It is possible that some sidescreens couldn't be easily synced through general event. However the idea is to cover 80%+ of sidescreens with general to avoid creating 70+ different events and commands.
Currently it filters out all side screen since they were not tested. Idea is to go through each of them and make sure that the event and command covers all required action syncs. It is possible that some sidescreens couldn't be easily synced through general event. However the idea is to cover 80%+ of sidescreens with general to avoid creating 70+ different events and commands.
Example: Manual Generator, Coal generator. Also fixed multiple events firing in case of multiple calls of setTarget (if select an object multiple times). Added AbstractInteractWithSideScreen.cs.
Example: Manual Generator, Coal generator. Removed SideScreenEvents.cs :) Idea does not really scale for more complex side screens and requires a lot of exceptions.
Examples: FoodBox - TreeFilterableSideScreen LiquidFilter - FilterSideScreen
Examples: FoodBox - TreeFilterableSideScreen LiquidFilter - FilterSideScreen
All those events are triggered upon a game object method call and just passing all arguments to the client where the same method being called. This being replaced by a single event class and a single command instead. P.S. Few events have not been replaced since they requires additional surrogates to serialize their arguments data.
All those events are triggered upon a game object method call and just passing all arguments to the client where the same method being called. This being replaced by a single event class and a single command instead. P.S. Few events have not been replaced since they requires additional surrogates to serialize their arguments data.
PassengerRocketModule, RocketControlStation, ICheckboxControl, SuitLocker, IThresholdSwitch, ISliderControl, Valve. Added support for interface as patch target type.
PassengerRocketModule, RocketControlStation, ICheckboxControl, SuitLocker, IThresholdSwitch, ISliderControl, Valve. Added support for interface as patch target type.
PassengerRocketModule, RocketControlStation, ICheckboxControl, SuitLocker, IThresholdSwitch, ISliderControl, Valve. Added support for interface as patch target type.
PassengerRocketModule, RocketControlStation, ICheckboxControl, SuitLocker, IThresholdSwitch, ISliderControl, Valve. Added support for interface as patch target type.
…castReceiver, LaunchConditionManager, GeoTuner.Instance, IConfigurableConsumer types to enable their side screen syncs. Also fixed containers `Sweep only` button (added Storage.SetOnlyFetchMarkedItems sync).
…castReceiver, LaunchConditionManager, GeoTuner.Instance, IConfigurableConsumer types to enable their side screen syncs. Also fixed containers `Sweep only` button (added Storage.SetOnlyFetchMarkedItems sync).
…castReceiver, LaunchConditionManager, GeoTuner.Instance, IConfigurableConsumer types to enable their side screen syncs. Also fixed containers `Sweep only` button (added Storage.SetOnlyFetchMarkedItems sync).
Most of the sidescreens (56 out of 69 ) are synced except few left overs (created #169 to cover them). |
See for exhaustive list
https://docs.google.com/spreadsheets/d/1klx2C6pbsQOD0CR1RiFPcvWsTv19xBcj5wd-Q-nI4YA/edit#gid=1436570526
Important:
Add default clause to catch not handled side screens and log them, to be able to track desync errors.
The text was updated successfully, but these errors were encountered: