* test for using Generic SyncList
* adding error to network behaviour when generic sync object is used
* ignore generic classes
we can not process generic classes
we give error if a generic syncObject is used in NetworkBehaviour
* feat: NetworkMatchChecker Component
* Added docs
* feat: Use logger framework for NetworkClient (#1685)
* Use logger framework for NetworkClient
* Update Assets/Mirror/Runtime/NetworkClient.cs
Co-authored-by: vis2k <info@noobtuts.com>
* breaking: NetworkVisbility component (#1681)
* backup
* breaking: NetworkProximityCheck abstract class. Simplifies code, reduces complexity, improves performance because if 10k identities have 10 components each, we don't have to iterate 100k components each time we rebuild observers.
* update tests and checkers
* DisallowMultipleComponents
* fix tests
* split OnCheckObserver check
* fix tests
* syntax
* update comment
* renamed to NetworkVisibility
* forgot to remove comment
* breaking: Network Visibility Component
* changing namespaces of performance tests (#1689)
* Updated to use NetworkVisibility
* Updated comments
* Updated OnCheckObserver and removed OnSetHostVisibility
* tests for OnCheckObserver
* adding check for empty guid
* tests for changing matchId
* RebuildObservers if player left a match
* Refactored to make it simpler
Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
* fix: serialize structs in other assemblies
fixes#1570
* removing check for type in another assembly
* fixing call to default constructor
* removing old tests that not longer apply
* fixing typo
* adding error when creating writer for unity base classes
* Test for Generating Reader and Writer functions
* removing old function
Co-authored-by: Paul Pacheco <paulpach@gmail.com>
* adding dirty check before update sync var
* Moving creating spawn payload to its own function
* updating tests
* adding tests for behaviour mask
* adding comment
* removing un-needed cast
* Adding SyncVar methods
this will allow SyncVars to still work if user overrides
OnSerialize as long as they call base.OnSerialize
* Adding tests for NetworkBehaviour OnSerialize
These tests make sure that weaver correctly create code for syncvar
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
* adding extra test
Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
* Adding changed check to PreprocessorDefine
this stops ProjectSettings being marked as dirty each time the editor is opened
* Update PreprocessorDefine.cs
Co-authored-by: vis2k <info@noobtuts.com>
* Moving error check to when cache is created
* updating tests for new code behaviour
* Update Assets/Mirror/Runtime/NetworkIdentity.cs
Co-authored-by: vis2k <info@noobtuts.com>
* Using writer for local connection
LocalConnectionBuffer
* removing assert
* fixing error and cleaning up code
* removing old queue
* tests for LocalConnectionBuffer
* removing field
* removing extra lines
* Update LocalConnections.cs
removing empty line
* adding comment for packet count
* feat: logging api
Provide a ILogger (from unity framework) per class
it can track loggers per class and use Debug.unityLogger by default
* Logger field should never change
* Support loggers for static classes
Unfortunately we can't have generics with static classes.
Thus we can keep the loggers in a Dictionary instead indexed by name
if you need a logger for a static class, you can just do:
private static readonly ILogger logger = LogFactory.GetLogger(nameof(MyClass));
* Remove unused using
* Better tests by providing a mock handler