* 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>
* New Type Serializers
* Delete NetCoordinatesSerializer.cs
* Make EntityCoordinates and MapCoordinates use DataRecord
* Turn them into actual record structs
I'm somewhat surprised the DataRecord attribute doesn't check this
* Allocate MapIds before deserializing components
* Deserialize preallocated ids
* fix map merge assert
* remove old
* Use TryGetMap
* release notes
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.
* Initial commit
* Add tile rotation/mirror perms
* Nicer UI for the rotation
* Review fixes (also seemed to have missed applying the serialization reading oops)
* One less byte, one less struct size!
* Pretty sure it goes here too
* Fix error
* fix(maploader): Fix DirectoryNotFoundException
Someone forgor to create directory before saving map or grid, this caused
an exception on trying to save smth anywhere else than /
* update release notes