* Move MapManager queries to SharedMapSystem
Moves all variants of FindGridsIntersecting/TryFindGridAt to SharedMapSystem
Hollows out the MapManager methods and converts them into relays to SharedMapSystem
* Move CreateGrid to SharedMapSystem
Moves the functionality for CreateGrid and its variants to SharedMapSystem
Hollows out the MapManager methods and converts them into relays for the SharedMapSystem methods
Obsoletes them too
Also moves over the GetAllMapGrids and GetAllGrids methods
* Move RaiseOnTileChanged to SharedMapSystem
Also moves the SuppressOnTileChanged flag member to SharedMapSystem
Hollows out and obsoletes the MapManager versions
* Move default value constants to SharedMapSystem
* Converts map pausing events into LocalizedEntityCommands
* Move MapManager related delegates/structs to SharedMapSystem
Moves the GridCreationOptions struct to the same namespace as SharedMapSystem and converts it into a record struct
Move the GridCallback delegates to the same namespace as SharedMapSystem
* Move CullDeletionHistory to SharedMapSystem
Well, that was less painful than I thought it would be
* Actually obsolete the NetworkedMapManager method
* Rename file
* Doc comments for new SharedMapSystem methods
* Doc comment
* Doc comments
* Fix access
* Purge all references to IMapManagerInternal
* Cull easy IMapManager references
* The rest
* Purge IMapManager
* Private internal FindGridsIntersecting method
* please die
* 41
* notes
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* [Dependency] source generator
No more reflection, no more codegen at runtime
Also various changes to Roslyn helpers to make this easier to write.
Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.
No fallback is available for [field: Dependency] properties, due to a Roslyn bug.
Code Fixes exist. We love Roslyn
* Apply dependencies generator changes to all code
* Release notes
* Preprocessor got hands
* Handle nullable dependencies
These are bad but gotta deal with it.
* Apply suggestions from code review
Co-authored-by: Moony <moony@hellomouse.net>
* Fine, let's not use collection expressions
---------
Co-authored-by: Moony <moony@hellomouse.net>
Content nowadays has a bunch of Overlays that all cache IRenderTextures for various funny operations. These are all broken in the face of multiple viewports, as they need to be cached *per viewport*.
This commit adds an ID field & an event to allow content to properly handle these resources.
Also adds some debug commands
We were relying on a global PopupRoot & ModalRoot, which only existed in the main window. This means things like OptionButton would pop out on the *main* window when put on secondary windows.
These two roots are now on the UIRoot instead. WindowRoot needs to have a function called to create these if you're using it manually, OSWindow supports it automatically.
Lays items out sequentially, wrapping them onto different rows/columns if they stop fitting.
Has multiple options and should be very useful, in both content and engine.
Uses the new Axis system to implement layout on 4 axis, re-uses BoxContainer's code so BoxContainer also got a mild refactor.
Vector3, Vector4, Matrix4, and Quaternion are now gone. Use System.Numerics instead.
This commit is just replacing usages, cleaning up using declarations, and moving over the (couple) helpers that are actually important.
Previously these errors propagated all the way into Clyde. Guh.
Probably still need more error handling around the input system, but this is important regardless.
* Fix warnings in SharedJointSystem
* Fix reference to EC TransformComponent method
Replaces call to TransformComponent.GetMapUid with SharedTransformSystem.GetMap
* Fix obsolete calls in SharedPhysicsSystem.Contacts.cs
Fixes a couple calls to obsolete varients of SetAwake and an obsolete call to RegenerateContacts by converting them to their Entity<T> varients
* Fix obsolete call in SharedPhysicsSystem.Components.cs
Adds one set of parenthesis to convert a 'uid, comp, comp, comp' call to an 'Entity<T, T, T> call.
* Removes unused local var
Removes an unused list of broadphases that was being allocated in TryCollideRect
* One-line fixes in SharedPhysicsSystem.Islands.cs
Fixes all of the easy warnings regarding physics island processing, the rest require more complicated changes than a simple argument rearrangement
* Fix obsolete method call in SharedMapSystem
* Fix a few obsolete ToMap calls in EntityLookup.Queries
* Fix calls to obsolete EntityCoordinate methods in SharedMapSystem.Grids
* Fix calls to obsolete EntityCoordinate methods in SharedLookupSystem.ComponentQueries
* Fix a few obsolete method calls in entity spawning
* Fix obsolete method calls in MapLoaderSystem
* Fix obsolete method call in GridFixtureSystem
* Fix obsolete IsMapInitialized call in SaveMap command
* Fix obsolete MapPosition reference in Client.EyeSystem
* Fix obsolete EntitySystem.Get<TSystem> references in DebugLightTreeSystem
* Fix obsolete EntitySystem.Get<TSystem> reference in DebugEntityLookup command
* Fix obsolete method calls in SpriteBoundsOverlay
Slightly more complicated than the rest, but it's really just changing an unused dependency over to use SharedTransformSystem
* Remove unused IClyde references from controls
LineEdit and TextEdit never use their IClyde dependencies and it generates a warning so yeet
* Remove use of EntitySystem.Get from lightbb command
* Fix DebugDrawingSystem
Removes a bunch of unused private IEntityManager vars
Also removes an obsolete use of TransformComponent.GetWorldPositionRotation
* Removes duplicate position set when splitting grids
There's nothing saying why this is this way and the blame looks like it was an oversight when replacing a bit where they set position and then rotation
Please, oh Chesterton's Fence, spare me your wrath
* Fix obsolete method use in PlacementMode
* Fix obsolete method use in Placement Modes
* Removes unused local var in gamestate management
* Fix unreachable code warnings in gamestate management
Use #else sections to make sure they don't complain about being on the wrong side of a throw
* Fix obsolete ToMap use in EyeManager
* Make InputManager use a sawmill to log
* Fix obsolete ContainerManagerComponent method calls in ContainerSystem
* Make ClientPrototypeManager use a sawmill for logging
* poke tests
* Use LocalizedEntityCommands for SpriteBoundsOverlay toggle
* Use LocalizedEntityCommands for system toggles
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* New HWID system prep
* Allow HWID to be disabled.
Both client and server can now request HWID to be disabled.
On the server via CVar, if disabled the client won't send it.
On the client via env var, if disabled it won't be sent to the client.
This involved moving legacy HWID to be sent in MsgEncryptionResponse instead of MsgLoginStart. This means the legacy HWID won't be available anymore if the connection isn't authenticated.
* Fix tests
* Fix another test
* Review
* Thanks Rider
* Warning fixes in Robust.Shared
* Robust.Client warning fixes
* Fix test failure
Test failures were due to broken system registrations for the client RobustUnitTest. It was accidentally registering some server systems, which means DebugPhysicsSystem wasn't gettings its dependencies properly.
Fixing this meant pulling half a dozen extra dependencies that client ContainerSystem and TransformSystem are supposed to have, but didn't.
* Debug window collection popup
* Try fixing?
* DevUI shows children and string collections
* XAMLify the popup
* Rename popup
* Deduplicate code
* Simplify popup creation
* MouseFilter.Ignore is default so it can be removed
Fixed being able to position the cursor vertically if placeholder text was visible and multi-line. This is because the code was using line break info for the place holder. On top of not being correct behavior, this caused further exceptions since the cursor would get outside the editable text rope.
Fixed index exception if you try to move left in an empty text edit.
Has regression tests.
Fixes#4957, fixes#4953
* Saving work
* Move shit to engine
* lord
* merg
* awa
* bql is kill
* forgot the fucking bike rack
* bql is kill for real
* pjb will kill me
* aughfhbdj
* yo ho here we go on my way to the MINES
* a
* adgddf
* gdsgvfvxshngfgh
* b
* hfsjhghj
* hbfdjjh
* tf you mean i have to document it
* follow C# standards
* Assorted cleanup and documentation pass, minor bugfix in ValueRefParser.
* Start porting old commands, remove that pesky prefix in favor of integrating with the shell.
* Fix valueref up a bit, improve autocomplete for it.
* e
* Toolshed type system adventure.
* a log
* a
* a e i o u
* awa
* fix tests
* Arithmetic commands.
* a
* parse improvements
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>