Einstein-Engines
Einstein-Engines copied to clipboard
Mirror: Door Remote now shows Mode in UI
Mirror of PR #26162: Door Remote now shows Mode in UI from
space-wizards/space-station-14
e627a0d24bc8ae89665feb0b0d519b5fbb77ce32
PR opened by Plykiya at 2024-03-15 23:14:52 UTC
PR changed 7 files with 151 additions and 67 deletions.
The PR had the following labels:
- Status: Awaiting Changes
Original Body
About the PR
Changed the door remote to show what mode it's in on the UI so you don't have to toggle it to figure out if you're bolting a door or setting it to emergency access...
Why / Balance
There is no indicator and it's awkward to set a door to emergency access instead of bolting it against nukies.
Technical details
- Split DoorRemoteSystem into Shared/Server/Client from just Server
- Added door remote status control that updates itself on first pickup and then whenever the mode is toggled
- Got rid of the custom "ShowPopupToUser" function that the DoorRemote used to have in favor of PopupClient/PopupEntity
- Created new Door Remote locale messages.
The only problem I have with my code change is that I created a shitty fourth placeholder enum so that I could check for a difference on initial pickup with PrevOperatingMode. Without it, the mode string only appears on pickup for 2/3 options instead of 3/3 options because the default PrevOperatingMode would end up matching the current Mode the door remote is set to, thus not updating the UI. Would love a better implementation suggestion for that...
Media
- [ X ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase
https://github.com/space-wizards/space-station-14/assets/58439124/733eb78a-d1a6-4678-a325-9fda8dc1a4c8
Breaking changes
DoorRemoteComponent moved from Content.Server.Remotes to Content.Shared.Remotes.Components, DoorRemoteSystem OnInHandActivation changed from Public to Private, DoorRemoteSystem moved from Content.Server to Content.Shared, DoorRemoteSystem is now SharedDoorRemoteSystem
Changelog
:cl:
- add: Door remote UI now shows the mode it is in.