* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out
* Missed one
* Missed another
* Fix data field ids
* Use an actual Queue
* Store ProtoIds instead of prototypes
* Network as NetListAsArray
* Remove Serializable & NetSerializable from LatheRecipePrototype
* Convert CurrentlyProducing too
* No point using NetListAsArray<T> if you're going to .ToArray() it anyways.
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
* add inheritance to lathe recipes and make result an override
* add GetResult method to lathe system
* make other parts of the code use GetResult
* clean up the stock parts yml
* remove unused apu boards from dynamic recipes
* make inverse dictionary public so test doesnt have to copy paste
* revert result override stuff
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.
* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.
* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.
* Fix issue introduced by merge.
* Use interaction system for determining whether a distance is within range
* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.
* Exorcise ghost.
The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.
* Exorcise ghost Pt. 2
* Allow for movement check to be overriden in zero g and adjust doafter args where needed.
You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars
* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.
* Fix evil incorrect and uneeded comments
* clean up a bunch of R&D code
* don't store components
* brug
* speedrun some sloth review
* technology disks
* expand functionality, begin work on printer
* disk printer ui
* file
* fix the rebase
* disk console is finito
* Update DiskConsoleSystem.cs
* Prototype that's mostly borked rather than completely borked
* ECS inserting mats
* Partial ECS mostly done, needs cleanup and visualizer
* Replace timers
* Power visualizes at least
* First ""working"" version
* Clean up all lathes
* Colors
* Fix animation timing
* Fixes greyscale, adds a bunch of colors
* Give every (used) material a color
* Made most lathes take long enough you can at least see there's some sort of animation
* Insertion feedback popup
* Sound for circuit printer and uniform printer
* Fix queueing, optimize update
* Remove mono crash
* cleanup
* Fix test failure
* Techfab inserting sprite
* Cleanup and commenting
* Fix bug in CanProduce check
* Fix UI resolves
* Mirror review stuff
* Remove the unnecessary NetID property from ComponentState.
* Remove Component.NetworkSynchronizeExistence.
* Removed Component.NetID.
* Adds component netID automatic generation.
* Removed NetIdAttribute from serverside components with no corresponding clientside registration.
* Completely remove static NetIds.
* Renamed NetIDAttribute to NetworkedComponentAttribute.
* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.
* Component changes when rebasing that I am too lazy to rewrite into the branch.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>