* Switched obsolete logger usages to use Sawmill
Fix the majority of obsolete logger usages outside the engine code.
* Fix injection in ChatManager and revert BuildMech changes
* Removed extra manual injection
* Reduced extra static injection and reverted changes to CommandButton as it needs engine changes.
* Removed two more cases of double injection and an extra using
* Reverted changes for Inventory Display
* Moved sawmill setup outside constructor in Table to resolve test failure
* Fix usages of TryIndex()
Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)
This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)
This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.
Fixes#39115
Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.
* fix tests
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* make hover and info use construction proto name, not entity name
* recipeButtons uses IDs as keys, not names
* return making item green when selected
* 1 warning in MechAssemblyVisualizerSystem
* 2 warnings in RecyclerVisualizerSystem
* 1 warning in ClusterGrenadeVisualizerSystem
* 2 warnings in BarSignSystem
* 4 warnings in AlertControl
* 1 warning in ToolSystem
* 2 warnings in PinpointerSystem
* 2 warnings in ClientSpriteMovementSystem
* 2 warnings in OptionsVisualizerSystem
* 1 warning in FlatpackSystem
* 1 warning in ZombieSystem
* 1 warning in StackSystem
* 1 warning in MiningOverlay
* 1 warning in FlippableClothingVisualizerSystem
* Guard clause for MechAssemblyVisualizerSystem
* Get SpriteSystem in AlertControl constructor
* Persist construction menu favorites to player profile
* Use `ProtoId`s for construction favorites
* Validate construction favorites updates from the client
* Actually await the async database call
* Now the name of the target craft items is taken directly from the prototypes
* Deleting unnecessary fields
* Deleting unnecessary fields
* Added suffix field
* Added override via localization keys
* My favorite ItemList and TextureRect have been replaced with ListContainer and EntityPrototypeView
* Fix suffix
* Fix construction ghosts... maybe
* Remove suffix from UI
* Suffixes have been removed from prototypes
* Added a description for the secret door
* Fix search..?
* The Icon field of ConstructionPrototype has been removed
* StackPrototypes used in the construction menu have been localized
* TagConstructionGraphStep used in the construction menu have been localized
* The search bar has been localized
* Fix localization and prototypes
* Recipes are now only loaded when the crafting window is opened.
* Fix crooked merge grid of the crafting menu.
* Localization update
* Fix cyborg graph
* Revert "Recipes are now only loaded when the crafting window is opened."
This reverts commit 97749483542c2d6272bda16edf49612c69a0761a.
* Fix loc
* fix merge
* Fix upstream
* Some of the logic has been moved to Shared
* fix
* Small adjustments
* Very small change
---------
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Power stuff
- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.
* big update
* boing
* Remove some BUI boilerplate
- The disposals overrides got removed due to the helper method handling it.
- Replace window creation with CreateWindow helper.
- Fixed some stinky code which would cause exceptions.
* More
* moar
* weh
* done
* More BUIs
* More updates
* weh
* moar
* look who it is
* weh
* merge
* weh
* fixes
* Added fovarite button
* Some fixes in xaml
* added some events for favorite recipes
* set methods for presenter
* fixes for presenter
* added translates
* reset seach when you select any category
* added some margins
* some fixes from compared
* fixed PR notes about arrays
* deleted controls & margins
* did simpleer with arrays
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Replace obsolete whitelist is valid with whitelist system
* Consistency
* Fix logic
* Bork
* I figured out how to get whitelists on the client lol
* test fail
* woops
* HELP ME FUNCTIONS
* Fix errors
* simplify
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
* Initial prediction
* new group handling
* groups for all examines that use multiple rn
* compile
* why was it doing this??
* handle newlines with sorting properly
* moved ComputerBoardComponent to Content.Shared
* made flatpacker accept computer boards
* made flatpack system and ui function with computer boards
* fixed it so that flatpacks of computers are correctly coloured to fit their computer board colour
* unhardcoded the computer flatpack assembly cost
* Combined GetFlatpackCreationCost(...) with GetflatpackCreationCostForComputer(...)
* removed code duplication in SharedFlatpackSystem
* removed code duplication from FlatpackCreatorMenu.xaml.cs
* remove code duplication from FlatpackSystem (on the server)
* fixed indentation error
* Flatpacker and flatpacks
* ok that's good enough
* convert solars/AME to flatpacks
* mats, mats, we are the mats
* basic mechanics are DONE
* thing
* final UI
* sloth
* rped jumpscare
* rename