Flashlights were calling dirty EVERY TICK so this just means they only call it when absoluetely necessary which saves a lot.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Draft PR, do not merge
* Lathe now uses animations. Timing is still wrong, code is very wet, repetitions and unused layers are there.
* Removed (unneeded?) PowerDeviceVisualizer from the lathe
Refactored & Renamed code and variables
Renamed animation names
* WIP protolathe animation
* Working protolathe animation.
I still don't like the solution though.
* Add power cell and weapon chargers
Functionality's similar to SS13. The cell charger won't show the discrete charging levels because effort to not make it spam appearance updates over the network.
There's some stuff I wasn't sure on:
1. Updating power? Particularly around fixing rounding
2. Duplicating the full and empty sprites as I couldn't figure out a way to not have AppearanceVisualizer throw if the state isn't found
3. I made a BaseCharger abstract class under the assumption that when a mech / borg charger is added it would also inherit from it.
4. GetText currently isn't localized
* Address PJB's feedback
Updated the BaseCharger
* Change nullref exception to invalidoperation
* If the user doesn't have hands it will just return instead
* Non-accessed local variable
* Merge cast and type checks.
* StringComparison.Ordinal added for better culture support
* Supposed code improvement in launcher. Remove unused code.
* Update ExplosionHelper.cs
Unintentional change.
* Optimized Import
* Add Robust.Shared.Utility import where it was deleted
* Other random suggestion
* Improve my comment
* CEV-Eris SMES sprite as RSI.
Has been modified so that the light overlay states use alpha blending.
* Add tiny glow to SMES display sprite.
* Appearances work v2
* More WiP
* RoundToLevels works correctly on even level counts now.
* SMES -> Smes because MS guidelines.
* CEV-Eris APC sprite.
* APC visuals.
* Reduce SMES scale again to normal levels.
* Update submodule