Commit Graph

95 Commits

Author SHA1 Message Date
Pieter-Jan Briers 56fb80ad34
BUI bugfixes / improvements (#23881)
* Fix ActivatableUIRequiresPowerCellComponent stopping power draw when one of two people closes the UI.

Also fixes it to check UiKey properly.

* Remove unnecessary CrewManifestViewer on PDAs

This is for a pop-up crew manifest UI, which the PDA doesn't use.

* Fix BoundUIClosedEvents that didn't check UI key/not correctly at least.

Uses the new helper method in engine.

* Fix drone (cargo shuttle) pilot console UI breaking if two people open it and one person closes it.

* Fixes for disposal router/tagger UI.

Code was badly copy pasted without changing identifiers, never worked.

Also cleaned up some of the logic (text trimming, sounds).

Also removed the "refuse to work if you have something in your active hand" check like why.

* Avoid running most ActivatableUIComponent logic when closing a UI via toggle

Activating the UI while it's already open closes it via toggle. Except it still ran 99% of the "attempting to open" logic which makes no sense.

This probably fixes a bug or some other dumb behavior somewhere.

* Bitch

(cherry picked from commit 123a4147dea2945f6c60fe9e4e0a3aa2da75e1dc)
2024-01-26 22:38:21 +01:00
Kara 7decaa29e7 Convert atmos device events to ref events (#22843) 2023-12-22 23:25:05 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
Leon Friedrich af79f369ae
Remove outdated access reader method. (#19765) 2023-09-03 11:05:22 +10:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
deltanedas e837f2fd85
air alarm signal ports and other stuff (#18642)
Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-08-21 14:18:30 -07:00
Pieter-Jan Briers a242af506e
Adds the thermo-electric generator (#18840)
* Basic TEG start.

Connects via node group.

* Basic TEG test map

* Sensor monitoring basics, TEG circulator flow

* Basic power generation (it doesn't work)

* More sensor monitoring work

* Battery (SMES) monitoring system.

* Sensor monitoring fixes

Make it work properly when mapped.

* Test map improvements

* Revise TEG power output mechanism.

Now uses a fixed supplier with a custom ramping system.

* TEG test map fixes

* Make air alarms and pumps open UI on activate.

* Clean up thermo machines power switch.

Removed separate Enabled bool from the component that always matched the power receiver's state.

This enables adding a PowerSwitch component to give us alt click/verb menu.

* TEG but now fancy

* Make sensor monitoring console obviously WiP to mappers.

* Vending machine sound, because of course.

* Terrible, terrible graph background color

* Examine improvements for the TEG.

* Account for electrical power when equalizing gas mixtures.

* Get rid of the TegCirculatorArrow logic.

Use TimedDespawn instead. The "no show in right-click menuu" goes into a new general-purpose component.

Thanks Julian.

* Put big notice of "not ready, here's why" on the sensor monitoring console.

* TryGetComponent -> TryComp

* Lol there's a HideContextMenu tag

* Test fixes

* Guidebook for TEG

Fixed rotation on GuideEntityEmbed not working correctly.

Added Margin property to GuideEntityEmbed

* Make TEG power bar default to invisible.

So it doesn't appear in the guidebook and spawn menu.
2023-08-12 15:41:55 -05:00
Ilya246 d3244b6049
copy-settings-to-all-similar for scrubbers and vents in air alarms (#18363) 2023-08-09 14:20:19 -04:00
Leon Friedrich 6982f238e8
Add SaveLoadSavePrototype test (#18859) 2023-08-08 17:27:16 +10:00
Julian Giebel 78c66cca75
Fix air alarm not checking if device is in device list before sending atmos device settings (#18436) 2023-08-01 14:27:59 -04:00
c4llv07e 6e66866567
Add 'auto mode' button to the air alarm ui (#17874)
Signed-off-by: c4llv07e <kseandi@gmail.com>
2023-07-09 13:22:41 -06:00
Julian Giebel 2bb1fde4dc
Remove devices from device lists when they get deleted (#16783)
* Implement device network device shutdown subscribtion
Implement removing devices from device lists when they get deleted

* Improve name and doc comment for DeviceShutDownEvent

* Change ShutdownSubscriber data field tag

* Change UpdateRemovalSubscription name to UpdateShutdownSubscription
2023-05-25 16:08:22 -06:00
Menshin 409af4f481
Fixes air sensors not accessing gas mixture on construction + visual fixes (#15224) 2023-04-08 19:25:38 -07:00
Slava0135 d03ca61da1
Telecom server panel check (#14523) 2023-03-23 20:09:45 -04:00
Nemanja d87d8f2886
predict emag and make blessed record struct events (#13623) 2023-01-22 02:12:45 +11:00
Leon Friedrich b20b4b11cc
Wire action cleanup (#13496) 2023-01-21 10:51:02 +11:00
Chief-Engineer 3cfd814503
Add logging for hacking (#12861) 2023-01-16 08:14:46 +11:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Flipp Syder 6e108bd400
Surveillance camera listening/speaking (#11640) 2022-10-17 04:44:14 +11:00
Flipp Syder 26883a7ec9
Air alarm mode sent to all linked air alarms from a single air alarm (#11454)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-10-16 21:18:14 +11:00
metalgearsloth 0b38589728
Raise power events by ref and not broadcast (#11923)
Also some other minor stuff.
2022-10-14 23:08:15 -05:00
Flipp Syder 8389bde2c0
Clear and reregister devices for atmos alarms (#11391)
* deregister sensors upon device list update and re-register after clearing devices

* fire alarms, too

* adds the last set of known devices to the device list update event

* update UI upon clearing everything out

* addresses reviews
2022-10-01 09:36:59 -07:00
Flipp Syder b7c08238e4
Fixes air alarm mode propagation when a mode is set from an air alarm (#11121) 2022-09-08 07:01:56 -07:00
Flipp Syder 0882d85176
Air alarm balancing (#11063)
* threshold balancing, restores none mode on atmos alarm

dear lord, panic mode with unbalanced thresholds was a nightmare

* that was 10%, not 1%

* adds widenet mode for scrubbers

* adds the vents to wide filter as well
2022-09-05 19:35:36 -07:00
Flipp Syder 8cbcf2d640
Fixes reset propagation for atmospheric alarm receivers, adds CVar for fire alarm all access (#11020)
* adds a check for if a firelock is powered before auto-opening

* fixes issue where resets would not propagate properly

* adds cvar bound for fire alarm access (defaults to all access)
2022-09-05 18:15:50 -07:00
Flipp Syder 9ace52a6c1
Device link visualizer (#11054)
* shuffles devicelist to shared, adds an overlay for devicelist

* adds space property to overlay

* moves networkconfigurator to shared, makes devicelistsystem clientside check activedevicelist

* dirties components upon change, adds networkedcomponent to sharednetworkconfigurator

* state handlers for networked components

* whoops

* lots of shuffling, renaming, and access changes

* randomizes color for every new entity added to the overlay

* adds a client-side action to clear all network overlays if they're active

* clones action (oops)

* localization, adds a command for clearing network link overlays (in case the action disappears)

* moves the entity manager up into the bui fields

* makes that a dependency

* attempts to just directly get the color from the dict when drawing, now

* fixes up a few comments

* adds dirty on init to devicelistcomponent

* hacky solution related to mapping with a networkconfigurator

* more stricter bound on that hacky solution

* just checks if the life stage is initialized instead of if the entity was initialized

* moves getalldevices to shared

* readds linq import

* tries to ensure that the show button is toggled on if the device we're trying to configure is currently being tracked by the overlay

* some reorganization
2022-09-05 19:55:44 -05:00
corentt 6301ac5147
AirAlarms fixes (#11062)
* modify airalarm thresholds

* display percentage, not ratio

* reopen doors on normal/warning state

* panic mode on danger state
2022-09-05 19:54:26 -05:00
Flipp Syder d447b0f80e
Air alarm patches (#11004) 2022-09-04 02:04:15 -07:00
vulppine fa8c16358f alarmables should now attempt to update appearance on init 2022-08-30 21:41:29 -07:00
vulppine e0bf77490d number of things, fixing warnings, AtmosAlarmType instead of AtmosMonitorAlarmType 2022-08-29 07:37:26 -07:00
vulppine dd01189a6e changes how the emag function works in fire alarms 2022-08-23 14:47:09 -07:00
vulppine a8eb929d3c removes air alarm replace mode 2022-08-23 13:20:23 -07:00
vulppine e348a64423 air alarm now sends the count of known devices, rather than all types of devices 2022-08-23 12:04:45 -07:00
vulppine b3a4ef9997 file-scoped namespaces 2022-08-23 10:55:46 -07:00
vulppine df25715ed3 renames AtmosMonitorAlarmEvent to AtmosAlarmEvent 2022-08-23 10:42:03 -07:00
vulppine 83cac4de1e vv for tripped thresholds, device list update event for air alarms 2022-08-22 18:41:24 -07:00
vulppine b8d011f8f4 checks for validity now ensure that an alarm is reset to normal - only if it was known beforehand 2022-08-22 18:06:41 -07:00
vulppine 546e70730e or instead of and 2022-08-22 17:45:29 -07:00
vulppine 8de6193ff2 monitors will now always alarm if threshold types have been tripped/reset to normal on update 2022-08-22 17:42:47 -07:00
vulppine 7fd510d252 power check for firelocks, atmos monitor power cycle should now alert 2022-08-22 16:47:34 -07:00
vulppine ff9d9ab75c Revert "ResetAll no longer clears the alarm state for an atmos monitor"
This reverts commit d774741121.
2022-08-22 16:11:32 -07:00
vulppine f602ead768 power change should now update alarm on alarmables 2022-08-22 15:03:22 -07:00
vulppine a5cf4f9578 makes monitoralerttypes actually nullable 2022-08-22 12:06:30 -07:00
vulppine d774741121 ResetAll no longer clears the alarm state for an atmos monitor 2022-08-22 11:55:08 -07:00
vulppine 84027b4e67 alarmables now check if the type of alarm matches the alarms they can check (optional) 2022-08-22 11:30:37 -07:00
vulppine 160104bc2a Revert "oops!"
This reverts commit 1428a6d285.
2022-08-22 10:41:53 -07:00
vulppine 1428a6d285 oops! 2022-08-22 10:35:22 -07:00
vulppine 912b23e414 fire alarms (and anything that uses Reset/ForceAlert) should now update their appearance and play noises 2022-08-22 10:05:39 -07:00