Similar to the previous changes to player sessions, but now one layer lower.
Fixed ServerSendToAll from the relevant callbacks sending to a disconnected channel.
This makes it so players aren't in the Sessions list anymore when their status is Disconnected.
Fixes SS14's lobby code sending lobby status updates to the just-disconnected player, which logs an error with the recent net message changes.
* feat: add analyzer for AfterAutoHandleStateEvent
* fix: correct TestOf attribute
Oopsieeeee.
Also weird newline plus unused import.
* Rerun content tests
* refactor: use ==, not .Contains
* feat: make AttributeHelper.HasAttribute looser
* refactor: use AttributeHelper.HasAttribute
* perf: cache AutoGenStateAttribute's type
* refactor: more pattern matching
ElementAtOrDefault with constant arg is bad; just use positional
matching.
* feat: added generic method for getting component from ComponentRegistry
* refactor: corrected xml-doc
* refactor: moved emthod to ComponentRegistry
* Fix release notes entry.
Wording + it was in the template.
* Fix doc comments
* Do not use inappropriate fallible cast.
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
* feat: new method or aggregating multiple config changed subscriptions into one disposable object or more slim unsubscribing code
* refactor: moved nested private class declaration to bottom of class
* refactor: reusing stateful object in tests is not smart
* fix: invalid code for forming new array during InvokeList.Remove call
* refactor: extracted new sub-multiple builder into configuration manager extensions
* refactor: remove unused code
* refactor: removed UnSubscribeActionsDelegates
* refactor: whitespaces and renaming
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Finishing what I started a couple years ago, the packaging system now packages .rsi files into single .rsic files. This means a single .rsi "file" (1 + N files) becomes a single file when packaged.
This should improve performance on game startup, downloading, etc etc. The total file count for SS14 goes down from 30,000 to 6,000 (with the previous change for merging text files too).
Mostly just involved shuffling a bunch of the RSI loading code around so that it can be re-used for this purpose nicely. The original prototype in the code was copy-pasted, which obviously couldn't be relied upon.
This does mean that if you're loading an RSI's interior PNG directly via a texture path, that PNG will now be unavailable on packaged builds. To avoid this, you can set "rsic": false in the meta.json, so that it gets left alone by the pass.
This massively reduces the file count of published SS14 builds by a few thousand, by combining YAML prototypes and Fluent files in the same folder into one file.
This happens if you have a YAML file like this:
---
# commented prototype
---
# Real prototype
- type: bla
This case is generated by my (next commit) prototype file merger asset pass, and I don't see any harm in just skipping in this case.
Also improve the logging in general.
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.