* -Click on the analyzer to get the gas at your pos, click on tile to get gas tehre
-Reduced the auto refresh time
-AutoRefresh ui
* Use a fixed position instead of a offset
* Review
* -ChemDispenser & Master can now open the UI without power
-Both can also eject beaker without power
* -Disables button if not powered
-Disables clear & eject buttons if no beaker
* Fix server freeze
* Add unique gas mixture serialization for atmos
* Refactor doAfterEventArgs
* Adds atmos commands
* Roundstard now has correct ratio of gases
* Fixed hashcode for gasmixture, better grid atmos serialization
* Airlocks create gas based on adjacent tiles now.
* Enables barotrauma component damage
* -Started Gas Analyzer
-TemperatureHelpers
* Formatting
* Adds PopupTooltip to NotifyManager
* Revert Tooltip fuckery
* Gas Analyzer gives proper error messages
* Localization
* Added a very wip gas analyzer ui
* UI works, doesn't look good but hey
* Safety checks
* Fancy WIP gas mix bar
* Gas Color
* Gas Amount shows only 2 decimal places
* -Made bar full width
-Moved gas list into a table
-Some gas bar things
* IDropped something
* Description
* -Percentage
-Padding
* ItemStatus
* -Proper Danger Warnings
-Added Warning danger state
* Pressure unit
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* do_after
Ports (most of) do_after from SS13.
Callers are expected to await the DoAfter task from the DoAfterSystem.
I had a dummy component for in-game testing which I removed for the PR so nothing in game uses do_after at the moment.
Currently only the movement cancellation is predicted client-side.
* Minor do_after doc cleanup
* do_the_shuffle
Fix nullable build errors.
* The last nullable
* Implement NeedHand
Thanks zum.
* nullable dereference
* Adjust the system query
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Removes obsolete PhysicsComponent from wire and power prototypes
* Updates anchorable to use CollidableCOmponent
* Map update
* map update again
* Fixes generators starting unanchored
Co-authored-by: py01 <pyronetics01@gmail.com>
* NodeContainerComponent serializes a set of Nodes with ExposeData
* Fixes Nodes to work when being created by serializer
* ConduitNode
* ConduitPlacer to replace WirePlacer
* ConduitNode ConduitLayer setter
* Map update
* Comments
* Map update again
* Method ordering by privacy
* Removes conduits
* ignored component
* reorg
* map update
* readd wireplacer
Co-authored-by: py01 <pyronetics01@gmail.com>