* Revert "Hotfix: pass last state in SharedUserInterfaceSystem.EnsureClientBui (#6840)"
This reverts commit 08b3257ece.
* Revert "Bugfix: SharedUserInterfaceSystem stores and applies BUI states in order. (#6829)"
This reverts commit c766e79ef4.
* Revert "Defer UI operations until UI system runs frame update (#6789)"
This reverts commit f44d7e00c3.
* store intermediate bui states
* exception printout, remove redundant check
* Set state on Open
* trygetvalue defaults, you dingus
* fix string interpolation bug
* queue in SetUiState
* queue in SetUiState regardless
* TryGetValue->GetValueOrDefault
* 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>
* 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
* [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>
* Attribute, analyzer, and tests
* Add attribute to EntitySystem methods
* Code fixer for redundant method name
* Code fixer for proxy substitution
* Comments
* Improve error message when target method is not found
* Modify AddComp signature to match AddComponent (Component -> IComponent)
* Revert "Modify AddComp signature to match AddComponent (Component -> IComponent)"
This reverts commit 1939d11765.
* Check that proxy and target have matching type constraints
* Reapply "Modify AddComp signature to match AddComponent (Component -> IComponent)"
This reverts commit a65ea71b9b.
Might as well include this, since the file needs to be changed anyway.
* Boost efficiency by only searching for proxy methods once.
Previously we searched with each method invocation.
This also lets us skip analysis on classes with no proxy methods available.
* Revert unrelated change
* Fine, I'll do it properly
* Misleading method name
* Preserve trivia when when replacing method
* Prevent flagging method calls on non-member variables
* Prevent flagging method calls on other classes
* Switch to new HasAttribute helper
* comment fix
* Switch ProxyMethod from struct to class
* Kill TryGetAttributeSyntax
* Move member owner check to helper
* Use helper for proxy method search
* meh
* A little bit of documentation never hurt anybody
* Test attributes
* Convert AnalyzeDeclaration from SyntaxNodeAction to OperationAction
* You can keep the comment though