* 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
* Clean up all missing EntitySystem proxy method uses
* Restore comment
* Fix bad change that caused closure allocation
* tuple
* Revert "tuple"
This reverts commit 14581a40aa.
* Revert "Fix bad change that caused closure allocation"
This reverts commit 215b2559ed.
* Revert "Restore comment"
This reverts commit 4a47a36557.
* Revert "Clean up all missing EntitySystem proxy method uses"
This reverts commit 3b1fe4ce7f.
* Redo with improved code fixer.
Let's see how it fares this time
* Replace PhysicsMapComponent
- Dumb idea
- Lots of book-keeping and perf overhead.
- Much saner this way.
* stuff
* More work
* Purge
* Fixes
* Eh?
* Fixes
* Also this
* weh
* Fixes
* ice-cream
* Fix
* Fix stacking / gravity
* Gravity query
* MoveBuffer optimisations
* Fixes for test
* World gravity
* Fix build
* Avoid some transform resolves for contactless ents
* Less getcomps
* Fix contact caching
* Possibly less copies
* reh
* bulldoze
* Test "fix"
* seikrets
* a
* I saw this but now I decideded against it
* true
* Combine TileChangedEvents in SetTiles
* Raise event after regenerating collision
* continue, not return
* No need for GetComponent
* Swap TileRef for Tile + Vector2i
* Estimate size of tileChanges
* 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>
* Fix warning for using non-generic variant of TryComp for MetaDataComponent RA0030 (Use non-generic variant)
* Use non-generic variant of TryComp for TransformComponent
* Don't rely on client for grid fixture rebuilds
Server is already networking fixture data and this has a chance to go bad.
Easier to just stop this entirely and remove the fixture references to just network the relevant ones for each chunk. Performance impact should pretty much be non-existent and it should be less buggy.
* a
* weh notes
* fix aabb update
* Fix AABB gen
* weh
* More networking
* Fix chunkenumerator allocs
This was number 2 to pathfinding sitting afk on a server. I thought the property would cache it but apparently not. Ref struct is just nicety and it's internal and not exposed to content anyway so.
* also dis
* Add MapSystem.GetMapOrInvalid
This is effectively the same exact behavior as IMapManager.GetMapEntityId. Adding this so I don't have to consider whether warning fixes using MapSystem.GetMap() instead would change behavior.
* Warning fixes around IMapManager.GetMapEntityId
* Fix tests
* Remove full "delta" states
* Update MapGridComponentState
* abstract ComponentState
* Release notes
* Fix tests
* Fix nullable errors
* A
* typo
* Turns out testing my own PRs is a good idea
* too many warnings
* Add grid tile to Vector2 methods
Avoids me having to do it on content.
* Release note
* Engine
* Collapsible
* Add entitylookup methods for parent / map
Content's done it a bunch so make it reusable.
* Add MaxDimension property to Box2
Sometimes I want to pretend it's a circle radius.
* Add GetLocalPosition to controls
In my case I want the mouse's position inside of the control to show something under it unless there's a better way.
* Add global rectangles for controls
Like my other PR used to check if mouse is inbounds on the control without doing some skrunkly caching with mousemove.
* Add dotted line drawing to screen handle
Probably needs anti-aliasing but idk an easy way to do it.
* weh
* weh
* a
* weh
* weh
* Optimise ChunkEnumerator
It never unioned the AABB passed in with the grid's AABB so it might inadvertantly iterate a lot more dummy chunks than it needs to.
This helps speedup FindGridsIntersecting.
* weh
* Add DrawPrimitives overload for List<Vector2>
Storing ValueList in a field seems sussy so this is the next best thing.
* weh
* Bump pool size
* oop wrong method
* Add drawing methods for lists
Content may be using it over a valuelist for whatever reason.
* Add more ValueList conveniences
* Add more CollectionExtension methods
Maybe array.resize is bad for sandbox coin, in which case I'd also settle for changing it to a list instead.
* Add ToMapCoordinates method for NetCoordinates
* fr
* mraow
* Release notes
* Optimise ChunkEnumerator
It never unioned the AABB passed in with the grid's AABB so it might inadvertantly iterate a lot more dummy chunks than it needs to.
This helps speedup FindGridsIntersecting.
* weh
* oop wrong method
* Update RELEASE-NOTES.md
* Fix SetAwake()
* Remove bad debug assert
* EntityQuery & misc optimizations
* Remove bad(?) code, and add new test
* I love engine tests
* Add debug assert