* 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 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.
* feat: Add VV editor for tuples
* refactor: make tuple editor work in more cases
* feat: support other arity tuples
* fix: correct release notes entry
* refactor: use a new index selector for tuples
Also yank out silly unused code.
* fix: make all non-ValueTuples readonly
* refactor: spell out ValueTuple arities
,,,,,,,,,,,,,,,,,,,,,
This effectively gracefully reverts 94f98073b0.
IPrototypeManager.TryIndex now no longer logs an error. This is done by adding a new overload without the logError parameter, so most existing code switches to it. The overload with the logError parameter is now obsolete.
As a replacement for defensive programming situations, the new Resolve() should be used instead.
IPrototypeManager.TryIndex() should not be used for handling IDs that should always be valid, only for handling user input and similar.
I also added a lot of docs.
* improved public TryTimeSpan
* don't want any locale shenanigans or misconceptions with the input
* missed a test line
* also support capitalized time unit indicators
* Doesn't need to be nullable.
---------
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
* Config load fail is now an error instead of a warning
* Update RELEASE-NOTES.md
---------
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Add IRobustCloneable and check for it in compnet generator.
* Redo compnetgenerator support; add test
* Disconnect client at end of test
* Actually test for client entities
* Cleanup
* Cleanup 2
Index<T> was documented to throw KeyNotFoundException, but actually threw UnknownPrototypeException. Index(Type type, string id) threw KeyNotFoundException.
This has now been made consistent to be UnknownPrototypeException everywhere.
* 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
There's a parallel call in there that's only used when the island should be processed parallel internally. This isn't done for all islands, so allocating the closure in every case is a massive waste.
Somebody ignored the doc comment saying "don't use this with EntityPrototype" so now just *typing* a Tippy command causes the server to lag. Great.
This still isn't too great for performance but at least it's better, and I don't want to commit to making PrototypeManager semi-thread-safe.
* Add Nullable<T> support to ToolshedManager.TryParse
* Check that command arguments are parseable
* release notes
* a
* A is for Array
* Fix test
* Fix indentation
* Fix TransformComponent state handling changing the coordinates of detached entities
* Make ResetPredictedEntities not handle state for detached entities