* Add tests
* Include parent class when counting syncvars
* SyncObject is unneeded
I was also testing SyncObjects and it turned out they were unaffected of this issue. I removed SyncObject from my tests but forgot to do so here.
* Remove host SyncVar hook guard test
* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarAttributeProcessor.cs
* Update SyncVarAttributeProcessor.cs
* Update Assets/Mirror/Tests/Editor/SyncVarAttributeTest.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
* fix(NetworkManager): Try to avoid missing transport errors
- If none assigned, tries to use first Transport available and warns user
- If none available, throws clear error to user what to do.
* improved error msg
* Add Tests
* Fix tests relying on undefined behaviors
- GetSyncVarGameObjectOnClient()
The test relies on the behavior that GameObject SyncVar lookup will behave as client if both isServer and isClient is false.
The test is modified in a way that removes unnecessary object creation and uses a single object that is made sure it's context is client-side.
- TestSyncingAbstractNetworkBehaviour()
This test has been comparing null against null. The test is modified so it simulates each context better.
* Make cached SyncVar getters fallback on no network context
* Remove unnecessary assertions
Gone under my radar doing mindless copy & pasting
* Update Assets/Mirror/Core/NetworkBehaviour.cs
* Update Assets/Mirror/Core/NetworkBehaviour.cs
* Update Assets/Mirror/Core/NetworkBehaviour.cs
---------
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
* fix: kcp2k V1.35 [2023-04-05]
- fix: KcpClients now need to validate with a secure cookie in order to protect against
UDP spoofing. fixes:
https://github.com/MirrorNetworking/Mirror/issues/3286
[disclosed by IncludeSec]
- KcpClient/Server: change callbacks to protected so inheriting classes can use them too
- KcpClient/Server: change config visibility to protected
* credits
* credits
* link blog post
* 2019 compatibility
* Update Assets/Mirror/Transports/KCP/kcp2k/highlevel/KcpPeer.cs
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
* Update Assets/Mirror/Transports/KCP/kcp2k/highlevel/KcpPeer.cs
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
---------
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
* perf(SceneInterestManagement): Only RebuildSceneObservers in Update
Don't RebuildSceneObservers in OnDestroy...that will happen in Update.
Multiple objects could be destroyed in same frame and we don't
want to rebuild for each one...let Update do it once.
* perf(MatchInterestManagement): Only RebuildMatchObservers in Update
Don't RebuildMatchObservers in OnDestroy...that will happen in Update.
Multiple objects could be destroyed in same frame and we don't
want to rebuild for each one...let Update do it once.
* perf(TeamInterestManagement): Only RebuildMatchObservers in Update
Don't TeamInterestManagement in OnDestroy...that will happen in Update.
Multiple objects could be destroyed in same frame and we don't
want to rebuild for each one...let Update do it once.
* SceneInterestManagement: Add curentScene to dirtyScenes in OnDestroy
* MatchInterestManagement - add match to dirtyMatches
* TeamInterestManagement - add team to dirtyTeams