* [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>
This is important groundwork for future features such as captioning,
as a caption and other data can be associated with the collection
prototype instead of passing extra data everywhere with the sound.
* feat: added audio system predicted method for only one receiver
* renamed to PlayLocal
* tweak
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Fix grid-based audio
- Fixes parenting issues.
- Add SetGridAudio as an easy way to set it up and apply the override too.
* No more global
* Rejig it all
* mergew
* review
* Minor optimisation
* Revert "Minor optimisation"
This reverts commit d0cdac7690.
Useful in some rare cases, mainly for grid-related activities.
Specifically:
- Audio entity where we never want it detached.
- FTL previs effects to show impending squish.