Commit Graph

6384 Commits

Author SHA1 Message Date
vis2k
6d18c42593 NetworkServerTest: SendToClientOfPlayer test removed because it did not even test SendToClientOfPlayer, and the function is obsolete anyway 2021-06-15 17:26:09 +08:00
vis2k
e02032f1ca NetworkServerTest: SendToClientOfPlayer cleanup 2021-06-15 17:24:29 +08:00
vis2k
4b2fa2c5b4 NetworkServerTest: RegisterUnregisterClearHandler cleanup 2021-06-15 17:22:48 +08:00
vis2k
50c6a69492 syntax 2021-06-15 17:17:49 +08:00
vis2k
afeef26fdb NetworkServerTest: SendToAll simplified 2021-06-15 17:14:34 +08:00
vis2k
b2ae4ef7e1 NetworkServerTest: CommandMessageCallsCommand cleanup 2021-06-15 17:11:31 +08:00
vis2k
26e18d7e87 NetworkServerTest: ReadyMessageSetsClientReady cleanup 2021-06-15 17:06:51 +08:00
vis2k
092ff4538a NetworkIdentityTests: reuse CreateLocalConnectionPair 2021-06-15 17:03:57 +08:00
vis2k
79c6897249 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 17:01:44 +08:00
vis2k
06628b3b70 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 17:00:31 +08:00
vis2k
841c3ca2f2 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:58:54 +08:00
vis2k
855e0017c8 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:50:23 +08:00
vis2k
bf7250c096 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:49:44 +08:00
vis2k
68c72a7d54 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:48:45 +08:00
vis2k
bfd03adb09 NetworkServerTest: reuse CreateLocalConnectionPair 2021-06-15 16:47:04 +08:00
vis2k
46d49381b0 syntax 2021-06-15 16:46:54 +08:00
vis2k
58cae69647 NetworkServerTest: SetAllClientsNotReady reuses CreateLocalConnectionPair 2021-06-15 16:45:27 +08:00
vis2k
bf6957c150 NetworkServerTest: RemoveLocalConnection reuses CreateLocalConnectionPair 2021-06-15 16:44:31 +08:00
vis2k
133b1eb841 LocalConnectionTest: use CreateLocalConnectionPair 2021-06-15 16:42:34 +08:00
vis2k
7f36a75ef7 NetworkServerTest: SetClientReadyAndNotReady simplified 2021-06-15 16:40:58 +08:00
vis2k
2506195e42 MirrorTest: CreateLocalConnectionPair helper function 2021-06-15 16:40:48 +08:00
vis2k
34634e51b0 LocalConnection classes made public for tests 2021-06-15 16:39:06 +08:00
vis2k
2706eb30b9 LocalConnectionToClient made internal for tests 2021-06-15 16:37:37 +08:00
MrGadget
8218979e32
fix: Prevent m_AssetId set to empty string (#2766)
* fix: Prevent m_AssetId set to empty string
Fixes: #2765

Checks path for empty string before assigning to `m_AssetId`.

I left commented debug logs in place from testing, which was setting `NetworkIdentity.ServerOnly` on and off both in normal edit mode and prefab edit mode. In either mode, OnValdidate fires 4 times, and two of those try to set an empty string to `m_AssetId`.

* Changes as requested

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

* Update NetworkIdentity.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-15 16:10:42 +08:00
vis2k
b08cc62fd4 NetworkServerTest: OnDataReceivedInvalidConnectionId simplified 2021-06-15 14:16:55 +08:00
vis2k
e827c6c0f3 fix: NetworkClient.Shutdown now clears OnDis/ConnectedEvents 2021-06-15 14:13:05 +08:00
vis2k
68a4a06926 fix: NetworkServer.Shutdown now clears OnDis/ConnectedEvents 2021-06-15 14:11:02 +08:00
vis2k
8295c8d5ab rename 2021-06-15 13:58:20 +08:00
vis2k
a45cef2536 Tests: reuse ProcessMessages 2021-06-15 13:58:03 +08:00
vis2k
3d0c13ec6a MirrorTest: ProcessMessages updates transports too now 2021-06-15 13:52:02 +08:00
vis2k
2ab17571cf MirrorTest: ProcessMessages: switch update order so we can use it in NetworkServerTest.ClientToServerMessage 2021-06-15 13:51:32 +08:00
vis2k
196f4d3f36 NetworkServerTest: remove complicated OnDataReceived test. ClientToServerMessage does the same now. 2021-06-15 13:46:54 +08:00
vis2k
113b8cebaa NetworkServerTest: ClientToServerMessage 2021-06-15 13:46:06 +08:00
vis2k
4db998f9a6 MirrorTest: ConnectClientBlocking helper function 2021-06-15 13:45:57 +08:00
vis2k
41d4b31856 NetworkServerTest: DisconnectAllTest_LocalConnection cleanup 2021-06-15 13:37:17 +08:00
vis2k
0df666382f NetworkServerTest: DisconnectAllTest_RemoteConnection cleanup 2021-06-15 13:36:18 +08:00
vis2k
42de58c9e9 NetworkServerTest: RemoveConnection cleanup 2021-06-15 13:34:55 +08:00
vis2k
86f83da2d9 NetworkServerTests: AddConnection test split into two, and cleaned up 2021-06-15 13:33:23 +08:00
vis2k
ab4c2bceae NetworkServerTest: RemoveLocalConnection cleanup 2021-06-15 13:28:51 +08:00
vis2k
64e8697031 NetworkServerTest: SetLocalConnection split into two tests 2021-06-15 13:27:48 +08:00
vis2k
37c972658e NetwrokServerTests: cleanup OnConnectedOnlyAllowsNonZeroConnectionIds 2021-06-15 13:25:25 +08:00
vis2k
79fee4c93d syntax 2021-06-15 13:23:08 +08:00
vis2k
b3820991a1 syntax 2021-06-15 13:19:31 +08:00
vis2k
26d72ada5d syntax 2021-06-15 13:17:50 +08:00
vis2k
f2f911808f remove unused import 2021-06-15 13:09:40 +08:00
vis2k
ddb00ae2d1 Tests: remove empty TearDowns 2021-06-15 13:08:44 +08:00
vis2k
b1e286d779 RemoteTestBase: remove redundant NetworkClient.Disconnect 2021-06-15 13:07:17 +08:00
vis2k
52ee9408b1 Tests: remove redundant NetworkServer.Shutdowns 2021-06-15 12:50:27 +08:00
vis2k
6e7d71b9d3 MirrorTest: clear NetworkIdentity.spawned in TearDown 2021-06-15 12:48:19 +08:00
vis2k
7a7ea26cc9 MirrorTest: TearDown shuts down NetworkClient/Server too 2021-06-15 12:45:09 +08:00
vis2k
3d535e0c4e LocalConnectionTest : MirrorTest so that transport etc. are available too (prepares for tick batching) 2021-06-15 12:37:33 +08:00
vis2k
0d7edde710 fix NetworkClientTests.Send() test 2021-06-15 12:07:37 +08:00
MrGadget1024
4a03c3034e Fixed typo in comment 2021-06-14 13:26:07 -04:00
MrGadget1024
21a6b64e38 Updated Compiler Symbols MIRROR_41_0_OR_NEWER 2021-06-14 10:01:43 -04:00
Alexander Klaiber
d2ee4979f7
fix: clientAuthority access (#2779)
Provide the same interface access for runtime changes like the NetworkTransform class.
2021-06-14 09:42:59 -04:00
vis2k
7bd65c2d9b syntax 2021-06-14 21:19:43 +08:00
vis2k
bdb410e015 fix: NetworkServer.OnTransportData header size is now checked before every message unpacking again like before batching. 2021-06-14 17:53:41 +08:00
vis2k
e6b379fb8d fix: NetworkClient.OnTransportData header size is now checked before every message unpacking again like before batching. 2021-06-14 17:51:42 +08:00
vis2k
8e8cc71e94 Unbatcher.GetNextMessage: use NetworkReader.Remaining 2021-06-14 17:48:31 +08:00
vis2k
aa71d2a848 NetworkIdentity.OnDeserializeSafely: use NetworkReader.Remaining 2021-06-14 17:48:23 +08:00
vis2k
ccbd6185b4 feature: NetworkReader.Remaining for convenience 2021-06-14 17:46:12 +08:00
vis2k
7c91707d34 Unbatcher: StartReadingBatch helper function to prepare for tick batching 2021-06-14 16:43:14 +08:00
vis2k
2aa8958210 remove unused 2021-06-14 16:34:39 +08:00
vis2k
dcf470b1e9 breaking: remove NetworkClient/NetworkServer.batching properties. Tests still pass. Batching needs to be always on for tick batching. 2021-06-14 15:13:00 +08:00
vis2k
72f915a456 breaking: force enable batching to prepare for TickBatching 2021-06-14 14:54:00 +08:00
vis2k
7eacdaa96b
NetworkConnectionToClient.Disconnect(): remove RemoveFromObservingsObservers because we do that in OnTransportDisconnected now, which is called for both voluntary and involuntary disconnects. (#2760) 2021-06-14 12:11:40 +08:00
vis2k
2c9dd3fc01 add comments 2021-06-13 13:28:09 +08:00
vis2k
a55932ea81 Unbatcher: update icon 2021-06-13 13:05:52 +08:00
vis2k
2c2581fa08 fix: #2778 SpawnObjects SetActive(true) would not initialize NetworkIdentity if the parent is inactive because Unity would not call Awake() 2021-06-13 13:03:49 +08:00
vis2k
6eea1e77f5 fix: #2744 KcpTransport statistics changed to long to avoid int overflows 2021-06-12 18:39:49 +08:00
vis2k
c5e8614101
fix: #2651 scene changing with batching would cause errors because we wouldn't stop the batch processing after a scene message (#2774) 2021-06-12 18:33:46 +08:00
vis2k
9dfc823df6
perf: Client -> Server batching (#2773)
* perf: Client->Server batching to prepare for tickbatching/NT and batching scene change fix

* move to NetworkConnection base class
2021-06-11 12:19:45 +08:00
vis2k
72623ae60b add comment 2021-06-10 21:11:51 +08:00
vis2k
9d7b83e035
The Unbatcher (#2771) 2021-06-10 12:33:45 +08:00
vis2k
53a119d3ab
The Batcher (#2770)
* Batcher & Tests

* NetworkConnectionToClient: use Batcher

* folder

* namespace

* comment

* rename param

* add comment
2021-06-10 12:23:25 +08:00
vis2k
2f5ce11491 NetworkReaderPool: use NetworkReader.SetBuffer 2021-06-09 21:13:30 +08:00
vis2k
854ea1e5a3 NetworkReader.SetBuffer helper function to prepare for batching improvements 2021-06-09 21:13:19 +08:00
vis2k
8089490b51 add TODO 2021-06-09 13:08:27 +08:00
vis2k
a159fe3c41 update comment 2021-06-09 13:06:04 +08:00
vis2k
6e448f22f7 breaking: remove batchInterval to prepare for TickBatching and for the scene change fix 2021-06-09 12:56:09 +08:00
vis2k
24130d6e35 update comments 2021-06-09 12:32:44 +08:00
Angga Permana
83c86f0f16
fix typo (#2769) 2021-06-08 19:19:04 -04:00
Robin Rolf
9ff054ade4
Missing space in weaver log message (#2767) 2021-06-08 08:36:23 -04:00
vis2k
3eefed30fb cherry picked preprocessor define from asset store release branch 2021-06-08 12:45:19 +08:00
vis2k
f84c012ae8
perf: kcp2k V1.11 - where-allocation - 25x reduction in Socket.SendTo/ReceiveFrom allocations (#2759) 2021-06-08 12:41:56 +08:00
vis2k
0a9533eb92 fix: Telepathy V1.8 [2021-06-02]
- fix: Do not set timeouts on listener (fixes https://github.com/vis2k/Mirror/issues/2695)
- fix: #104 - ReadSafely now catches ObjectDisposedException too
2021-06-02 11:52:14 +08:00
vis2k
a2c7a7e60d add comment 2021-06-02 11:22:50 +08:00
MrGadget
456e098544
fix: Clear observers from other clients (#2757)
* fix: Clear observers from other clients
Fixes #2737

Added call to RemoveFromObservingsObservers in NetworkServer.DestroyPlayerForConnection

* Update NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-02 11:18:47 +08:00
vis2k
99db41b483 improve error message 2021-06-01 12:15:46 +08:00
MrGadget1024
4e5ad17699 Updated Readme
Unity version, formatting
2021-05-30 15:26:43 -04:00
vis2k
114c68a8d5 add test for #2674 2021-05-30 12:14:52 +08:00
MrGadget1024
9fc5e0c287 fix: Fixed PlauerUI Text in Basic Example 2021-05-29 16:22:28 -04:00
vis2k
3efc917b6e fix: NetworkIdentity default execution order set to -1. guarantees Awake() initializing all NetworkBehaviours before their Awake is called. [imer, FakeByte] 2021-05-28 20:00:35 +08:00
vis2k
a0e062af94 add comment 2021-05-28 19:55:59 +08:00
vis2k
10c39a59cc fix: kcp2k V1.10
- feature: configurable Timeout
- allocations explained with comments (C# ReceiveFrom / IPEndPoint.GetHashCode)
- fix: #17 KcpConnection.ReceiveNextReliable now assigns message default so it
  works in .net too
- fix: Segment pool is not static anymore. Each kcp instance now has it's own
  Pool<Segment>. fixes #18 concurrency issues
2021-05-28 16:36:52 +08:00
MrGadget1024
3abaa70f0f NetworkManager: Commented noisy Debug.Log 2021-05-28 03:51:17 -04:00
MrGadget1024
4d1f440b7d Revert "NetworkManager: Commented noisy Debug.Log"
This reverts commit 9c45d6685b.
2021-05-28 03:44:19 -04:00
MrGadget1024
9c45d6685b NetworkManager: Commented noisy Debug.Log 2021-05-28 03:43:48 -04:00
MrGadget1024
f77583c5e4 Changed all deprecation dates to ISO format 2021-05-28 03:39:48 -04:00
Robin Rolf
1432932c7f
Remove non-existant param from xml doc (#2750) 2021-05-28 12:15:30 +08:00
vis2k
e6b27cf7e8 fix: NetworkClient.Disconnect NullReferenceException if connection was null 2021-05-28 02:25:27 +08:00
vis2k
089e5bbb59 perf: NetworkServer.Broadcast serialization lookup removed. serializations are now cached and rebuilt in NetworkIdentity based on timestamp.
=> way easier
=> way faster because we don't need to recycle two writers for every .spawned at the end of broadcast
2021-05-27 12:24:06 +08:00
vis2k
fe3b7ae57c TODO 2021-05-27 12:20:24 +08:00
vis2k
724eb7e09c iso date format 2021-05-26 20:07:30 +08:00
vis2k
f8319d0f80 TODOs 2021-05-26 19:58:48 +08:00
vis2k
d0d32785db Tests: ClientSceneTest_LocalPlayer_asHost moved to separate file 2021-05-26 19:55:24 +08:00
vis2k
06691c9aef ClientSceneTests_LocalPlayer: reuse CreateNetworked 2021-05-26 19:54:22 +08:00
vis2k
edd580fb7b syntax 2021-05-26 19:49:38 +08:00
vis2k
dd9949d3aa HostSetup: reuse CreateGameObject 2021-05-26 19:40:16 +08:00
vis2k
c636e19dcd remove unused import 2021-05-26 19:37:53 +08:00
vis2k
f94ff22f55 NetworkServerRuntimeTests: reuse MirrorPlayModeTest 2021-05-26 19:37:21 +08:00
vis2k
a911e580e1 add comment 2021-05-26 19:35:49 +08:00
vis2k
e45c6b98ca add comment 2021-05-26 19:34:27 +08:00
vis2k
a143124941 NetworkIdentityTests (runtime): reuse MirrorPlayModeTest 2021-05-26 19:33:28 +08:00
vis2k
9b78ee82f1 Tests: MultiplexTransportEnableTest moved to separate file 2021-05-26 19:30:02 +08:00
vis2k
227402c6aa ClientSceneTests_LocalPlayer: reuse CreateNetworked 2021-05-26 19:28:02 +08:00
vis2k
5e1e8128fe ClientSceneTests_DestroyAllClientObjects uses MirrorPlayModeTest 2021-05-26 19:26:01 +08:00
vis2k
5c38f6f989 syntax 2021-05-26 19:20:20 +08:00
vis2k
359184942f Tests: HostSetup reuses MirrorPlayModeTest 2021-05-26 19:17:46 +08:00
vis2k
e5f4461315 rename 2021-05-26 19:15:45 +08:00
vis2k
378a7402b9 MirrorPlayModeTest 2021-05-26 19:14:58 +08:00
vis2k
dc2fee7212 MirrorTest renamed to MirrorEditModeTest to prepare for MirrorPlayModeTest 2021-05-26 18:46:20 +08:00
vis2k
940ff58e72 NetworkClient.isLocalClient renamed to isHostClient, which is less confusing 2021-05-26 18:33:41 +08:00
vis2k
443b542fb6 update summary 2021-05-26 18:31:14 +08:00
vis2k
a43837e0d8 UpdateVarsMessage renamed to EntityStateMessage so it's more obvious. NetworkClient.OnEntityStateMessage can be reused for WorldState easier later. 2021-05-26 18:16:51 +08:00
vis2k
0a6cd15bbd MessagePackingTest: don't rely on UpdateVarsMessage 2021-05-26 18:14:55 +08:00
vis2k
193d2cbfeb syntax 2021-05-26 18:06:08 +08:00
vis2k
b4cecccbcb NetworkServer: GetEntitySerializationForConnection helper function 2021-05-26 18:04:48 +08:00
vis2k
ca319fdb32 rename 2021-05-26 17:58:42 +08:00
vis2k
27378e3146 syntax 2021-05-26 17:57:17 +08:00
vis2k
98bd54f5eb NetworkServer.Broadcast helper function 2021-05-26 17:56:14 +08:00
vis2k
4763bad896 NetworkServer: DisconnectInactive helper function 2021-05-26 17:55:06 +08:00
vis2k
82b79df1be NetworkServer: ClearSpawnedDirtyBits helper function 2021-05-26 17:52:29 +08:00
vis2k
a8630abbf6 NetworkServer: CleanupSerializations helper function 2021-05-26 17:51:15 +08:00
vis2k
2085cd387f NetworkServer: broadcast to connection code moved into BroadcastToConnection 2021-05-26 17:49:19 +08:00
vis2k
7af1156d4a perf: Extensions.CopyTo foreach allocation removed 2021-05-26 14:51:17 +08:00
vis2k
15b13c9bf6 perf: Pool initial capacity. allocates writers during initialization so we have fewer allocations in the first few frames 2021-05-26 14:45:11 +08:00
vis2k
8adede43a2 NetworkIdentity.visibility: assign from Awake instead of lazy get 2021-05-26 14:19:13 +08:00
vis2k
a10cdd6cbf
NetworkConnection: move message processing to NetworkServer/Client to avoid extra round in call stack (#2744)
* NetworkConnection: remove redundant .handlers state. NetworkConnectionToClient/Server use NetworkServer/Client anyway.

* NetworkConnection: move OnTransportData to NetworkServer/Client to simplify call stack. previously it was:

  Transport.OnData
    Server/Client.OnTransportData
      Connection.OnTransportData
        Connection.UnpackAndInvoke
          Connection.InvokeHandler
            Server/Client.Handler

now it is:

  Transport.OnData
    Server/Client.OnTransportData
      Server/Client.UnpackAndInvoke
        Server/Client.Handler
2021-05-26 10:18:44 +08:00
MrGadget1024
26a7a2f76a fix: Stop Discovery when client gets into Connected state 2021-05-24 22:30:11 -04:00
vis2k
e5f32feeba syntax 2021-05-24 17:45:26 +08:00
vis2k
ceb7b24b8a
breaking: NetworkBehaviour .netIdentity, .ComponentIndex, .NetworkBehaviours[] simplified by setting it from NetworkIdentity.Awake() (#2742) 2021-05-24 17:41:34 +08:00
vis2k
52b3c94e20 NetworkServerTest: clean up client too 2021-05-24 16:04:43 +08:00
vis2k
9ac8997d6a comments 2021-05-24 15:06:29 +08:00
vis2k
02e8cde323 syntax 2021-05-24 15:05:05 +08:00
vis2k
98ea3af0e0 LocalConnectionTest: correct test names 2021-05-24 15:04:41 +08:00
vis2k
7ebb7fafcb rename 2021-05-24 14:55:03 +08:00
vis2k
3309fa4cc3 TODO 2021-05-23 23:42:44 +08:00
vis2k
77e8f1d7e4 ClientSceneTests: reuse CreateNetworked 2021-05-23 23:36:26 +08:00
vis2k
0a28072f26 syntax 2021-05-23 22:41:27 +08:00
vis2k
1f7e97e29b BatchingTests : MirrorTest 2021-05-23 22:40:07 +08:00
vis2k
1f858fff01 remove unnecessary BasicAuthenticatorTest 2021-05-23 22:38:55 +08:00
vis2k
04d5b7d5f0 NetworkIdentityTests: cleanup via CreateNetworked 2021-05-23 20:03:21 +08:00
vis2k
0426920d88 MirrorTest: CreateNetworked<T,U,V> 2021-05-23 19:57:04 +08:00
vis2k
78493f5fe3 this too 2021-05-23 19:53:54 +08:00
vis2k
8f336b8551 NetworkIdentityTests: simplify cleanup 2021-05-23 19:49:07 +08:00
vis2k
aec7e7ac77 NetworkBehaviourTests: cleanup via CreateNetworked 2021-05-23 19:40:02 +08:00
vis2k
7d5655ae56 NetworkBehaviourTests: simplify cleanup 2021-05-23 19:19:44 +08:00
vis2k
4a4415d456 NetworkBehaviourTests: reuse CreateNetworked 2021-05-23 19:17:13 +08:00
vis2k
edcbaae9a4 NetworkBehaviourTests: ComponentIndex simplified 2021-05-23 19:12:03 +08:00
vis2k
ec332f8b74 syntax 2021-05-23 19:08:49 +08:00
vis2k
3e62659b6f NetworkServerTests: cleanup 2021-05-23 19:05:37 +08:00
MrGadget1024
e09b313571 Syntax. made list readonly (code smell) 2021-05-23 06:30:19 -04:00
vis2k
c8156292a5 fix: #2739: NetworkServer.Update now operates on a copy of connections so transports can call OnTransportDisconnected from within send. avoids 'collection can't be modified while iterating' exception 2021-05-23 17:32:01 +08:00
vis2k
7364361028 Extensions: CopyTo(List<T>) and test 2021-05-23 17:31:06 +08:00
vis2k
db6a842358 Tests: NetworkServer.UpdateWithTimedOutConnection related to #2718 2021-05-22 14:49:54 +08:00
vis2k
b20c5b636c InterestManagementTests: utilize MirrorTest 2021-05-20 16:02:49 +08:00
vis2k
8961eb2ec6 SyncVarTest: reuse CreateNetworked 2021-05-20 15:56:54 +08:00
vis2k
f846b311f3 ClientSceneTestsBase: remove unnecessary shortcuts 2021-05-20 15:48:42 +08:00
vis2k
fd2288e541 ClientSceneTestsBase: remove tracking 2021-05-20 15:41:15 +08:00
vis2k
9e73f074c9 ClientSceneTests: reuse CreateNetworked/CreateGameObject 2021-05-20 15:40:22 +08:00
vis2k
25f069065e MirrorTest: CreateGameObject 2021-05-20 15:38:53 +08:00
vis2k
d43e85b5ae ClientSceneTests: reuse CreateNetworked 2021-05-20 15:36:08 +08:00
vis2k
63023c1f27 Tests: SpawnObject reuses CreateNetworked 2021-05-20 15:29:08 +08:00
vis2k
c8193c2100 ClientSceneTest: CreateSceneObject reuses CreateNetworked 2021-05-20 15:26:58 +08:00
vis2k
648b7a650b ClientSceneTestsBase : MirrorTest 2021-05-20 15:26:58 +08:00
James Frowen
aee7c82ddd
fix: fixing NetworkDiagnostics receive for batching (#2700) 2021-05-20 15:05:33 +08:00
vis2k
80c69422ab NetworkManagerHUD: show host status separately to avoid confusion (see #2725) 2021-05-20 15:04:29 +08:00
vis2k
260eed289e NetworkManagerHUD connected wording 2021-05-20 15:00:21 +08:00
MrGadget1024
c1d8964c82 MIRROR_39_0_OR_NEWER 2021-05-20 02:04:11 -04:00
vis2k
887a31942e NetworkWriterTest: use CreateNetworked 2021-05-20 13:31:41 +08:00
vis2k
2052d1e7ca NetworkWriterTest: use CreateNetworked 2021-05-20 13:30:50 +08:00
vis2k
4b3061a786 remove unused 2021-05-20 13:27:28 +08:00
vis2k
b6a8f6853f Tests: finally remove CreateNetworkIdentity 2021-05-20 13:26:26 +08:00
vis2k
7011a1f49f SyncVarTests: remove dependency on CreateNetworkIdentity 2021-05-20 13:26:04 +08:00
vis2k
ff2c264fae Tests: remove generic magic 2021-05-20 13:19:19 +08:00
vis2k
bbeb544d23 Tests: SyncVarCacheNetidForBehaviour: don't use generic magic 2021-05-20 13:18:38 +08:00
MrGadget1024
b2105be8f1 feat: RoomManager Auto-Restart
When in headless server mode, and when last player disconnects, RoomManager will self-call `StopServer` which will fully reset it to the offline scene and then back to the Room scene so players can join again for another play.
2021-05-20 01:16:08 -04:00
MrGadget1024
c7fe7acc15 Moved Discovery Stop buttons down a bit 2021-05-20 01:16:08 -04:00
vis2k
bcb0e1f53d Tests: SyncVarCacheNetidForIdentity: don't use generic magic 2021-05-20 13:15:57 +08:00
vis2k
11be7869fc Tests: SyncVarCacheNetIdForGameObject: don't use generic magic 2021-05-20 13:13:57 +08:00
vis2k
a8249bb13d remove unused test 2021-05-20 13:10:10 +08:00
vis2k
0af57b1bea SyncVarHookTest: reduce dependencies on CreateNetworkIdentity to prepare for removal 2021-05-20 13:08:12 +08:00
vis2k
35e1976373 SyncVarHookTest: reduce dependencies on CreateNetworkIdentity to prepare for removal 2021-05-20 13:06:21 +08:00
MrGadget
b4e81537c9
fix: Shutdown Discovery in OnDisable / OnDestroy (#2736) 2021-05-20 13:06:12 +08:00
MrGadget1024
d0e5131b3f feat: Added Stop buttons to Discovery HUD
Copied from NetworkManagerHUD
2021-05-20 00:49:12 -04:00
vis2k
e153cd6ced TODO 2021-05-20 12:25:34 +08:00
vis2k
538f6c7b29 SyncVarTest: reuse CreateNetworked instead of CreateNetworkIdentity 2021-05-20 12:23:04 +08:00
vis2k
2650d92804 NetworkIdentity.Reset: add comment 2021-05-20 11:46:06 +08:00
vis2k
404d5a884f Tests call NetworkIdentity.Awake now too. prepares for NetworkComponents initialization. 2021-05-20 11:39:12 +08:00
vis2k
69fea4064b CreateNetworkedAndSpawn: reuse CreateNetworked 2021-05-20 11:35:57 +08:00
vis2k
86d8986f5b remove unused 2021-05-19 20:21:30 +08:00
vis2k
1a75bcc616 SyncVarHookTest: reuse CreateNetworked 2021-05-19 20:21:05 +08:00
vis2k
c59d453cd8 remove unused 2021-05-19 20:16:47 +08:00
vis2k
819552d6a7 SyncVarTests: reuse CreateNetworked 2021-05-19 20:15:25 +08:00
vis2k
f6583f5d88 MirrorTest: set syncInterval=0 too 2021-05-19 19:58:20 +08:00
vis2k
1a4cd6a250 SyncVarTestBase: reuse MirrorTest 2021-05-19 19:54:06 +08:00
vis2k
ad224baf38 RemoteTestBase: remove unused 2021-05-19 19:48:32 +08:00
vis2k
181464521c NetworkServerTest: use MirrorTest CreateNetworked 2021-05-19 19:47:10 +08:00
vis2k
f6c13424cf MirrorTest: CreateNetworked<T,U> 2021-05-19 19:47:10 +08:00
vis2k
152ffb11a7 NetworkMatchCheckerTest reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
09d749e613 NetworkManagerTest reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
9c8f60bd56 NetworkManagerStopHostOnServerDisconnectTest reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
b7cbbb02c0 NetworkIdentityTests reuse MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
4ee6eec558 NetworkConnectionToClientTests reuse MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
b180fd5001 NetworkClientTests reuse MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
d2f181a7d6 MirrorTest.UpdateTransport helper 2021-05-19 19:47:10 +08:00
vis2k
385facbe5c NetworkBehaviourTests reuses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
787a734ce5 TODO 2021-05-19 19:47:10 +08:00
vis2k
6db98895a1 MirrorTest: CreateNetworkedAndSpawn, ProcessMessages 2021-05-19 19:47:10 +08:00
vis2k
97c525eb88 TargetRpcTest: reuse CreateNetworked 2021-05-19 19:47:10 +08:00
vis2k
e98ce05bee protected 2021-05-19 19:47:10 +08:00
vis2k
8a7c474e25 null check 2021-05-19 19:47:10 +08:00
vis2k
0d8ca1fe66 RemoteTestBase uses MirrorTest 2021-05-19 19:47:10 +08:00
vis2k
753ee98a09 MirrorTest creates MemoryTransport too 2021-05-19 19:47:10 +08:00
vis2k
8d4a6f0f21 Tests: MirrorTest helper class 2021-05-19 19:47:10 +08:00
vis2k
31e85ac834 remove unnecessary NetworkTransformChildTest 2021-05-19 19:46:59 +08:00
vis2k
511f9ee453 NetworkMatchCheckerTest: don't use reflection 2021-05-19 19:29:38 +08:00
vis2k
4a52a566c6 perf: NetworkBehaviour ComponentIndex O(N) => O(1) via caching 2021-05-19 15:31:23 +08:00
vis2k
72c440bd9c TODO 2021-05-19 15:29:38 +08:00
vis2k
237357c147 TODO 2021-05-19 15:29:10 +08:00
vis2k
3851325c59 oops 2021-05-19 12:37:31 +08:00
vis2k
dc70cd33d7 Tests: CreateNetworked without NetworkBehaviour 2021-05-19 12:37:20 +08:00
vis2k
c4491fe0d6 Tests: ActivateHostSceneCallsOnStartClient uses CreateNetworked 2021-05-19 12:35:54 +08:00
vis2k
691ac1311c TestUtils.CreateNetworked<T> 2021-05-19 12:32:34 +08:00
vis2k
c8349f3f01 TestUtils.CreateBehaviour 2021-05-19 12:03:29 +08:00
Chris Lang
96cf4e74c4 Updated processor define symbols for breaking changes
- We really need to remember or automate this.
2021-05-18 14:14:16 -04:00
Chris Lang
c48beedb48 Dated Deprecations 2021-05-18 11:00:34 -04:00
vis2k
a14da0a701 TODO 2021-05-18 22:03:44 +08:00
vis2k
c4dcb4d176 add comment 2021-05-18 22:00:46 +08:00
vis2k
c4e37f670c NetworkReader API cleanup: ReadInt16 => ReadShort etc. 2021-05-18 21:01:48 +08:00
vis2k
46539ef816 NetworkWriter API cleanup: WriteInt16 => WriteShort etc. 2021-05-18 13:31:44 +08:00
vis2k
c661fdac36 fix test after NetworkWriter Length removal 2021-05-18 13:25:13 +08:00
vis2k
8a4416e3b5
breaking: perf: remove NetworkWriter.Length/SetLength/EnsureLength. Position is enough. (#2731)
* NetworkWriter: obsolete .Length and .SetLength()

* breaking: perf: remove NetworkWriter.Length/SetLength/EnsureLength. Position is enough.
2021-05-18 12:07:10 +08:00
vis2k
e823de74bd Mirror uses new Transport.Send version everywhere 2021-05-17 17:41:54 +08:00
vis2k
9a0cce64cd Transport.Send API cleanup: channelId is now the last parameter, for consistency with the rest of Mirror where it's often a default parameter (which has to be last) 2021-05-17 17:27:58 +08:00
vis2k
f79709a263 Transport: xml comments cleanup 2021-05-17 17:06:53 +08:00
vis2k
6ebe813fc8 add comment 2021-05-16 14:06:09 +08:00
MrGadget
28f186a76f
fix: Reset Network Time whenever server starts (#2713) 2021-05-15 14:45:26 +08:00
vis2k
d33965c800 NetworkServer broadcasting: GetEntitySerialization helper function 2021-05-14 12:43:21 +08:00
vis2k
d045918ea7 add TODO 2021-05-14 12:41:08 +08:00
vis2k
16d0829ee4 NetworkClient.Shutdown: clear connection too 2021-05-13 22:13:50 +08:00
vis2k
269f9f486c obsolete test 2021-05-13 21:57:17 +08:00
vis2k
55263977f8
breaking: obsolete FallbackTransport (#2720) 2021-05-13 21:52:10 +08:00
vis2k
b0b4b9523c breaking: remove Cloud API and examples. 2021-05-13 21:51:49 +08:00
vis2k
c5073da7b3 syntax 2021-05-13 13:07:57 +08:00
vis2k
15232d35b3 syntax 2021-05-13 13:07:04 +08:00
vis2k
f4c72cf135 syntax 2021-05-13 13:06:07 +08:00
vis2k
d8786b16ff syntax 2021-05-13 13:05:33 +08:00
vis2k
c5579e9744 syntax 2021-05-13 13:02:23 +08:00
vis2k
cce0e7db03 syntax 2021-05-13 13:00:23 +08:00
vis2k
74297fd7fb syntax 2021-05-13 12:58:42 +08:00
vis2k
46dce930fb syntax 2021-05-13 12:58:00 +08:00
vis2k
3a3a726059 NetworkServerTest: syntax 2021-05-13 12:55:12 +08:00
vis2k
0d6b677660 syntax 2021-05-13 12:53:34 +08:00
vis2k
f5a856abc1 remove NetworkReader/WriterPoolTests. Pool<T> is already tested. 2021-05-13 12:51:33 +08:00
vis2k
d22e4387a0 add comments 2021-05-13 12:50:10 +08:00
vis2k
8cb68f6a16 Tests: MessageBaseTests renamed to NetworkMessageTests 2021-05-13 12:48:13 +08:00
vis2k
23cfcb7db7 Tests: LocalConnectionsTest ClientToServer 2021-05-13 12:47:15 +08:00
vis2k
02ff1076f8 Tests: LocalConnectionsTest ServerToClient 2021-05-13 12:43:51 +08:00
vis2k
3d122ea37e Tests: remove unnecessary CustomAttributeTest 2021-05-13 12:30:59 +08:00
vis2k
9d50c1a1d0 Tests: BuiltInMessages cleanup 2021-05-13 12:30:04 +08:00
vis2k
b7a6932b93 use local function 2021-05-13 12:06:00 +08:00
vis2k
a66fefb1e3 syntax 2021-05-13 12:00:59 +08:00
vis2k
35b16df3e5 add comments 2021-05-13 11:59:41 +08:00
vis2k
56b52b4973
NetworkManager.StopHost: call NetworkServer.OnTransportDisconnected directly so we can obsolete NetworkClient.DisconnectLocalServer. (#2717) 2021-05-11 22:00:16 +08:00
vis2k
97b4cb1c0b NetworkServer.DisconnectAllExternalConnections moved into DisconnectAll, because that's what it actually does. 2021-05-11 21:54:06 +08:00
vis2k
c44016b049 add comment 2021-05-11 21:21:43 +08:00
vis2k
007dd80852 fix: NetworkServer.OnDisconnected removed. There is only one way to invoke the disconnect handling, which is OnTransportDisconnected. fixes bugs where OnDisconnect would handle the disconnect, not remove the connection, then the Transport callback would call OnTransportDisconnected->OnDisconnect a second time. fixes #2706 and many more 2021-05-11 21:19:45 +08:00
vis2k
bac1f94033 NetworkServerTest: use ClientConnect so that invoked connectionId and MemoryTransport's internal connectionId match. 2021-05-11 18:21:03 +08:00
vis2k
2d24dfefbe NetworkServerTest: UpdateTransport helper function 2021-05-11 16:36:34 +08:00
vis2k
e942062c79 NetworkServerTests simplified by storing Transport in a field 2021-05-11 16:34:44 +08:00
vis2k
7c358054d7 fix: NetworkServer.OnTransportDisconnected doesn't call conn.Disconnect() again. avoids possible deadlocks etc. 2021-05-11 13:15:14 +08:00
vis2k
7d807d04fa add TODO 2021-05-11 13:05:20 +08:00
vis2k
4722b9739d NetworkClient.Disconnect: RemoveLocalConnection call moved into LocalConnectionToServer where it belongs 2021-05-11 12:58:02 +08:00
vis2k
015a8ea1a4 NetworkClient.Disconnect: connection != null check not needed because of the new early return 2021-05-11 12:41:07 +08:00
vis2k
f0caa19270 add TODO 2021-05-11 12:36:20 +08:00
vis2k
e8a6b5c2b5 NetworkClient.Disconnect: remove dead code 2021-05-11 12:35:44 +08:00
vis2k
79caa1b9a2 NetworkClient.Disconnect: early return so it's not called twice 2021-05-11 12:31:20 +08:00
vis2k
1733b84cbe breaking: Transport.ServerDisconnect return value changed from bool to void because it's not used anywhere 2021-05-11 12:06:12 +08:00
vis2k
45e481e65e NetworkConnection.RemoveObservers renamed to RemoveFromObservingsObservers because that's what it actually does 2021-05-11 11:47:46 +08:00
vis2k
979f67497e disable failing test 2021-05-10 23:23:20 +08:00
vis2k
76241da75f
breaking: obsolete Mirror timeout handling. Transport handle it instead. (#2711) 2021-05-10 21:37:29 +08:00
vis2k
9b2e7d09c7 add comment 2021-05-10 21:33:38 +08:00
vis2k
939f2820ea fix: NetworkServer.OnDisconnect now calls DestroyPlayerForConnection if NetworkManager doesn't handle it. 2021-05-10 21:04:03 +08:00
vis2k
eadda02701 add comment 2021-05-10 20:59:30 +08:00
vis2k
e723a52c97 add comments 2021-05-10 20:57:38 +08:00
vis2k
497c279b2f TODO 2021-05-10 20:49:45 +08:00
vis2k
561ec64960 NetworkManager: remove redundant OnServerDisconnectInternal 2021-05-10 20:44:19 +08:00
vis2k
522a9533f6 NetworkConnection.TransportReceive renamed to OnTransportData 2021-05-10 20:17:34 +08:00
vis2k
0d3d0bdf5f NetworkClient: Transport events renamed to be more obvious 2021-05-10 20:11:31 +08:00
vis2k
b11cc9c52a NetworkServer: Transport events renamed to be more obvious 2021-05-10 20:07:16 +08:00
vis2k
5b84aee346 Transport: add comments on what is required 2021-05-10 19:47:20 +08:00
MrGadget1024
18dc7cc373 feat: sync scale and interpolation adjustments
- PR #2704 should have been prefixed with "feat" for version bump
2021-05-05 00:25:41 -04:00
JesusLuvsYooh
fa8ef7da49
sync scale and interpolation adjustments (#2704)
* sync scale and interpolation adjustments

* Update NetworkTransformBase.cs
2021-05-03 10:22:39 +08:00
MrGadget
474f278575
fix: Network Authentators: Removed NetworkConnection parameter (#2703)
As was done in other areas, now using `NetworkClient.connection` instead of passing a `conn` parameter around.
- Abstract NetworkAuthenticator now has obsoletes.
- Basic and Timeout Authenticators Updated
- Network Manager Updated
- Script Template Updated
2021-04-30 09:33:17 +08:00
Musab Gültekin
1167e50fed
Typo fix (#2696)
Fix a typo at line 1218 on NetworkManager.cs
2021-04-22 09:17:40 -04:00
MrGadget
29668bdf6a
feat: Prevent Player Prefab from being added to spawnPrefabs (#2678)
* feat: Prevent Player Prefab from being added to spawnPrefabs
This will prevent this unhelpful warning:
`Replacing existing prefab with assetId 'c3ee5d2b-0807-ecb4-f85b-93753624468e'. Old prefab 'Player', New prefab 'Player'`

* added comment

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-04-22 10:47:23 +08:00
vis2k
9fe19bf8e8 'Spawn scene object not found' error improved 2021-04-19 11:44:03 +08:00
Laur3nt1u
6db8e4a929
SimpleWebTransport fix ssl handshake (#2689)
This fixes the handshake for reverse proxy use
2021-04-14 10:11:56 +08:00
MrGadget
8ef84791be
Moved "removed" files to Empty folders (#2692)
Moved "removed" files to Empty folders in same folder as original to preserve meta references.
In one case the entire Logging folder was moved.
In all cases I stayed within the coverage of AsmDef's that they were previously.
2021-04-14 10:10:30 +08:00
vis2k
3e555c92ba breaking: MessagePacking GetId<T> return value changed to ushort because that's what it always is. type safety matters. 2021-04-06 18:57:55 +08:00
MrGadget1024
6c5934f731 fix: Added ServerAuthFailed bool to Basic Authenticator
Fixes #2621
2021-04-06 00:02:51 -04:00
MrGadget1024
5fee51ada0 doc: Updated docs urls 2021-04-01 06:23:32 -04:00
vis2k
93ee04723a version define 2021-03-28 10:03:55 +08:00
MrGadget
621153c95e
feat: Call ConfigureServerFrameRate For Headless Clients (#2660)
* feat: Call ConfigureServerFrameRate for headless clients

* code order consistancy

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-27 18:53:18 +08:00
MrGadget
008dbbcf9c
fix: Prevent client shutdown from running twice (#2666)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-27 18:52:27 +08:00
vis2k
2ec53df4a9 syntax 2021-03-27 12:06:14 +08:00
vis2k
3a9d954404 fix: #2579 - Weaver skips already weaved assemblies when restarting Unity. fixes a bug where GeneratedNetworkCode class would exist twice, while the newer one was missing some writers 2021-03-27 11:49:12 +08:00
vis2k
afc4f584fc syntax 2021-03-27 11:30:52 +08:00
vis2k
a4eb0c4d77 Weaver: CreateGeneratedCodeClass helper function and some restructuring so it's not hidden in WeaverList constructor 2021-03-27 11:09:52 +08:00
vis2k
e356e4f9c8 Weaver: GeneratedNetworkCode name as const 2021-03-27 11:05:01 +08:00
vis2k
42065c1699 add comment 2021-03-27 11:05:01 +08:00
MrGadget1024
38250ebb59 Added tooltip to SyncMode for inspector 2021-03-26 13:07:46 -04:00
vis2k
95a7f830c3 add log for debugging if needed 2021-03-26 19:34:37 +08:00
vis2k
98109c0ed3 add comments 2021-03-26 11:32:40 +08:00
vis2k
b1754c8748 Weaver.ReaderWriterProcessor.InitialzieReaderAndWriters: eli5 2021-03-26 11:31:41 +08:00
vis2k
417642475a fix: #2579 "No writer found" error when running Mirror tests in Unity 2020.3 Editor. fixes the first bug in editor, but maybe not the runtime bug? or maybe it does. 2021-03-26 11:17:56 +08:00
vis2k
b7c63c3067 fix: #2517 - NetworkManager.UpdateScene wraps FinishLoadScene in try/catch to guarantee loadingSceneAsync being cleared no matter what. fixes a bug where if FinishLoadScene throws then loadingSceneAsync is never cleared and the code runs every update 2021-03-21 23:54:13 +08:00
vis2k
57ae5372ba NetworkManager.UpdateScene made non static. it wasn't obvious why this would be static, and it's called from nonstatic Update() anyway. makes it cleaner. 2021-03-21 12:33:06 +08:00
vis2k
b422ccb29e NetworkManager.FinishLoadScene made protected so inheritors can still use it, but users don't need to worry about it (not in the public API) 2021-03-21 12:31:41 +08:00
MrGadget1024
fedc2884ce Revert "Replaced Proximity Checker with Distance Interest Mgmt"
This reverts commit 5c7bfa4834.
2021-03-21 00:24:19 -04:00
MrGadget1024
5c7bfa4834 Replaced Proximity Checker with Distance Interest Mgmt 2021-03-20 22:51:00 -04:00
MrGadget
0c903dabc6
Updated examples to not sync scale (#2661)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-21 10:05:07 +08:00
MrGadget
cd6a4805d7
breaking: Compiler symbols culled to Mirror 17 and later. (#2659)
* breaking: Compiler symbols culled to Mirror 17 and later.

* added missing quote

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-21 10:04:45 +08:00
MrGadget1024
95f55e652f doc: Added DDOL note to NetworkBehaviour template 2021-03-20 19:26:35 -04:00
MrGadget1024
1f22066f9b fix: MultipleAdditiveScenes disabled Server Batching
This can be enabled again when batching is fixed.
See https://github.com/vis2k/Mirror/issues/2651
2021-03-19 22:46:55 -04:00
MrGadget1024
9190dcfb7e NetworkManager: Make FinishLoadScene public
FinishLoadScene needs to be accessible from override of LateUpdate
2021-03-19 09:22:51 -04:00
MrGadget1024
1335b40d11 NetworkManager: move clientSceneOperation caching up 2021-03-19 09:07:12 -04:00
JesusLuvsYooh
6b9b7ce5af
Added new syncScale boolean to NT Test writer. (#2657) 2021-03-18 16:47:01 -04:00
JesusLuvsYooh
68ae40818b
NetworkTransformBase sync scale boolean. (#2655)
* NetworkTransformBase syncScale boolean

https://github.com/vis2k/Mirror/pull/2646

* NT - Command for client to server - Unreliable
2021-03-18 16:39:14 +08:00
vis2k
09bf1c5bf0 fix: NetworkLoop inserts a fresh PlayerLoopSystem instead of resizing and overwriting partially. fixes undefined behaviour where the previous nativeLoop IntPtrs weren't cleared, possibly still updating a native loop accidentally. See also #2652 2021-03-18 12:59:00 +08:00
MrGadget1024
1defc926dc Basic Example: Moved playersList to Player class 2021-03-17 21:56:13 -04:00
MrGadget1024
f70946a362 fix: Fixed field lable not shown for SyncVars 2021-03-16 14:40:55 -04:00
vis2k
c957500710 customizable noise 2021-03-16 16:30:27 +08:00
vis2k
e9081c468c LatencySimulation: perlin noise spikes 2021-03-16 16:12:04 +08:00
vis2k
d8fb7cda63 range slider 2021-03-16 15:32:04 +08:00
vis2k
83f8593caa LatencySimulation: spike latency via multiplier 2021-03-16 15:29:20 +08:00
vis2k
1281f72ac2 LatencySimulation: SimulateLatency helper function 2021-03-16 15:26:42 +08:00
vis2k
de076348c0 syntax 2021-03-16 15:24:52 +08:00
vis2k
58560166ca Latency Simulation: add latency when adding to queue 2021-03-16 15:24:23 +08:00
vis2k
28be3a814c syntax 2021-03-16 15:19:37 +08:00
vis2k
1938597a7b LatencySimulation: scramble changed to a probability 2021-03-16 13:40:04 +08:00
vis2k
c5322ac5d5
remove performance test framework to fix CI (#2648) 2021-03-16 12:40:26 +08:00
MrGadget
53dad15e04 Shorten Channel Enums (#2644)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-16 12:08:28 +08:00
ThatDan123
254a0b929d Added what size the rejected packet was (#2645) 2021-03-16 12:08:23 +08:00
MrGadget1024
386a26c5b7 GUIConsole in Mirror namespace, formatting 2021-03-16 12:08:18 +08:00
vis2k
0713db8338 add comment 2021-03-15 19:26:18 +08:00
vis2k
0c39279239 obsolete Utils.Version 2021-03-15 19:21:24 +08:00
vis2k
257dd2a775 cleanup 2021-03-15 19:18:02 +08:00
vis2k
a5ab683917 cleanup 2021-03-15 19:18:02 +08:00
JesusLuvsYooh
ce62184a86
interpolateScale On NT (#2639)
interpolateScale On NT
2021-03-15 18:01:55 +08:00
vis2k
c4e4bf3148 LatencySimulation: add latency spikes 2021-03-15 13:43:15 +08:00
vis2k
f3997b6030 syntax 2021-03-15 13:38:40 +08:00
vis2k
7de5c18986 fix: LatencySimulation now sends all messages that are ready to be sent. previously a scrambled message being inserted randomly could delay the ones behind it in the list 2021-03-15 13:21:34 +08:00
vis2k
7c7fa74572 add comment 2021-03-15 13:16:12 +08:00
vis2k
2f2ffb9f36
feature: Latency Simulation (#2640)
* wrap around a transport

* loss

* unreliable client to server latency

* reliable client to server latency

* unreliable/reliable server to client latency

* add comment

* list to prepare for scramble

* unreliable scramble

* rename to LatencySimulation

* help url

* doc: updated comment

* fix: MultipleAdditiveScenes AddPlayer timing

* Update Assets/Mirror/Runtime/Transport/LatencySimulation.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Runtime/Transport/LatencySimulation.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* remove old comments

* SimuateSend helper function as per suggestion

Co-authored-by: MrGadget1024 <chris@clevertech.net>
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-03-15 10:12:54 +08:00
MrGadget1024
86c8e1bb24 fix: MultipleAdditiveScenes AddPlayer timing 2021-03-14 17:06:05 -04:00
MrGadget1024
6384d1c244 doc: updated comment 2021-03-14 15:10:13 -04:00
vis2k
78b6cfbde7 feat: NetworkTransform.compressRotation option. disabled by default to not break 2D projects. 2021-03-14 14:53:23 +08:00
vis2k
19017dfb41 fix: NetworkTransform compression disabled for now to fix tiny 'wobbly' 2D sprite rotations. NetworkTransform will be remade anyway. make it work, then make it fast. 2021-03-14 14:41:10 +08:00
vis2k
7428941c93 CompressionTests: test 90 degree euler angle 2021-03-14 14:14:43 +08:00
MrGadget1024
383a0279c0 fix: Updated Authenticator Template for NetworkClient.connection 2021-03-13 15:57:30 -05:00
vis2k
c3c95d22ca Utils.IsPrefab: remove <2018.3 support 2021-03-13 20:00:12 +08:00
vis2k
df2330239f add TODO 2021-03-13 19:53:51 +08:00
vis2k
b9027737c8 add TODO 2021-03-13 19:47:35 +08:00
vis2k
23722ce828 add comment 2021-03-13 19:42:49 +08:00
vis2k
b258a27c09 add comment 2021-03-13 19:42:20 +08:00
vis2k
f19385d565 add TODO 2021-03-13 19:40:18 +08:00
vis2k
461ce519ff obsolete redundant NetworkClient.RegisterHandler version with NetworkConnection 2021-03-13 19:35:49 +08:00
vis2k
e0d023828f add TODOs 2021-03-13 19:30:46 +08:00
vis2k
5cb86830f1 BasicAuthenticator.OnAuthResponseMessage: remove unnecessary NetworkConnection parameter to remove last dependency on RegisterHandler version with NetworkConnection 2021-03-13 19:30:16 +08:00
vis2k
ecf15f5070 NetworkManager: OnClientSceneInternal uses RegisterHandler version without NetworkConnection parameter to prepare for removal 2021-03-13 19:25:29 +08:00
vis2k
8e0ef05c64 NetworkManager: OnClientNotReadyMessageInternal uses RegisterHandler version without NetworkConnection parameter to prepare for removal 2021-03-13 19:24:45 +08:00
vis2k
5bf7be143c NetworkClient.OnConnected/DisconnectEvent: remove redundant NetworkConnection parameter. It's always NetworkClient.connection anyway. 2021-03-13 19:22:57 +08:00
vis2k
f38d29b61c MultipleMatches example: CanvasController uses RegisterHandler version without NetworkConnection parameter to prepare for removal 2021-03-13 19:17:59 +08:00
vis2k
3cfee7dd14 add TODO 2021-03-13 19:13:53 +08:00
vis2k
21e0d6c8e0 NetworkClient.RegisterSystemHandlers: use the variant without NetworkConnection parameter so we can remove the other one later 2021-03-13 19:12:08 +08:00
vis2k
251d3cd392 NetworkClient.ClearLocalPlayer removed. clear it directly instead. 2021-03-13 18:36:52 +08:00
vis2k
9cf4207819 fix: #2635 - Reset also checks if local player before clearing it (see previous commit) 2021-03-13 18:36:29 +08:00
vis2k
457b21d907 fix: #2635 NetworkIdentity.OnDestroy only clears NetworkClient.localPlayer if WE are STILL the local player.
fixes data race in rooms scene (explanation see comments)
2021-03-13 18:29:20 +08:00
vis2k
2cd4403429 add TODO 2021-03-13 13:59:19 +08:00
vis2k
be229f27d8 add TODO 2021-03-13 13:58:39 +08:00
vis2k
251000436f syntax 2021-03-13 13:54:04 +08:00
vis2k
e5f6d25ae3 syntax 2021-03-13 13:53:27 +08:00
vis2k
01d1630b7f syntax 2021-03-13 13:52:44 +08:00
vis2k
a643cf7045 syntax 2021-03-13 13:52:32 +08:00
vis2k
89df32563b syntax 2021-03-13 13:52:14 +08:00
vis2k
b2892e7e1a add TODO 2021-03-13 13:51:20 +08:00
vis2k
0949c9d875 NetworkClient.HandleClientDisconnect removed. set .ready=false directly instead. way easier to understand. 2021-03-13 13:48:29 +08:00
vis2k
d7ee25e589 NetworkClient.HandleClientDisconnect: remove unnecessary connection parameter. it wasn't even used. 2021-03-13 13:44:34 +08:00
vis2k
4a47b1c7d2 NetworkClient.Ready: easier syntax 2021-03-13 13:34:58 +08:00
vis2k
f38af96202
NetworkClient.Ready: remove unnecessary NetworkConnection parameter (#2634) 2021-03-13 13:33:02 +08:00
vis2k
4daf0e439f add TODOs 2021-03-13 13:17:17 +08:00
vis2k
5e7c873af9 comment formatting 2021-03-13 13:15:00 +08:00
vis2k
a5224ecd10 syntax 2021-03-13 13:11:13 +08:00
vis2k
4ce55f585c NetworkClient.Ready: improve error message 2021-03-13 13:10:39 +08:00
vis2k
10aca712c2 add TODO 2021-03-13 13:08:20 +08:00
vis2k
a2dc9e6283 add TODO 2021-03-13 13:07:15 +08:00
vis2k
87c2f982cd NetworkClient.AddPlayer: remove unnecessary ready line. we don't even get there if we aren't already ready. 2021-03-13 13:04:24 +08:00
vis2k
d118de81db NetworkClient.AddPlayer: check if ready again. UNET checked if it has a readyConnection before too. 2021-03-13 13:01:21 +08:00
vis2k
c3f27f0fa1 NetworkClient.AddPlayer: simplify syntax, add TODO 2021-03-13 12:53:36 +08:00
vis2k
dc181ffe08 NetworkClient.AddPlayer: remove unnecessary NetworkConnection parameter 2021-03-13 12:44:54 +08:00
vis2k
0d5df4842f obsolete NetworkClient.readyConnection redundant state 2021-03-13 12:36:54 +08:00
vis2k
dd5c137c7b Tests: remove last dependencies on .readyConnection 2021-03-13 12:35:45 +08:00
vis2k
13b4f7d5e7 old Logging files moved into Old folder 2021-03-13 12:22:56 +08:00
MrGadget1024
c7c43da3ad fix: NetworkLoop compiler definition wrong version 2021-03-12 09:04:44 -05:00
vis2k
c39a35077e SendCommandInternal: use NetworkClient.connection instead of NetworkClient.readyConnection to remove dependency on .readyConnection 2021-03-12 16:37:36 +08:00
vis2k
cf08822f00 test for #2629 [Command(requiresAuthority=false)] to make sure it never happens again 2021-03-12 15:32:10 +08:00
vis2k
9d38188d6e fix: NetworkClient.Ready(): set .connection to connection parameter like UNET did.
this was changed in 89cdec3075 because it's unnecessary.
but NetworkBehaviourTests.SendCommandInternal depends on it.
so let's keep feature parity for now.
2021-03-12 15:26:56 +08:00
vis2k
67d24ee2ca forgot to revert test too 2021-03-12 15:07:47 +08:00
vis2k
c749c84ee4 forgot to fix log 2021-03-12 15:06:03 +08:00
vis2k
73cd1ac72a fix: #2629 - Revert "NetworkBehaviour.SendCommandInternal: use connectionToServer instead of NetworkClient.readyConnection. reduces dependencies on NetworkClient.readyConnection (which is redundant) and reduces static states. (#2620)"
This reverts commit 64f247fb32.
=> also adding a comment for next time
2021-03-12 14:54:09 +08:00
vis2k
413291a857 add TODO 2021-03-12 14:28:02 +08:00
MrGadget1024
5d00885564 perf: NetworkTransform - Removed redundant .transform 2021-03-11 08:49:24 -05:00
vis2k
2d004609c4 add comment 2021-03-11 14:23:18 +08:00
Coyote-A
038a1e3fd2
fix: networkloop breaks other libraries that use playerloop (#2627)
* use GetCurentPlayerLoop in unity 2019.3 or newer

* Update NetworkLoop.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-03-11 14:15:03 +08:00
vis2k
48a55ab487 remove old comment 2021-03-11 11:27:37 +08:00
vis2k
0992d71fe3 NetworkClient.CheckForLocalPlayer: remove dependency on readyConnection 2021-03-11 11:25:25 +08:00
MrGadget1024
540af6a9d5 fix: fix broken summary comments 2021-03-10 22:22:20 -05:00
vis2k
4c7a5d64a5 NetworkClient.AddPlayer: remove dependency on .readyConnection. the code has a '!ready' check before. so by definition, .readyConnection == .connection here. 2021-03-11 11:14:21 +08:00
vis2k
d299d607eb NetworkClient.InternalAddPlayer: remove dependency on readyConnection 2021-03-11 11:09:54 +08:00
vis2k
9ee2bc5893 NetworkClient.HandleClientDisconnect: remove unnecessary readyConnection comparison 2021-03-11 11:09:54 +08:00
MrGadget
1042a39d85
fix: Added PersistNetworkManagerToOfflineScene (#2625)
* Added PersistNetworkManagerToOfflineScene
- Fixes #2624

* Added pragma suppression

* Fixed bool check

* More comments

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-03-10 22:08:29 -05:00
vis2k
171b674a0f comment 2021-03-11 10:48:20 +08:00
vis2k
89cdec3075 NetworkClient.readyConnection state removed. points to .connection if .ready instead. 2021-03-11 10:36:11 +08:00
vis2k
5a1a67298b update comment 2021-03-11 10:21:29 +08:00
vis2k
816c8885de wat 2021-03-11 10:19:51 +08:00
vis2k
c5d1af2287 fix tests that started failing after isLocalPlayer fixes commit (a6f6f80f65) because it assumed ApplySpawPayload would set isLocalPlayer=true. but now it's only set true in OnStartLocalPlayer, which is only called in ApplySpawnPayload if spawnFinished is true. which it isn't. so we set it manually instead. 2021-03-11 00:09:16 +08:00
vis2k
accf843283 fix: NetworkIdentity.Reset resets isLocalPlayer AFTER the isLocalPlayer ClearLocalPlayer check. fixes a runtime UnSpawn test. 2021-03-10 23:45:29 +08:00
vis2k
a23c01aa24 add OnStartLocalPlayer comment from paul 2021-03-10 23:28:11 +08:00
vis2k
956bfff3ad wat 2021-03-10 21:08:40 +08:00
vis2k
be2369f4a1 forgot one 2021-03-10 20:58:35 +08:00
vis2k
388b6bab71 NetworkAnimator: replace UNET's magic readyConnection check with isClient. this was from UNET and there was no comment, so nobody knew why it was used instead of isClient. 2021-03-10 20:55:21 +08:00
vis2k
97615b9491 syntax 2021-03-10 20:54:24 +08:00
vis2k
64f247fb32
NetworkBehaviour.SendCommandInternal: use connectionToServer instead of NetworkClient.readyConnection. reduces dependencies on NetworkClient.readyConnection (which is redundant) and reduces static states. (#2620) 2021-03-10 19:46:31 +08:00
vis2k
abbe34501d add TODOs 2021-03-10 19:31:54 +08:00
vis2k
a58cd37a36 [Command] tests: set up NetworkIdentity connectionToServer everywhere too, not just to client. prepares for making SendCommandInternal use connectionToServer instead of NetworkClient.readyConnection. 2021-03-10 19:04:08 +08:00
vis2k
b3c25d1094 add TODO 2021-03-10 18:46:41 +08:00
Coyote-A
29590401bc
add missing virtual update methods in MultiplexTransport (#2618) 2021-03-10 17:34:25 +08:00
vis2k
f239ee678a cleanup 2021-03-10 17:25:53 +08:00
vis2k
15d595fe41 SyncObject cleanup 2021-03-10 17:25:26 +08:00
vis2k
debcb400fe syntax 2021-03-10 17:23:29 +08:00
vis2k
ba9b9ec85b RemoteCallHelper cleanup 2021-03-10 17:22:57 +08:00
vis2k
0b9539b8de NetworkWriterPool cleanup 2021-03-10 17:20:37 +08:00
vis2k
055ff8dae4 NetworkWriter cleanup 2021-03-10 17:19:12 +08:00
vis2k
5dd37b5c09 cleanup 2021-03-10 16:31:13 +08:00
vis2k
459d5e203e NetworkTime: add TODOs 2021-03-10 16:31:13 +08:00
vis2k
b596294917 NetworkTime.rttSd was renamed to rttStandardDeviation 2021-03-10 16:31:13 +08:00
vis2k
46f4079856 NetworkTime.rttVar was renamed to rttVariance 2021-03-10 16:31:13 +08:00
vis2k
8a7fd39cf0 NetworkTime.timeSd was renamed to timeStandardDeviation 2021-03-10 16:31:13 +08:00
vis2k
b8b72d4482 NetworkTime.timeVar renamed to timeVariance to not confuse it with 'timeVariable' etc. 2021-03-10 16:31:13 +08:00
vis2k
fef1184404 NetworkTime cleanup 2021-03-10 16:18:11 +08:00
vis2k
a079f2a412 typo 2021-03-10 16:10:04 +08:00
vis2k
6ad3b5a6b7 previous syntax 2021-03-10 16:09:50 +08:00
vis2k
efc303ceb8 NetworkStartPosition cleanup 2021-03-10 16:09:14 +08:00
vis2k
5a6db1e4b7 NetworkReaderPool cleanup 2021-03-10 16:00:48 +08:00
vis2k
1358ab643f cleanup 2021-03-10 15:57:39 +08:00
vis2k
b2d9279e76 NetworkReader cleanup 2021-03-10 15:53:13 +08:00
vis2k
f7c6d09b44 empty files moved into Empty folder 2021-03-09 19:20:10 +08:00
vis2k
078a0c4aec NetworkManager comments cleaned up 2021-03-09 19:07:21 +08:00
vis2k
4962cee248 feat: NetworkManager.OnServerAddPlayer instantiates with name "Player [connId=42]" instead of "Player (clone)" for easier debugging 2021-03-09 18:58:20 +08:00
vis2k
fc92a28715 cleanup 2021-03-09 18:56:27 +08:00
vis2k
5e2f3c239f syntax 2021-03-09 18:54:00 +08:00
vis2k
46c9bddb6c cleanup 2021-03-09 18:53:24 +08:00
vis2k
64b436445f cleanup 2021-03-09 18:49:58 +08:00
vis2k
a4e237d307 cleanup 2021-03-09 18:41:42 +08:00
vis2k
9f68d269cc NetworkManagerHUD doesn't need xml comments except one 2021-03-09 18:25:35 +08:00
vis2k
ea141c30d6 syntax 2021-03-09 18:24:28 +08:00
vis2k
1f550b8289 cleanup 2021-03-09 18:22:36 +08:00
vis2k
22384458bd cleanup 2021-03-09 18:07:29 +08:00
vis2k
013a748da6 cleanup 2021-03-09 18:03:16 +08:00
vis2k
6926bad7d6 cleanup 2021-03-09 17:55:19 +08:00
vis2k
25e9904fa8 add TODO 2021-03-09 17:54:43 +08:00
vis2k
0291d0a402 cleanup 2021-03-09 17:53:46 +08:00
vis2k
e79dd1e443 cleanup 2021-03-09 17:52:41 +08:00
vis2k
f02c163232 add comment about static state 2021-03-09 17:48:15 +08:00
vis2k
71e7393278 syntax 2021-03-09 16:17:07 +08:00
vis2k
fe3e365c7d cleanu 2021-03-09 16:16:55 +08:00
vis2k
7ae1496b88 update url 2021-03-09 16:16:08 +08:00
vis2k
294fd46146 syntax 2021-03-09 16:12:40 +08:00
vis2k
94707b2554 add TODO 2021-03-09 16:07:55 +08:00
vis2k
2cf41cf835 syntax 2021-03-09 15:53:20 +08:00
vis2k
c4d217af2f syntax 2021-03-09 15:50:27 +08:00
vis2k
b0ccb28f18 add comment 2021-03-09 15:50:22 +08:00
vis2k
c47a6b0085 NetworkIdentity.ThisIsASceneObjectWithPrefabParent moved to Utils 2021-03-09 15:47:46 +08:00
vis2k
04b3e34593 syntax 2021-03-09 15:40:33 +08:00
vis2k
6b9acacaf0 cleanup 2021-03-09 15:40:12 +08:00
vis2k
dd2b4f8736 syntax 2021-03-09 15:38:01 +08:00
vis2k
7d3666a121 syntax 2021-03-09 15:37:41 +08:00
vis2k
ad40b260d1 syntax 2021-03-09 15:35:02 +08:00
vis2k
7fc91537ed remove unused NetworkBehavioursCache 2021-03-09 15:34:47 +08:00
vis2k
a21344196e cleanup 2021-03-09 15:32:48 +08:00
vis2k
4a1f4115d5 cleanup 2021-03-09 15:30:30 +08:00
vis2k
15aa2e091e cleanup 2021-03-09 15:23:48 +08:00
vis2k
4e7c49ee50 syntax 2021-03-09 15:21:11 +08:00
vis2k
d131367245 syntax 2021-03-09 15:19:40 +08:00
vis2k
665b1c2156 perf: batching is now enabled by default 2021-03-09 15:17:29 +08:00
vis2k
1b6f898a5a update batching comment 2021-03-09 15:16:08 +08:00
vis2k
fbe378a069 cleanup 2021-03-09 15:15:11 +08:00
vis2k
7cc3e166c4 cleanup 2021-03-09 15:02:02 +08:00
vis2k
c4cf8c263d syntax: avoid hiding property 2021-03-09 14:59:40 +08:00
vis2k
1bf08bbf89 syntax: avoid hiding property 2021-03-09 14:59:29 +08:00
vis2k
fc6ada4ab9 syntax: avoid hiding property 2021-03-09 14:59:15 +08:00
vis2k
8bcc8d29ef syntax 2021-03-09 14:57:41 +08:00
vis2k
4e71f324c6 cleanup 2021-03-09 14:56:54 +08:00
vis2k
387571722b cleanup 2021-03-09 14:55:03 +08:00
vis2k
5118f43a83 cleanup 2021-03-09 14:51:50 +08:00
vis2k
57432d94c9 NetworkVisibility: improve obsolete message 2021-03-09 14:05:11 +08:00
vis2k
d8e2f1650f cleanup 2021-03-09 11:27:09 +08:00
vis2k
c2af82f897 cleanup 2021-03-09 11:18:15 +08:00
vis2k
2be35efbad cleanup 2021-03-09 11:16:30 +08:00
vis2k
2d46c13ef5 syntax 2021-03-09 11:09:35 +08:00
vis2k
f1f51ce213 cleanup 2021-03-09 11:09:17 +08:00
vis2k
2f77fec632 cleanup 2021-03-09 10:57:42 +08:00
vis2k
e8e5f30fd6 cleanup 2021-03-08 22:50:24 +08:00
vis2k
86c0abd2b9 remove unused 2021-03-08 22:41:01 +08:00
vis2k
488d67de85 add TODO 2021-03-08 22:39:15 +08:00
vis2k
ecf6a42a2d syntax 2021-03-08 22:36:20 +08:00
vis2k
bb5513338c syntax 2021-03-08 22:34:30 +08:00
vis2k
9932b56b65 cleanup 2021-03-08 22:33:42 +08:00
vis2k
77ed0055a8 add comments 2021-03-08 22:31:03 +08:00
vis2k
4eed0ff7f1 cleanup 2021-03-08 22:29:54 +08:00
vis2k
36e7ebd50e cleanup 2021-03-08 22:19:45 +08:00
vis2k
f53ee6583c cleanup 2021-03-08 22:13:53 +08:00
vis2k
6045736266 clean up 2021-03-08 22:11:22 +08:00
vis2k
3fa8eb727c remove unused LogFilter and NetworkManager.showDebugMessages 2021-03-08 22:09:37 +08:00
vis2k
925c9d749f xml cleanup 2021-03-08 22:06:29 +08:00
vis2k
8bba4300a6 xml one liner 2021-03-08 22:02:31 +08:00
vis2k
a1381741d5 remove old batching comment 2021-03-08 11:50:14 +08:00
vis2k
92c9522388 move all the things 2021-03-07 19:57:46 +08:00
vis2k
0bc2a5573f tests 2021-03-07 19:52:38 +08:00
vis2k
396fc4542b ClientScene: move the rest to NetworkClient 2021-03-07 19:52:23 +08:00
vis2k
477d009f97 ClientScene.DestroyAllClientObjects moved into NetworkClient 2021-03-07 19:28:25 +08:00
vis2k
27ac635931 ClientScene: spawning moved into NetworkClient 2021-03-07 19:28:02 +08:00
vis2k
03f6ae59d3 ClientScene: internal Shutdown moved to NetworkClient 2021-03-07 19:15:51 +08:00
vis2k
ab1218fe17 ClientScene: internal hide & destroy moved into NetworkClient 2021-03-07 19:08:01 +08:00
vis2k
ae50ec751e ClientScene: internal callbacks moved to NetworkClient 2021-03-07 19:04:31 +08:00
vis2k
5650d952c8 remove obsolete comment 2021-03-07 18:59:59 +08:00
vis2k
12ac3613ad moved comment 2021-03-07 18:58:40 +08:00
vis2k
f20d30d4bb ClientScene: prefab spawning and spawn handlers obsoleted and moved to NetworkClient 2021-03-07 18:57:17 +08:00
vis2k
13c5a409e5 add TODO 2021-03-07 18:23:55 +08:00
vis2k
d71c6e943a internal function doesn't need summary 2021-03-07 18:22:26 +08:00
vis2k
c20de093ec syntax 2021-03-07 18:19:46 +08:00
vis2k
95e0545759 cleanup and sorting 2021-03-07 18:18:04 +08:00
vis2k
e7dab8bd49 cleanup 2021-03-07 18:11:52 +08:00
vis2k
ead0d351c9 cleanup 2021-03-07 18:10:51 +08:00
vis2k
82b8f650fb cleanup 2021-03-07 18:10:11 +08:00
vis2k
980c8a8b64 syntax 2021-03-07 18:09:12 +08:00
vis2k
9abc60c62b cleanup 2021-03-07 18:08:37 +08:00
vis2k
5a9d7921c5 cleanup 2021-03-07 18:07:43 +08:00
vis2k
f7c6eb84e8 cleanup 2021-03-07 18:06:17 +08:00
vis2k
061d1c77ba cleanup 2021-03-07 18:04:03 +08:00
vis2k
d3e3ada5c6 cleanup 2021-03-07 16:51:33 +08:00
vis2k
8ce209ac69 cleanup 2021-03-07 16:43:59 +08:00
vis2k
f06e6f0509 cleanup 2021-03-07 16:41:27 +08:00
vis2k
3667f76703 cleanup 2021-03-07 16:37:36 +08:00
vis2k
707c20c6d6 syntax 2021-03-07 16:34:04 +08:00
vis2k
5c9962100e more sorting 2021-03-07 16:29:53 +08:00
vis2k
200bde6852 NetworkClient sorting 2021-03-07 16:25:56 +08:00
vis2k
51f5dd52a9 cleanup 2021-03-07 16:22:50 +08:00
vis2k
7d397d9172 cleanup 2021-03-07 16:06:40 +08:00
vis2k
19d848feec cleanup 2021-03-07 16:03:28 +08:00
vis2k
159a35dbb4 feat: NetworkClient.isConnecting added 2021-03-07 16:01:17 +08:00
vis2k
9579789da3 NetworkClient cleanup 2021-03-07 16:00:16 +08:00
vis2k
191c1124b4 NetworkServer.VerifyCanSpawn moved into SpawnObject 2021-03-07 15:42:22 +08:00
vis2k
b7e21d9a44 NetworkServer: VerifyCanSpawn moved into SpawnObject 2021-03-07 15:41:28 +08:00
vis2k
10be9eada1 more sorting 2021-03-07 15:41:02 +08:00
vis2k
0fe5d30c00 more sorting 2021-03-07 15:37:32 +08:00
vis2k
632a4a8cc2 syntax 2021-03-07 15:34:58 +08:00
vis2k
f94091b585 more sorting 2021-03-07 15:34:12 +08:00
vis2k
0cef4d78a5 more sorting 2021-03-07 15:32:36 +08:00
vis2k
f54f9c3599 DisconnectAllConnections was renamed to DisconnectAllExternalConnections because that's what it does. 2021-03-07 15:29:20 +08:00
vis2k
207501de4e NetworkServer.InternalReplacePlayerForConnection moved into ReplacePlayerForConnection 2021-03-07 15:25:50 +08:00
vis2k
330036f1a9 more sorting 2021-03-07 15:24:11 +08:00
vis2k
e4729c2608 more sorting 2021-03-07 15:23:22 +08:00
vis2k
5a23cd056e more sorting 2021-03-07 15:22:22 +08:00
vis2k
688ec28d5d more sorting 2021-03-07 15:22:00 +08:00
vis2k
84f5ea61cc more sorting 2021-03-07 15:19:33 +08:00
vis2k
2f90fca1d5 more sorting 2021-03-07 15:18:00 +08:00
vis2k
bf804a93c2 more sorting 2021-03-07 15:17:01 +08:00
vis2k
c5947b92e2 more sorting 2021-03-07 15:12:54 +08:00
vis2k
c47f64908d NetworkServer: more sorting 2021-03-07 15:11:37 +08:00
vis2k
6dc0b42d89 NetworkServer: more sorting 2021-03-07 15:09:04 +08:00
vis2k
7daab9dd40 NetworkServer: sort similar functions together 2021-03-07 15:04:13 +08:00
vis2k
cf7de49def cleanup 2021-03-07 14:57:04 +08:00
vis2k
93217b4493 cleanup 2021-03-07 14:55:55 +08:00
vis2k
f3b7524691 cleanup 2021-03-07 14:53:56 +08:00
vis2k
0f8b06b12b cleanup 2021-03-07 14:51:10 +08:00
vis2k
306620d0d0 cleanup 2021-03-07 14:43:02 +08:00
vis2k
2e9ecd73bb cleanup 2021-03-07 14:42:01 +08:00
vis2k
f1bbdd62e7 cleanup 2021-03-07 14:40:38 +08:00
vis2k
ebcaf9a256 cleanup 2021-03-07 14:39:50 +08:00
vis2k
8f5c6c7b93 cleanup 2021-03-07 14:37:59 +08:00
vis2k
a5bc753150 cleanup 2021-03-07 13:31:35 +08:00
vis2k
b2490f9c1f cleanup 2021-03-07 13:30:14 +08:00
vis2k
85287fe642 cleanup 2021-03-07 13:28:35 +08:00
vis2k
6799868517 NetworkServer.NoConnections renamed to NoExternalConnections 2021-03-07 13:09:30 +08:00
vis2k
a744c5c5e8 cleanup 2021-03-07 13:07:17 +08:00
vis2k
382b6c67f4 cleanup 2021-03-07 13:06:26 +08:00
vis2k
2797253cc4 cleanup 2021-03-07 13:04:41 +08:00
vis2k
988bd3a51c cleanup 2021-03-07 13:03:54 +08:00
vis2k
a2f4d82dc0 NetworkServer cleanup 2021-03-07 13:02:46 +08:00
vis2k
e9b9c3819f NetworkServer cleanup 2021-03-07 13:01:34 +08:00
vis2k
e60d22b7e1 NetworkServer cleanup 2021-03-07 13:00:00 +08:00
vis2k
06ff30f42c NetworkServer cleanup 2021-03-07 12:56:29 +08:00
vis2k
f31044b23d NetworkServer clean up 2021-03-07 12:55:52 +08:00
vis2k
fdcd0b8541 NetworkServer cleanup 2021-03-07 12:44:08 +08:00
vis2k
183de927d0 NetworkServer: clean up 2021-03-07 12:42:24 +08:00
vis2k
36e04e1272 NetworkServer: remove old UNET comments, XML summary one liner 2021-03-07 12:39:58 +08:00
vis2k
7de4c07cde NetworkIdentity.Reset: update comment 2021-03-07 11:56:55 +08:00
vis2k
9d0b3bae81 ClientScene.DestroyAllClientObjects: use same syntax as NetworkServer.CleanupNetworkIdentities 2021-03-07 11:53:07 +08:00
vis2k
6447871d8f DestroyAllClientObjects/CleanupNetworkIdentities: add comments 2021-03-07 11:51:26 +08:00
vis2k
4d971c1e57 NetworkServer.CleanupNetworkIdentities: add comments 2021-03-07 11:41:43 +08:00
vis2k
11718d9521 NetworkIdentity.OnDestroy: add comment 2021-03-07 11:39:44 +08:00
vis2k
22f1754ff8 xml to comment 2021-03-07 11:38:55 +08:00
Pandanym
921a7a2fde
feat: Added bool to Discovery to disable automatic active discovery (#2580)
* Use a negative value for ActiveDiscoveryInterval to disable automatic broadcasting

If you want to extend NetworkDiscoveryBase using the templates, you may hit this problem where you want to disable the automatic discovery. But you can't without modifying the base class. This is a proposition that is not breaking for users of the NetworkDiscovery.

* Added a bool to NetworkDiscoveryBase to toggle ActiveDiscovery

* Added tooltip and made enableActiveDiscovery field public
2021-03-06 21:43:40 +08:00
vis2k
a6f6f80f65
fix: NetworkIdentity.isLocalPlayer is only set, but never reset. fixes a bug where isLocalPlayer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2615 (this is also faster than comparing ClientScene.localPlayer each time) (#2616)
* fix: NetworkIdentity.isLocalPlayer is only set, but never reset. fixes a bug where isLocalPlayer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2615 (this is also faster than comparing ClientScene.localPlayer each time)

* fix: NetworkIdentity.OnStartClient now sets isLocalPlayer early so isLocalPlayer is true in OnStartClient callbacks already
2021-03-06 19:30:16 +08:00
vis2k
1fb8990f39 breaking: remove onLocalPlayerChanged over engineering. it was added in #1920 for #1923 which was never merged. keep it simple. 2021-03-06 18:57:58 +08:00
vis2k
2d421df9c7 comment formatting 2021-03-06 18:39:38 +08:00
vis2k
89ea278036 NetworkIdentity.isClient: add comment on how it's expected to behave 2021-03-06 18:30:16 +08:00
vis2k
ee1f941290 fix: NetworkIdentity.isServer is only set, but never reset. fixes a bug where isServer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2533 2021-03-06 18:29:25 +08:00
vis2k
b0cae3c049 comment 2021-03-06 18:09:15 +08:00
vis2k
7e00056d97 comments 2021-03-06 18:07:40 +08:00
vis2k
e7f6a3ea81 comments 2021-03-06 18:06:50 +08:00
vis2k
e4f9b2f94d NetworkIdentity.isServer: make comments readable 2021-03-06 18:04:38 +08:00
vis2k
0e0456809b NetworkIdentity.isClient: make comments readable 2021-03-06 18:02:50 +08:00
vis2k
63f96a9c4d add comment 2021-03-06 14:31:18 +08:00
vis2k
faa8f65e42 add TODO (remove SendToReady) 2021-03-06 14:31:16 +08:00
vis2k
064d30614d [Obsolete] SendToClientOfPlayer so we can remove it later. unnecessary complexity.
(it was previously used in NetworkServer.Update, but now we refactored it)
2021-03-06 14:31:13 +08:00
vis2k
b0b89d489d add TODO 2021-03-06 14:31:11 +08:00
vis2k
aa357dc58b perf: NetworkServer.Update: separate connections update loop moved into the main loop. now there is only one connections loop anymore. 2021-03-06 14:31:07 +08:00
vis2k
5775a36e49 perf: NetworkServer.Update: inactive connection check moved into the main connections foreach loop. Avoids one extra foreach-connections loop. 2021-03-06 14:31:04 +08:00
vis2k
7f0984548c syntax: NetworkServer.Update 'conn' renamed to 'connection 2021-03-06 14:31:01 +08:00
vis2k
6b83411593 syntax: CheckForInactiveConnections moved above NetworkServer.Update 2021-03-06 14:30:58 +08:00
vis2k
6cedb5b404 perf: push->pull broadcasting part 1: feature parity 2021-03-06 14:30:55 +08:00
vis2k
57d4db2e8d Compression: largest three compression from DOTSNET with safe normalized quaternions in case clients send invalid data (#2584) 2021-03-06 14:30:51 +08:00
vis2k
9232dab3a0 add preprocessordefine 2021-03-06 14:23:00 +08:00
vis2k
25ece5a0d5 fix: NetworkManager.StopServer/StopClient: avoid NullReferenceException when called in OnApplicationQuit or from tests 2021-03-06 14:22:56 +08:00
vis2k
425e3131dc fix: NetworkServer.SpawnObserversForConnection refactored to support all visibility cases (ForceShown/ForceHidden/Default) and all systems (legacy/new/default). fixes #2606 2021-03-06 14:22:52 +08:00
vis2k
a277f5c7b7 NetworkClientTests: UpdateTransport: restore original order before we changed it in 'MemoryTransport use new EarlyUpdate' commit 2021-03-04 19:09:34 +08:00
vis2k
7641aa73d4 Websockets: use new EarlyUpdate to remove warnings 2021-03-04 17:40:23 +08:00
vis2k
7e41302ca9 Telepathy: use new EarlyUpdate to remove warnings 2021-03-04 17:37:50 +08:00
vis2k
371ddc457a MemoryTransport uses new EarlyUpdate functions to remove warning 2021-03-04 17:26:52 +08:00
Raguel
c94cbe2811
Hot fix for scene rename (#2614)
Co-authored-by: Alice Loverdrive <al.zhumagali@gmail.com>
2021-03-04 17:12:09 +08:00
Robin Rolf
978a3deb7f
Add scripting define for update loop changes (#2613) 2021-03-04 17:10:48 +08:00
vis2k
96750d80d5 use icons 2021-03-03 14:30:28 +08:00
vis2k
4f58366e0f
perf: kcp Tick split into TickIncoming/Outgoing to utilize the new NetworkEarly/LateUpdate functions. minimizes latency. (#2608) 2021-03-02 19:18:18 +08:00
vis2k
5ba677118e kcp2k V1.9: Tick() split into TickIncoming()/TickOutgoing() to use in Mirror's new update
functions.
2021-03-02 18:43:11 +08:00
vis2k
b882653768 syntax 2021-03-02 15:57:30 +08:00
vis2k
b663636a5b
perf: Transport.Client/Server Early/LateUpdate to fix data races and allow transports to reduce latency by doing all receiving & sending in one frame. (#2605)
* fix: NetworkClient/Server: use the new custom NetworkLateUpdate instead of Unity's LateUpdate. fixes possible data races where other component's LateUpdate could be called before/after NetworkServer/Client LateUpdate causing non obvious data races.

* perf: Transport.Client/Server Early/LateUpdate to fix data races and allow transports to reduce latency by doing all receiving & sending in one frame.
2021-03-02 15:28:50 +08:00
vis2k
43e6fb4c53
fix: NetworkClient/Server: use the new custom NetworkLateUpdate instead of Unity's LateUpdate. fixes possible data races where other component's LateUpdate could be called before/after NetworkServer/Client LateUpdate causing non obvious data races. (#2604) 2021-03-02 15:28:30 +08:00
vis2k
edea4089e4 perf: avoid NetworkIdentity.visibility access allocations from obsolete messages when accessing .visibilityCache 2021-03-01 19:08:59 +08:00
vis2k
a2b828a511 syntax 2021-03-01 18:41:29 +08:00
vis2k
4fedf417b1
feature: add custom NetworkEarlyUpdate (before any Update/FixedUpdate), NetworkLateUpdate (after any Update/FixedUpdate/LateUpdate) loops (#2603)
* NetworkLooper helper class with explanation

* AddSystemToPlayerLoopList from ECS and tests

* rename to Append

* change function type to UpdateFunction, actually add it

* better

* use Array.Resize

* syntax

* better logging

* addmode

* better

* FindPlayerLoopEntryIndex helper to verify

* better

* disable logs

* syntax

* test for PreLateUpdate

* add at runtime

* better log

* NetworkServer/Client.Update renamed to LateUpdate to make it more obvious

* NetworkLoops call NetworkServer/Client funcs

* logs

* Unity 2019 ifdef

* disable logs

* add comment

* obsoletes

* syntax

* change

* internal
2021-03-01 17:51:42 +08:00
vis2k
5809c50c2c
NetworkPingDisplay simplified (#2602) 2021-03-01 14:28:46 +08:00
vis2k
a67fd9084b RegisterPrefab with assetId: add comment 2021-02-25 15:10:27 +08:00
vis2k
8854844a7f dontListen: add comment 2021-02-25 09:57:48 +08:00
vis2k
8d3f33081b
NetworkServer: obsolete redundant RegisterHandler version without connection parameter (#2594) 2021-02-25 09:56:02 +08:00
vis2k
1f0d9e73e1
NetworkManagerHUD.showGUI obsoleted (#2596) 2021-02-25 09:55:14 +08:00
vis2k
62b99ed9a7
breaking: ClientScene.spawnableObjects doesn't need to be public (#2597) 2021-02-25 09:54:49 +08:00
vis2k
2d188080ec syntax 2021-02-24 18:08:35 +08:00
vis2k
ac5f978b22 syntax 2021-02-24 18:08:00 +08:00
vis2k
d202024d1f syntax 2021-02-24 18:07:39 +08:00
vis2k
290811e043 syntax 2021-02-24 18:07:03 +08:00
vis2k
dd53593255 syntax 2021-02-24 17:55:33 +08:00
vis2k
49cf2569f0 Utils.IsPrefab and reuse it everywhere else 2021-02-24 17:51:25 +08:00
vis2k
2367959f54 syntax 2021-02-24 17:42:37 +08:00
vis2k
d8c1924cf8 NetworkIdentity: GetRandomUInt moved to Utils 2021-02-24 17:42:14 +08:00
vis2k
a030caad0d UNetwork.cs renamed to Utils.cs 2021-02-24 17:37:40 +08:00
vis2k
eff035a604 syntax 2021-02-24 17:35:38 +08:00
vis2k
c417d50e1c syntax 2021-02-24 17:35:17 +08:00
vis2k
598f9e78c1 syntax 2021-02-24 17:34:38 +08:00
vis2k
aaf4b19539 SyncSet: add comments 2021-02-24 17:33:49 +08:00
vis2k
e80ec86577 NetworkServer.DestroyObject(GameObject) helper function to reuse in UnSpawn and Destroy 2021-02-24 16:52:32 +08:00
vis2k
820070cf60 syntax: NetworkServer.CreateSpawnMessagePayload moved above CreateSpawnMessage so it's more obvious 2021-02-24 16:49:29 +08:00
vis2k
4f69dd6d7b syntax 2021-02-24 16:48:46 +08:00
vis2k
a2f374f117 syntax: NetworkServer.Send functions 'msg' renamed to 'message' 2021-02-24 16:48:16 +08:00
vis2k
008df9cee4 syntax: NetworkManager.startPositions moved up 2021-02-24 16:46:06 +08:00
vis2k
72e8bf80c6 fix: InterestManagement added missing ready checks. x branch didn't have ready anymore, so they were missed when porting interest management to master. adding them guarantees exact same behaviour as before. 2021-02-24 12:50:36 +08:00
vis2k
2ef51d03f7 fix: #2595 InterestManagement AddAllAuthenticatedConnectionsToObservers fat fingered from x branch which didn't have 'ready' anymore. it should be AddAllReadyServerConnectionsToObservers like before, no change in the logic. 2021-02-24 12:44:21 +08:00
MrGadget1024
f3813c41cc fix: Multiple Additive Scenes - wrong mesh and materials 2021-02-22 22:43:33 -05:00
MrGadget1024
f8cac55d79 fix: Multiple Additive Scenes - Missing mesh assignment 2021-02-22 22:26:41 -05:00
MrGadget1024
0ad623a869 Fixed typo 2021-02-22 14:08:43 -05:00
MrGadget1024
15e77507f6 NetworkRoomManager: Removed redundant code 2021-02-20 09:11:39 -05:00
MrGadget
827d31e1c8
feat: Move Network Manager out of DDOL in StopServer and StopClient (#2582)
* feat: Move Network Manager out of DDOL in StopServer and StopClient
- Moves Network Manager out of DDOL before going to offline scene to avoid collision and let a fresh Network Manager be created.

* removed spaced between braces

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-20 11:56:14 +08:00
MrGadget
89e5206e39
Disable Obsolete Warnings In Tests (#2583)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-20 11:55:24 +08:00
vis2k
21196fc05b fix: Telepathy V1.7 - receive timeout disabled by default; MirrorTransport now uses 30s instead of 5s timeout to avoid timing out during scene changes etc. 2021-02-20 11:53:19 +08:00
vis2k
659c035d42 disable log 2021-02-19 18:55:20 +08:00
vis2k
f3f56bd3cd forgot to disable log 2021-02-19 16:01:55 +08:00
MrGadget
0fab6dbef3
Suppressed Flakey Tests (#2589)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-18 10:15:15 -05:00
vis2k
42fe37eeeb syntax 2021-02-18 17:21:19 +08:00
vis2k
a8db766837 NetworkServer.SendToAll/SendToObservers: remove LocalConnectionToClient check because they both use Send now 2021-02-18 17:19:48 +08:00
MrGadget1024
3896722a49 Removed old files 2021-02-18 03:25:32 -05:00
MrGadget1024
bb617d1959 Added comments to Chat Example methods 2021-02-18 03:09:38 -05:00
MrGadget1024
685366e7e1 fix: Chat Example Network Address OnValueChanged Wire-up 2021-02-18 03:03:26 -05:00
vis2k
b09d1681a0
LocalConnections.LocalConnectionBuffer replaced with System.Queue (#2585) 2021-02-18 14:56:46 +08:00
vis2k
73d95f9b5b NetworkReader/WriterPool: .pool renamed to .Pool 2021-02-18 14:40:38 +08:00
vis2k
409eac092d syntax 2021-02-18 14:39:59 +08:00
vis2k
efac1e2f5f syntax 2021-02-18 14:39:27 +08:00
vis2k
af78b2c139 syntax 2021-02-18 14:38:42 +08:00
vis2k
6954ea478f syntax 2021-02-18 14:37:42 +08:00
vis2k
4b4dd310b6 syntax 2021-02-18 14:34:45 +08:00
vis2k
af3c5b5e8b ULocalConnection renamed to LocalConnection 2021-02-18 14:32:15 +08:00
vis2k
44bfe7ab11 syntax 2021-02-18 14:29:49 +08:00
vis2k
6374c4b88b NetworkIdentity: NetworkBehaviours[] caching simplified 2021-02-18 14:28:28 +08:00
vis2k
b4fa4f2d1c syntax 2021-02-18 14:26:22 +08:00
vis2k
dcd3005674 add comment 2021-02-18 14:26:09 +08:00
vis2k
239bc660fd feat: NetworkIdentity.isServer/ClientOnly added. NetworkBehaviour.isServer/ClientOnly uses it. 2021-02-18 14:24:43 +08:00
vis2k
4bef7fc635 MessagePacker renamed to MessagePacking 2021-02-18 14:19:29 +08:00
vis2k
f00aa2f8d8 syntax 2021-02-18 14:17:29 +08:00
vis2k
d7adbf6f1e syntax 2021-02-18 14:06:16 +08:00
vis2k
2ab0154333 syntax 2021-02-18 14:05:50 +08:00
vis2k
fd29828512 syntax 2021-02-18 14:05:19 +08:00
vis2k
cc68c854e7 TelepathyTransport moved into Telepathy folder for consistency with the other transports 2021-02-18 14:03:23 +08:00
vis2k
08a89e83bd CecilX license updated: show 'x' source 2021-02-18 13:59:27 +08:00
vis2k
dade531dfe ChatExample: remove unused code 2021-02-18 13:58:53 +08:00
vis2k
68d38832ed NetworkScenePostProcess: use LogWarning instead of LogWarningFormat 2021-02-18 13:57:47 +08:00
vis2k
4624f34b0e syntax 2021-02-18 13:56:33 +08:00
vis2k
d8187d4b7d syntax 2021-02-18 13:56:33 +08:00
vis2k
d83ce37760 remove //namespace comments 2021-02-18 13:56:33 +08:00
vis2k
5fd79094fc fix: changing any NetworkIdentity settings in the Inspector at runtime (like forceHidden) would call OnValidate, cleared the assetId because the prefab conection isn't known at runtime. As result, the NetworkIdentity couldn't be spawned on other clients anymore because assetId is empty. 2021-02-18 13:43:00 +08:00
vis2k
dd29d99be2 Revert "fix: SetupIDs() now detects if Editor is running. fixes a bug where changing any NetworkIdentity setting at runtime would clear the NetworkIdentity.assetId, causing respawn bugs where client would receive an empty assetId (forceHidden -> not forceHidden)."
=> this broke two of the runtime tests previously
2021-02-18 13:43:00 +08:00
MrGadget1024
ae5875203e Removed Overrides of OnServerError / OnClientError in templates 2021-02-17 22:14:27 -05:00
vis2k
9927c827dc disable log 2021-02-18 10:43:55 +08:00
vis2k
3db423455b fix: GUIConsole now shows logs in editor too. instead of only showing the empty console. 2021-02-18 10:43:55 +08:00
vis2k
2631982cb3
feature: perf: Global Interest Management. NetworkVisibility components per-NetworkIdentity obsoleted and replaced by one global InterestManagement component on NetworkManager instead. Significantly easier to understand, allows for spatial hashing (~30x faster) and reduces amount of components in the worlds (for 1k objects, we avoid 1k NetworkVisibility components now). (#2581)
* feature: perf: Global Interest Management. NetworkVisibility components per-NetworkIdentity obsoleted and replaced by one global InterestManagement component on NetworkManager instead. Significantly easier to understand, allows for spatial hashing (~30x faster) and reduces amount of components in the worlds (for 1k objects, we avoid 1k NetworkVisibility components now).

* Benchmark scene uses new Spatial Hashing

* improve message

* Update Assets/Mirror/Components/InterestManagement/SpatialHashing/Grid2D.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* NetworkIdentity.forceHidden changed to enum to prepare for forceShown

* NetworkIdentity.Visibility: added ForceShown option

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-02-18 10:16:10 +08:00
vis2k
650231025f Interest Management: NetworkConnection.visList renamed to observing 2021-02-16 20:38:52 +08:00
vis2k
bd4fa37cd5 use M icon in all runtime scripts 2021-02-16 20:33:17 +08:00
vis2k
798984e4de breaking: [Command(ingoreAuthority=false)] double negative changed to [Command(requiresAuthority=true)] 2021-02-16 20:32:05 +08:00
vis2k
c4899a92ca remove comments 2021-02-16 20:29:57 +08:00
vis2k
9cf5984ce9 breaking: [ClientRpc(excludeOwner=false)] double negative changed to [ClientRpc(includeOwner=true)] 2021-02-16 20:26:49 +08:00
vis2k
60b112079c Welcome Message updated 2021-02-16 20:23:58 +08:00
vis2k
64eba8204f CustomAttributes.cs renamed to Attributes.cs 2021-02-16 20:23:12 +08:00
vis2k
020f79a8d2 Weaver: worker.Append(worker.Create(Opcode)) replaced with worker.Emit(Opcode) 2021-02-16 20:17:44 +08:00
vis2k
7ba6a9ab0b Weaver Log simplified 2021-02-16 20:16:42 +08:00
vis2k
34a1722c76 Weaver Extensions: remove comments 2021-02-16 20:16:37 +08:00
vis2k
1b5ff01c8c Weaver Extensions: syntax 2021-02-16 20:16:34 +08:00
vis2k
2ac0b3692c Weaver Extensions: remove comment 2021-02-16 20:16:31 +08:00
vis2k
a8eb104273 Weaver CompilationFinishedHook: syntax 2021-02-16 20:16:25 +08:00
vis2k
bb8de742ae Weaver CompilationFinishedHook: syntax 2021-02-16 20:16:22 +08:00
vis2k
7abbd2411e Weaver CompilationFinishedHook: remove unused fields 2021-02-16 20:16:06 +08:00
vis2k
cfc648d722 Weaver Extensions: use Linq 2021-02-16 20:11:18 +08:00
vis2k
9121a65cc8 Weaver Extensions ImplementsInterface: use Linq 2021-02-16 20:11:13 +08:00
vis2k
7bd86cef5f syntax 2021-02-16 20:10:31 +08:00
vis2k
9438b90c0d syntax 2021-02-16 20:09:36 +08:00
vis2k
078e3c228d feat: GUIConsole from uMMORPG add component to scene, press F12 to see log console in builds 2021-02-16 20:07:40 +08:00
vis2k
0185539905 WeaverTypes: remove unused 2021-02-16 20:06:32 +08:00
vis2k
7e509eae4a Weaver.ReadAllFields: remove unused field 2021-02-16 20:05:53 +08:00
vis2k
bd34f100fc syntax: remove unnecessary 'private' 2021-02-16 20:04:19 +08:00
vis2k
d75eeb346c NetworkMessage moved into NetworkMessage.cs 2021-02-16 20:01:22 +08:00
vis2k
deaf73cc2a remove unused imports 2021-02-16 19:59:55 +08:00
vis2k
3296de741f DotNetCompatibility extension moved into Extensions.cs 2021-02-16 17:48:28 +08:00
vis2k
080924193d remove unused Weaver Helpers.DestinationFileFor 2021-02-16 17:46:59 +08:00
vis2k
daf324310d remove unused ScriptableObjectUtility 2021-02-16 17:46:23 +08:00
vis2k
ffebaa9cc6 StringHash extensions renamed to Extensions 2021-02-16 17:40:26 +08:00
vis2k
092ce8b214 breaking: removed LogFactory 2021-02-16 17:34:57 +08:00
vis2k
4be31cac9d fix: batching reimplemented to be testable. fixes > MTU sized messages previously flushing out empty batches because the if size check is always true for > MTU sized messages, causing it to flush previous batch even if empty, causing odd empty message behaviour on server and client.
(added tests too)
2021-02-14 19:29:13 +08:00
vis2k
66b64f010f fix: kcp2k V1.8: fixes empty message sending/receiving undefined behaviour and fixes IPv6 errors on Nintendo Switch 2021-02-14 17:46:34 +08:00
Robin Rolf
4cc9f2ea6a
Add scripting define for telepathy api change (#2573) 2021-02-13 13:20:05 -05:00
MrGadget1024
d26b09d544 Fixed Typo 2021-02-13 13:12:01 -05:00
vis2k
631fdb80d1 breaking: remove unused ErrorMessage & handlers 2021-02-14 00:43:42 +08:00
vis2k
4c12c59f78 breaking: remove NetworkConnection.InvokeHandler now that it's not needed anymore 2021-02-14 00:43:39 +08:00
vis2k
be42976a26 fix: NetworkServer/Client don't use Connect/DisconnectMessage anymore. fixes a bug where external connects could try sending that message causing undefined behaviour (#2577) 2021-02-14 00:39:23 +08:00
vis2k
5aed823cc7 fix: SetupIDs() now detects if Editor is running. fixes a bug where changing any NetworkIdentity setting at runtime would clear the NetworkIdentity.assetId, causing respawn bugs where client would receive an empty assetId (forceHidden -> not forceHidden). 2021-02-12 01:04:06 +08:00
JesusLuvsYooh
60574dd1ab
Wrong /n should be \n (#2572) 2021-02-10 21:04:43 +08:00
vis2k
3394f755b9
fix: Telepathy V1.6. fixes data races & improves stability (#2571)
* fix: perf: Telepathy V2.0
+ fixed data races
+ no more allocations
+ improved server stability under heavy load(!)
+ added lots of tests & fixed flaky tests

* fix: perf: Telepathy V2.0 (Concurrent Pipe Version)

* fix: Telepathy V1.3 (FOR CCU TEST. DONT MERGE, NEEDS ENABLED SCENE CHANGE CHECK)

* fix: Telepathy V1.4 (FOR CCU TEST. DONT MERGE, NEEDS ENABLED SCENE CHANGE CHECK)

* fix: Telepathy V1.5. fixes data races.

* fix: Telepathy V1.6 (fixes data races and more)
2021-02-10 19:36:39 +08:00
vis2k
e98a12b499
NetworkManager.MaxConnections default increased from 4 to 100 (#2569) 2021-02-08 10:11:16 +08:00
MrGadget
0675518762
fixed a bunch of typos (#2566)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-06 17:52:24 -05:00
MrGadget1024
7d6566c3aa fixed typo in comment 2021-02-06 14:29:47 -05:00
James Frowen
638f761469
fix: making exception for OnDeserializeSafely more clear (#2562) 2021-02-07 00:48:13 +08:00
vis2k
638796a0ad syntax 2021-02-06 14:11:29 +08:00
MrGadget
d743f79136
feat: Add ScriptTemplates to repo and package (#2559)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-02-05 09:34:22 +08:00
vis2k
1ff4fe30b7
perf: Batching (#2552)
* perf: Batching. Batches message into Transport.GetMaxPacketSize sized chunks and sends them every batchInterval

* don't log time

* Transport.GetMaxBatchSize and kcp override it to always use MTU

* remove comment

* NetworkConnectionToClient tests

* Test: Send_BatchesUntilUpdate

* Test: Send_BatchesUntilInterval

* fix: initialize last send time with NetworkTime.time

* better comment

* fixing reset after sending batch

Need to reset both position and length

* revert the transportreceive change for localconnections.
before it didn't work because of the length bug that is fixed now.

* added test to avoid length bug in the future

* optional

* enable batching in benchmark demo for max scale

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2021-02-03 22:47:06 +08:00
James Frowen
d870351afb
fix(SimpleWebTransport): removing unimportant error
ReadHelperException can be throw when connection disconnects, this is normal and should not be sent to mirror as an error.
2021-01-27 21:31:37 +00:00
vis2k
4d3eff0b7f NetworkConnection.TransportReceive split into two functions 2021-01-26 12:15:44 +08:00
vis2k
24ec357a46 add comment 2021-01-26 11:46:43 +08:00
James Frowen
2396da8202
tests: updating HostSetup.cs
adding methods to spawn a pair of objects for server/client tests
2021-01-25 22:27:43 +00:00
James Frowen
3fcc7415b4
Update HostSetup.cs
adding virtual methods for test setup
2021-01-25 16:04:51 +00:00
vis2k
7bcf957c23 syntax 2021-01-25 23:21:41 +08:00
MrGadget1024
fdeb2b05bd Added comments to NetworkManager::OnValidate 2021-01-23 14:34:01 -05:00
MrGadget1024
b7b1fa2146 style: Simplified NetworkManager::RegisterClientMessages
- Approved per Discord discussion
2021-01-22 10:18:46 -05:00
vis2k
12ee96f5d9 fix: NetworkServer.OnConnected allows for connectionIds < 0 now. some transports like kcp use hashing where connectionIds can easily be < 0, which previously was not allowed. 2021-01-21 11:07:44 +08:00
MrGadget
fb874169f7
feat: Added NetworkOwnerChecker Component (#2388)
* Added NetworkOwnerChecker component

* Simplified OnRebuildObservers

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2021-01-18 09:59:27 +08:00
MrGadget1024
872556543c fix: NetworkManager: changed print to logger.Log 2021-01-17 15:37:20 -05:00
MrGadget1024
b80436cc41 style: NetworkBehaviour: Moved OnStopClient below OnStartClient 2021-01-17 15:06:29 -05:00
MrGadget1024
e5eb29a6fc fix: KcpTransport - commented out defines again 2021-01-17 13:17:02 -05:00
vis2k
92f8ad3c5c kcp2k V1.7 version file added too 2021-01-17 20:32:04 +08:00
MrGadget1024
9bcd1a1be4 fix: Corrected NetworkRoomPlayer virtual method param name 2021-01-16 13:26:47 -05:00
Paul Pacheco
7e3b7b9e11
perf: synchronize network time over unreliable (#2543) 2021-01-14 23:37:25 +08:00
vis2k
1cdbcd64ba kcp2k V1.7
- fix: unreliable messages reset timeout now too
- perf: KcpConnection OnCheckEnabled callback changed to a simple 'paused' boolean.
  This is faster than invoking a Func<bool> every time and allows us to fix #8 more
  easily later by calling .Pause/.Unpause from OnEnable/OnDisable in MirrorTransport.
- fix #8: Unpause now resets timeout to fix a bug where Mirror would pause kcp,
  change the scene which took >10s, then unpause and kcp would detect the lack of
  any messages for >10s as timeout. Added test to make sure it never happens again.
- MirrorTransport: statistics logging for headless servers
- Mirror Transport: Send/Receive window size increased once more from 2048 to 4096.
2021-01-13 20:17:22 +08:00
James Frowen
365db8b55e
adding comment to CompressQuaternion 2021-01-12 18:18:31 +00:00
vis2k
ae48cf5c80 perf: kcp2k V1.6 - unreliable channel & improvements 2021-01-10 19:28:50 +08:00
MrGadget1024
8f4856c715 fix: fixed Chat example scene for 2018.4 2021-01-09 20:00:13 -05:00
MrGadget1024
e52dfeb07a Applied Mirror Icon to MiddlewareTransport 2021-01-07 12:12:21 -05:00
vis2k
b85dea57df fix: kcp2k updated to V1.5. bigger send/recv window size defaults because Mirror sends a lot of data. fixes a bug where some projects would encounter ever growing latencies because kcp didn't process/send data fast enough, causing slowly growing send/recv buffers. also shows MaxSend/RecvRate in debug gui now. 2021-01-08 00:00:10 +08:00
MrGadget1024
f10f6f913a doc: Updated ReadMe 2021-01-07 09:34:33 -05:00
MrGadget1024
ca94fca82f fixed NetworkIdentityTest
- removed unused var
2021-01-07 09:22:24 -05:00
MrGadget1024
b85557b8ea Fixed NetworkWriterTest
- Removed unnecessary using
- Removed unused vars
- made netId a uint
2021-01-07 09:20:02 -05:00
Coburn
9393686f16
fix: NetworkWriterTest.cs failing due to Blittable removal (#2530)
This commit compliments dd4d344542, and makes all tests in NetworkWriterTest.cs pass with flying colours. Gold star!
2021-01-05 00:44:38 +08:00
MrGadget1024
0a01edfbd5 fix: Fixed tests for OnStopClient
OnNetworkDestroy was renamed to OnStopClient in May 2020
2021-01-03 21:14:05 -05:00
MrGadget1024
ec972ca46a Removed MonoBehaviour inheritance in Spawners 2021-01-03 13:02:09 -05:00
Coburn
dd4d344542
Revert "perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (#2441)" (#2526)
This reverts commit 1947f061ad and applies some patches to bring it back up to date without the DOTSNET feature.
2021-01-03 20:52:34 +08:00
James Frowen
eb6b7e73b9
fix: adding newline before StackTrace
this avoids the first line of the stacktrace being on the same line as the Exception. this is better because the Exception line could be line and it is easy to miss the first stack trace line.
2020-12-31 01:58:20 +00:00
James Frowen
d22db33086
Moving FindPath to editor scripts (#2512)
* moving FindPath to editor scripts

this allows this function to be used by other scripts

* Update Assets/Mirror/Editor/EditorHelper.cs

* removing extra using
2020-12-25 16:49:14 +08:00
James Frowen
1cf5930d51
feat: Adding default folder as argument for ScriptableObjectUtility (#2513)
This allows ScriptableObjectUtility to be used for other folders not just Asset/Mirror
2020-12-24 15:29:36 +08:00
MrGadget
41480ac42f
fix: DisallowMultipleComponent on all transports (#2507)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-12-20 10:28:58 +08:00
MrGadget1024
8ad332a64d fixed typo in comment 2020-12-19 14:58:08 -05:00
vis2k
c72fd39f19 NetworkReader.ReadNetworkBehaviour: don't log warning if netId is not in spawned. This is common if we have a [SyncVar] NetworkBeaviour that walks out of proximity range. 2020-12-19 21:39:24 +08:00
vis2k
c7b2d1d1d3 use more obvious syntax 2020-12-19 21:38:39 +08:00
vis2k
4e30409db5 NetworkReader.ReadNetworkIdentity: don't log warning if netId is not in spawned. This is common if we have a [SyncVar] NetworkIdentity that walks out of proximity range. 2020-12-19 21:37:43 +08:00
Paul Pacheco
45a494aded
fix: prevent allocation of massive array (#2465)
* fix: prevent allocation of massive array

A poison message could contain an invalid length causing us to allocate massive arrays

* throw exception instead

* Update Assets/Mirror/Runtime/NetworkReader.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* test for ReadArray

* swapping order of equation so that length doesnt overflow

* adding test case

* adding more tests for array length

* swapping order

* fixing expected message

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-12-17 12:12:26 +08:00
MrGadget
f2e78da58c
fix: Changed all fields in examples from [SerializeField] internal to public per Vis request. (#2502)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-12-17 12:06:04 +08:00
MrGadget1024
2aa4c84ae5 Added meta file 2020-12-16 23:00:09 -05:00
James Frowen
50a214613f
fix(weaver): Weaver finds correct log methods for unity 2020.2 (#2497)
Unity has added new private LogWarning methods in 2020.2 which causes weaver to find the wrong method. Checking the parameters as we as the name will find the correct method.

fixes: https://github.com/vis2k/Mirror/issues/2366
2020-12-17 11:43:37 +08:00
Antoine Place
613851ff3c
Added an example featuring multiple match on a single server using the Match Checker component. (#2499)
Co-authored-by: Antoine Place <antoine.place@youkado.com>
2020-12-17 11:42:06 +08:00
MrGadget1024
8fcb7719e2 fix: Updated Basic example to work in Unity 2018.4 2020-12-16 15:05:58 -05:00
MrGadget
58aeb622ba
Make IDisposable classes sealed (#2495)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-12-14 11:12:03 +08:00
James Frowen
e7e36d0558 feat(SimpleWebTransport): adding option to allow for tls outside of the transport 2020-12-12 14:53:23 +00:00
MrGadget1024
2f24d9aa2b fix: Added OnStopServer to NetworkMatchChecker 2020-12-10 14:50:49 -05:00
MrGadget1024
36814e6abb fix: Removed debug logging from NeworkSceneChecker
They were added for testing OnStop Server and forgot to take them out.
2020-12-10 14:49:41 -05:00
MrGadget1024
484b80f0bb fix: Added OnStopServer to NetworkSceneChecker 2020-12-10 14:44:25 -05:00
Tiago Martines
6f8a289384
Disable KCP console logging when debugLog flag is off (#2488)
* Disable KCP console logging when debugLog flag is off

* Update KcpTransport.cs

* Update KcpTransport.cs

Co-authored-by: Tiago Martines <tiago.martines@wildlifestudios.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-12-09 14:29:38 +08:00
James Frowen
c3e2a26378
feat: allow types that inherit from Networkbehaviour to be used in syncvar's (#2471)
* adding MakeGeneric method

* adding tests for NB syncvar+hook

* adding functions to NetworkBehaviour

* getting references to new functions

* fixing NB read so it always reads same number of bytes as write

* adding backing field and serialize for Nb Syncvar

* extra test

* adding ignore to transform test

* fixing test
2020-12-09 10:53:26 +08:00
James Frowen
99f7e9112d
perf(NetworkTransform): removing allocations from Command (#2491)
`byte[] payload` will cause a new array to be created when parameters are read, using `ArraySegment<byte>` avoids this.
2020-12-08 16:01:39 +08:00
MrGadget1024
53694e3be3 fix: NetworkRoomManager.ReadyStatusChanged made public 2020-12-06 18:36:00 -05:00
James Frowen
2b91a3049b
Sorting usings (#2487)
Seems like this has come up a few times so here is a commit to sort this out.

We shouldn't have to worry about the order of the using, we should just let plugins automatically sort them. They are sorted into alphabetical order expect for system becase we have `dotnet_sort_system_directives_first = true` enabled in `.editorconfig`
2020-12-05 10:51:02 +08:00
James Frowen
a51ee1fa3b
fix: stopping values being reset before OnDestory is called (#2485)
* fix: stopping values being reset before OnDestory is called

* matches server side logic
* if an object is being fully destroyed it doesn't need its values to be reset
2020-12-03 15:50:52 +00:00
James Frowen
4acf0d69e0
feat: Allow Networkbehaviours to be sent in rpc (#2478)
* adding read/write functions

* adding method to get WriteNetworkBehaviour

* adding methods to weavertypes

* adding method to get ReadNetworkBehaviour

* weaver test for NetworkBehaviour in RPC

* renaming var

* writing tests to make sure read/write works

* registering functions

* changing function and adding comment

* checking any writer is set

* adding Description to test

* collection test

* fixing call

* removing errors, networkbehaviour as read/write

* adding test to use the reader that weaver generates

* fixing import

* simplifying test

* removing null from spawned

* improving throw

* adding code coverage

* applying code suggestions
2020-12-02 09:40:38 +08:00
James Frowen
798a4cab33
breaking: Unity LLAPI transport meets the recycle bin. (#2484) 2020-12-02 01:35:53 +00:00
James Frowen
adabbdc552
using TypeReference with comparer instead of string (#2481)
* Using TypeReference  with IEqualityComparer instead of string to keep reference to type
* using targetType to initialize write/read functions
* test to make sure write function is set
2020-12-01 00:32:10 +00:00
James Frowen
05f6690484
weaver: moving IsNetworkIdentityField to extensions (#2476)
* weaver: moving IsNetworkIdentityField to extensions

* making extension use TypeReference
2020-11-29 21:51:19 -06:00
James Frowen
3bc58a851a
weaver: making GenerateWriter return MethodReference (#2479) 2020-11-30 03:05:57 +00:00
James Frowen
f9baa3f9da
making IsDerivedFrom use TypeReference (#2475) 2020-11-29 20:02:46 -06:00
MrGadget1024
58d6db72ad fix: NetworkRoomManager and NetworkRoomPlayer public fields
Made fields public again for inheritance.
2020-11-29 01:52:26 -05:00
MrGadget1024
b3e7aa9d95 fix: NetworkBehaviour throwing error in logger
```
UnityException: ToString is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'GamePlay' on game object 'GamePlay'.
See "Script Serialization" page in the Unity Manual for further details.
UnityEngine.Object.ToString () (at <a979f18d51af41179d12b797e8c5be14>:0)
UnityEngine.Logger.GetString (System.Object message) (at <a979f18d51af41179d12b797e8c5be14>:0)
UnityEngine.Logger.LogError (System.String tag, System.Object message) (at <a979f18d51af41179d12b797e8c5be14>:0)
Mirror.NetworkBehaviour.InitSyncObject (Mirror.SyncObject syncObject) (at Assets/System/3rdParty/Mirror/Runtime/NetworkBehaviour.cs:168)
myGame.GamePlay..ctor () (at Assets/System/GamePlay.cs:18)
```
2020-11-28 23:03:36 -05:00
MrGadget1024
bcd1c6fbab renamed rb to non-abbreviated name 2020-11-28 22:53:57 -05:00
MrGadget1024
930d0cbbfd Tanks Example Improvements
- made fields private with SerializeField
2020-11-28 19:55:11 -05:00
MrGadget1024
8efd45c0d2 Room Example Improvements
- made fields private / internal with SerializeField
- CapsuleCollider is always on
2020-11-28 19:51:01 -05:00
MrGadget1024
12231c3be7 Pong Example Improvements
- made fields private with SerializeField
2020-11-28 19:26:20 -05:00
MrGadget1024
6823fb9d2e Multiple Additive Scenes Example Improvements
- made fields private / internal with SerializeField
- simplified Spawner to use prefab directly from MultiSceneNetManager
2020-11-28 19:12:57 -05:00
MrGadget1024
982b268b87 Additive Scenes Example Improvements
- Player Collider is always on
- made fields private with SerializeField
2020-11-28 18:53:14 -05:00
MrGadget1024
d6cfd2eadf perf: Improvements to RigidbodyPhysics Example
- consolidate nested if
- set kinematic by default on scene objects
- set kinematic false on server in AddForce::Start
- added field for Rigidbody component reference via inspector
  - eliminated calling GetComponent every frame
- set SyncInverval to zero on both NetworkTransforms and NetworkRigidbody
2020-11-28 18:14:13 -05:00
MrGadget1024
d0ee88150f Removed AsmDef from RigidBodyPhysics example 2020-11-28 18:03:13 -05:00
MrGadget1024
c6f0554bd8 Removed Obsolete from TelepathyTransport 2020-11-28 17:30:33 -05:00
MrGadget1024
090b83e583 Chat Example: made field private with SerializeField 2020-11-28 17:29:38 -05:00
MrGadget1024
f735ad2f6b Chat Example: made field private with SerializeField 2020-11-28 15:45:02 -05:00
MrGadget1024
1339ab7065 fix: Fixed broken reference in Chat example scene 2020-11-28 15:44:27 -05:00
MrGadget1024
6027b8056d Basic Example: Made fields internal with SerializeField 2020-11-28 15:43:02 -05:00
MrGadget1024
0856bc008a perf: Applied Channels.DefaultUnreliable to Experimental Network Transform 2020-11-28 10:20:24 -05:00
MrGadget1024
1616f57db0 perf: Added Compress / Decompress Quaternion to Experimental Network Transform 2020-11-28 10:16:01 -05:00
vis2k
fde07decfc
perf: NetworkTransform compresses rotation from 16 to 4 bytes. (#2469)
1024 entities => 4KB instead of 16KB
2020-11-28 12:12:17 +08:00
vis2k
3d5c942d85 fix: kcp2k V1.4. fixes a bug where KcpConnection message processing can now be stopped immediately when transport was disabled after scene change message; MirrorTransport uses turbo mode by default now 2020-11-27 18:28:10 +08:00
vis2k
cca5c12f4d remove unused import 2020-11-27 17:34:09 +08:00
vis2k
5e4a86e3aa perf: Kcp: use 'turbo mode' configuration in all examples(https://github.com/skywind3000/kcp/blob/master/README.en.md#protocol-configuration) 2020-11-27 17:09:59 +08:00
vis2k
cbcace8dfe
fix: NetworkScenePostProcess now stops editor for invalid sceneIds (#2468)
Better than launching with sceneId errors, which never works.
2020-11-27 15:55:49 +08:00
vis2k
b96d0d2284
fix: NetworkScenePostProcess gives proper error message if currently in prefab edit mode. (#2467)
Previously it would give 'a scene needs to be resaved', which is confusing.
2020-11-27 15:54:25 +08:00
vis2k
4ea25feee7 Syntax 2020-11-27 12:53:02 +08:00
MrGadget1024
01d5358145 Rephrased comment 2020-11-26 19:57:56 -05:00
MrGadget1024
ee24eae3f6 feat: NetworkServer.maxConnections is now public
Fixes #2448
2020-11-25 22:52:48 -05:00
MrGadget
fa9aa67cc6
feat: Updated Basic Example (#2461)
* Changed oldColor to underscore in hook in RandomColor

* WIP

* feat: Updated Basic Example
- PlayerUI is now separated from player object
- PlayerUI is event driven from the Player object
- PlayerUI is locally instantiated, instead of networked
- added border to players panel

* fixed code smells

* moved playersList to BasicNetManager

* fixed compile error and improved layout

* fixed tooltips

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-25 22:39:31 -05:00
James Frowen
b14fa87f1a
docs: adding explanation for Compression for ScaleToUInt parameters 2020-11-25 23:41:48 +00:00
vis2k
31c3c2f924 Telepathy: Common.ReadMessageBlocking: log warning instead of logging OverflowException if size header is negative 2020-11-25 21:51:43 +08:00
James Frowen
ff6ced11aa
docs: fixing cref (#2463) 2020-11-24 21:25:54 +00:00
MrGadget1024
fb8c3c4736 fix: broken links to documentation 2020-11-23 10:59:11 -05:00
MrGadget1024
e0fb14feea Changed oldColor to underscore in hook in RandomColor 2020-11-22 21:49:01 -05:00
James Frowen
c84b317a7b
Calling Register from RegisterWriteFunc and adding comments (#2451)
Having near identical lines in these functions is confusing at first glace. Having RegisterWriteFunc call Register makes it more clear exactly what is going on
2020-11-23 10:35:16 +08:00
James Frowen
800a3d934b
docs(NetworkWriter): doc comments for WriteBlittable (with benchmark) (#2459)
* docs(NetworkWriter): doc comments for WriteBlittable

* Update Assets/Mirror/Runtime/NetworkWriter.cs
2020-11-23 10:32:19 +08:00
James Frowen
96a03a3d59
docs(NetworkReader): doc comments (#2460)
* formatting

* moving comment about buffer next to buffer

* moving comment to doc comment

* doc comment position

* doc comments for Length

* doc comments for ReadBlittable

* doc comments for ReadBytes

* doc comments for ReadBytesSegment

* doc comments for ToString

* doc comments for NetworkReaderExtensions

* comments for ReadString

* exception comments for read bytes/segement

* fixing comment
2020-11-23 10:31:50 +08:00
MrGadget
3a5da1d256
feat: Add OnStopServer / OnStopClient methods to Network Authenticator (#2447)
* feat: Add OnStopServer / OnStopClient methods to Network Authenticator

* Added calls to Network Manager

* Added OnStopServer / OnStopClient overrides to Authenticators

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-22 10:44:56 +08:00
James Frowen
301e791d9d
fix(weaver): Warning for multiple write/read functions for the same type (#2453)
* fix(weaver): Warning for multiple write/read functions for the same type

Adding warning message when trying to register a write or read function for a type that is already in dictionary. Previously weaver would be silent about this making it hard to know when an extension method overrides another one.

* test for warnings
2020-11-22 10:42:53 +08:00
James Frowen
fd9a7b0561
docs(NetworkWriter): doc comments (#2455)
* style for writer<T>

* adding doc comments to function that miss it
2020-11-22 10:40:06 +08:00
James Frowen
c8e4333d4e
docs(Transport): adding rules to remarks on transport (#2450)
* adding rules to remarks on transport

* adding default channel rule
2020-11-21 17:10:09 +00:00
James Frowen
2bd6675d19
Checking buffer length is atleast 2 (#2433)
* checking buffer length is atleast 2

disconnect if invalid message

* using const instead of magic number

Adding test to make sure that writing id is the same size as IdSize

* adding comment

* renaming to HeaderSize
2020-11-21 11:41:35 +08:00
vis2k
995fd06a77 ignore warning in tests 2020-11-20 23:50:36 +08:00
James Frowen
d3d3113f7b
perf(transport): BREAKING: callbacks instead of unityevent for transports (#2417)
* delegate and callbacks instead of unityevent

* using callbacks in Mirror

* Using new callbacks instead of events
* moving methods next to each other in NetworkClient
* moving add/remove to methods in NetworkServer

* replacing uses of events within transports and tests

* fixing tests

* fixing more tests

* replacing delegates with actions

* adding comments to show what action variable's are

* removing extra function created in rebase

* renaming callbacks

* adding reset methods so that actions arn't null

* fixing rename

* breaking defines

* Update Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs

* Update KcpTransport.cs

* Update Transport.cs

* removing ResetHandlers methods

transports can now call events after stop is called

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-20 23:47:56 +08:00
MrGadget1024
347a376dad fix: Fixed PlayerScore Display in MultipleAdditiveScenes Example 2020-11-19 23:58:14 -05:00
MrGadget1024
72ae5cb7a7 fix: Fixed issues in MultipleAdditiveScenes example
- Fixed NRE when no host player in PlayerScore
- Fixed player collisions by making the collider always on
2020-11-19 22:24:16 -05:00
MrGadget1024
43cea98ef9 Fixed typos 2020-11-18 11:28:01 -05:00
vis2k
1947f061ad
perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (#2441)
* Mirror asmdef: allow unsafe

* perf: NetworkWriter.WriteBlittable<T> for 4-6x performance improvement

* perf: NetworkReader.ReadBlittable<T>

* Remove unused conversion structs

* Add sizeof(T) vs Marshal.SizeOf<T> comments

* Add 'BlittableOnThisPlatform' test to be sure
2020-11-18 10:46:45 +08:00
James Frowen
cebc578abb
moving transport handler code to functions (#2444)
this matches Networkclient
2020-11-17 14:46:37 +00:00
James Frowen
72fa903125
Refactor add transport handlers 2 (#2443)
* moving add/remove methods next to each other

* renaming methods for clarity
2020-11-17 08:37:55 -06:00
James Frowen
c95f7d4da9
moving add/remove methods next to each other (#2442) 2020-11-17 08:36:21 -06:00
James Frowen
793d3478fc perf: Increase write performance (https://github.com/MirrorNetworking/SimpleWebTransport/pull/25)
* adding options to increase performance of send loop

adding config to Transport

* removing extra comments

* changing default value of sleep to false
2020-11-17 14:25:18 +00:00
vis2k
1ca61547ea Performance Tests: create big enough writer to measure without runtime resizes 2020-11-17 20:59:40 +08:00
vis2k
968c2e86ec Syntax 2020-11-17 20:48:05 +08:00
vis2k
54e680f61c Performance Tests: simplify WriteInt so it truly only measures WriteInt 2020-11-17 20:47:49 +08:00
vis2k
eaf1df2dc1 better 2020-11-17 20:46:37 +08:00
vis2k
f577864877 Performance Tests: add WriteQuaternion to test a more complex type 2020-11-17 20:46:37 +08:00
James Frowen
7bb312bdb8
adding try/catch to handler so server doesn't crash from user exceptions (#2435)
* adding try/catch to hanlder

user code can throw errors.

* Update Assets/Mirror/Runtime/MessagePacker.cs

* Update Assets/Mirror/Runtime/MessagePacker.cs

* test for command that throws

* disconnecting client after Exception in message handler

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-17 15:51:29 +08:00
vis2k
2a5af1af20 kcp2k V1.3 2020-11-17 15:41:37 +08:00
James Frowen
54869c9ba2
finding handler inside TransportReceive so we dont need to check true/false (#2439) 2020-11-16 16:09:32 +00:00
James Frowen
e12621cbd1
moving log inside handler so it has message name (#2438) 2020-11-16 12:40:50 +08:00
James Frowen
46e60c6564
renaming reader (#2437)
less verbose name
2020-11-16 12:40:17 +08:00
James Frowen
38907e63d9
fixing typo (#2434) 2020-11-15 20:40:45 +00:00
vis2k
fcd1394061
MessagePacker.UnpackMessage renamed to Unpack for consistency with Pack and because the class is already named MessagePacker anyway (#2430) 2020-11-16 02:42:01 +08:00
vis2k
14ae0d094d
MessageHandler.MessageHandler renamed to WrapHandler because that's what it does. (#2431) 2020-11-16 01:48:33 +08:00
vis2k
1e9a3b03de add comment 2020-11-16 00:43:48 +08:00
vis2k
ca29bcebe5 MessagePacker.Unpack<T> moved to MessagePackerTests because it's only used for tests 2020-11-15 16:41:38 +08:00
vis2k
cf9025bff7 Synta 2020-11-15 16:41:38 +08:00
James Frowen
3727e36b74
weaver removing unneeded ImportReference (#2429) 2020-11-14 23:55:44 +00:00
MrGadget1024
b14daba289 Removed Telepathy from example that I added by accident 2020-11-14 15:43:14 -05:00
James Frowen
417818d4d6
weaver import typeRefernce when generating readers (#2427)
Importing typeRefernce once before we generate reader
2020-11-14 12:50:21 -06:00
MrGadget1024
2e2fecb20a Minor code cleanup in PlayerControllers 2020-11-14 11:48:28 -05:00
James Frowen
f7b0b88247 removing invalid cref 2020-11-14 16:28:32 +00:00
Paul Pacheco
037ac55937
fix: using mathematics in commands and rpcs (#2425)
Generating readers and writers for structs in other assemblies
could sometimes cause a
```
System.ArgumentException: Member 'xxx' is declared in another module and needs to be imported
```
This in particular affected unity mathematics.

fixes #2406
2020-11-14 10:25:48 -06:00
Paul Pacheco
59ed64f9d0
feat: Provide user friendly error with undefined reader/writer (#2423)
Previously this just gave NRE, which does not help the user address the problem.

provides a better error for #2411
2020-11-14 08:46:53 -06:00
MrGadget1024
d5e162c0d0 Removed Server Only scene object from MultipleAdditiveScenes example 2020-11-14 02:26:19 -05:00
MrGadget1024
7ea55ce935 Added server checks to ZoneHandler 2020-11-14 01:00:06 -05:00
MrGadget1024
e9286b8259 Added server checks to Spawner 2020-11-14 00:58:42 -05:00
MrGadget1024
263b88d24d Removed Server Only Scene Object from Room Example
Spawner now has static property and methods and doesn't need to be on any networked object.
2020-11-14 00:03:19 -05:00
MrGadget1024
474b2ddf06 Removed Server Only Scene Object from Additive Scenes Example 2020-11-13 23:01:30 -05:00
vis2k
218492a921 NetworkServerTests: UpdateDetectsNullEntryInSpawned 2020-11-13 20:13:35 +01:00
vis2k
b957ab7818 better name 2020-11-13 20:10:45 +01:00
vis2k
d21d501bd0 NetworkServerTests: UpdateWithNullEntryInSpawned 2020-11-13 20:05:41 +01:00
vis2k
0f96e8ce6b
Pool<T>; NetworkReader/WriterPools simplified by using Pool<T> (#2414)
* Pool & Tests

* NetworkWriterPool simplified: uses Pool<T>

* NetworkReaderPool simplified: uses Pool<T>
2020-11-13 19:22:03 +01:00
JesusLuvsYooh
3e21f76d4a
Round trip time bool and tooltip. (#2419)
* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.

* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.

* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.

* Round trip time bool and tooltip.

I've added this RTT boolean and a tooltip, might clear up some confusion for future users.
Many believe ping is time to server, and rtt is ping pong.
2020-11-12 17:02:57 +01:00
MrGadget1024
35b61749d1 Updated PreprocessorDefine & ProjectSettings version to 28
This should have been done with PR #2413
2020-11-11 08:53:43 -05:00
vis2k
9c6c5d760c
breaking: Force networkmessage as struct everywhere. Redundant MessagePacker.GetId(type) not needed anymore (#2413)
* breaking: Force NetworkMessage as struct everywhere

* Redundant GetId(type) is not needed anymore
2020-11-11 09:48:03 +01:00
James Frowen
6d4aeaf3e3 fix(SimpleWebTransport): Error event should now correctly be called 2020-11-11 00:42:47 +00:00
MrGadget1024
581dacaaa5 Updated PreprocessorDefine & ProjectSettings version to 27
This should have been done in PR #2400
2020-11-10 18:26:26 -05:00
MrGadget1024
0fdf54dd34 Updated metas for Icosphere 2020-11-10 18:06:33 -05:00
MrGadget1024
2f9b423d41 Added tooltip 2020-11-10 17:48:16 -05:00
vis2k
1ecf57a2f0 Tests: remove unnecessary empty NetworkMessage serialization methods. Weaver takes care of it. 2020-11-10 10:27:35 +01:00
vis2k
2b02fa0130 kcp2k V1.2: smaller fixes, max message size increased from 1200 bytes to 145KB 2020-11-09 21:15:36 +01:00
Martin Bozek
4bb202fddc
feat: Change NetworkPingDisplay settings at runtime (#2396)
* making fields public
* adding format for text
* updating style each frame to update when it is changed
2020-11-09 18:11:13 +00:00
JesusLuvsYooh
a57c47d5f6
Adjusted KCP tooltip typo. (#2409)
Changed the default 100ms to 10ms
Double checked with Vis in Discord  "tooltip is meant to say 10ms."
Already seen one screenshot of a Discord user that set this from 10 to 100, due to the typo, believing 100 was meant to be default and not 10.
2020-11-09 08:24:12 -05:00
MrGadget1024
fd8c227812 Renamed private method to correct spelling. 2020-11-08 21:36:22 -05:00
vis2k
7eaeb07642 fix: flaky Weaver tests. Read/WritePacked removed for good 2020-11-08 18:34:20 +01:00
vis2k
91d365fa13 Tests: NetworkMatchCheckerTest telepathy obsolete warning fixed. uses MemoryTransport now 2020-11-08 17:00:39 +01:00
vis2k
ab71bdbc62
breaking: Obsolete Read/WritePacked functions and use the regular ones everywhere. We are not bandwidth limited but CPU limited, so this is good. Those were overly complex and worst of all they cause non deterministic packet sizes. a player packet might spawn fine in editor, but 1 month into production it might very well hit the 1200 MTU limit if health is suddenly >241 or the Vector2Int position is somewhere else. This was insanity. (#2400)
* NetworkWriter consistency: Write(U)Ints moved to static extension methods for consistency with all the other writer functions like WriteUInt16.
This makes life easier because weaver looks for all Write(U)Int functions in the same place. Otherwise packed writes can't be removed in a later PR without breaking weaver (which is also evidence for being bad design before)

* NetworkReader consistency: removed redundant Read(U)Ints

* breaking: Obsolete Read/WritePacked functions and use the regular ones everywhere. We are not bandwidth limited but CPU limited, so this is good. Those were overly complex and worst of all they cause non deterministic packet sizes. a player packet might spawn fine in editor, but 1 month into production it might very well hit the 1200 MTU limit if health is suddenly >241 or the Vector2Int position is somewhere else. This was insanity.
2020-11-08 15:59:09 +01:00
vis2k
a857707321
Networkwriter consistency (#2399)
* NetworkWriter consistency: Write(U)Ints moved to static extension methods for consistency with all the other writer functions like WriteUInt16.
This makes life easier because weaver looks for all Write(U)Int functions in the same place. Otherwise packed writes can't be removed in a later PR without breaking weaver (which is also evidence for being bad design before)

* NetworkReader consistency: removed redundant Read(U)Ints
2020-11-07 17:49:12 +01:00
vis2k
06e2d7ceda remove unused import 2020-11-07 14:49:04 +01:00
vis2k
1c471feffd life is better with semicolons 2020-11-07 13:54:58 +01:00
Sulexa
4d8b02ce35
prevent multiple client or server to start (#2398)
* Return and log warning on start already started client or server

* Apply suggestions from code review, Always check for client and server active state

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-11-07 10:13:47 +01:00
James Frowen
dbd1afe53b
fix(MiddlewareTransport): making sure MiddlewareTransport listens for inner events (#2386)
* making sure events are called

* full tests for middleware Transport
2020-11-07 02:10:44 +00:00
MrGadget1024
0bf6d91357 Reset scenes for 2018.4.28f and removed obsolete components on cameras 2020-11-04 08:59:41 -05:00
MrGadget
4e742d48a5
Adding Obsolete attribute to Telepathy Transport (#2392)
* Adding Obsolete attribute to Telepathy Transport

* doc: fixed bad link in Transports TOC

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-03 21:41:24 +01:00
MrGadget1024
2594aeb49f Reset Basic Example Scene back to 2018.4 Compatibility 2020-11-02 10:44:14 -05:00
MrGadget
5b64ce425e
fix: Examples No Longer Rely On Sequential connectionId (#2387)
* NetworkRoomManager

* Basic Example

* Room Example

* MultipleAdditiveScenes Example

* Removed unused usings

* Removed redundant initializer

* Removed redundant initializer

* Renamed playerNo to playerNumber

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-02 15:46:01 +01:00
MrGadget1024
87412477dc Spawn prizes as child of spawner directly in correct additive scene instance 2020-11-02 01:27:49 -05:00
MrGadget1024
3aad58a95f Removed the +1 in MultiSceneNetManager 2020-11-01 19:12:25 -05:00
MrGadget1024
7560a4c274 Updated MultipleAdditveScenes Example
Added Comments
Organized methods
Renamed private Coroutines for cognitive
Improved the delayed AddPlayer
2020-11-01 15:55:40 -05:00
James Frowen
bc72810e55
fix: fixing first import of package (#2384)
* removing #if MIRROR

* removing #if MIRROR_26_0_OR_NEWER

* Update KcpTransport.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-01 18:50:06 +01:00
vis2k
27c034c33c remove old meta file 2020-11-01 18:46:46 +01:00
James Frowen
6971125c7f
adding asmdef to kcp2k folder (#2385)
* adding kcp2k asmdef

marked with allowUnsafeCode

* adding reference to new kcp2k asmdef, and unmarking allowUnsafeCode

* adding public gettings for list/queue count

* Update Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-01 18:20:07 +01:00
James Frowen
42c8de9322 docs: fixing list header xml 2020-11-01 16:39:43 +00:00
MrGadget1024
1f3c2d26db Added .ToString("X") to sceneId logging 2020-11-01 01:03:06 -05:00
MrGadget1024
19fcdd40d8 Added Mirror\Tests\Editor\Weaver\bin.meta 2020-11-01 00:41:39 -04:00
MrGadget1024
17413bd257 Added .ToString("X") to sceneId logging 2020-11-01 00:40:42 -04:00
MrGadget1024
0c37a4d794 Updated NetworkIdentity comments 2020-11-01 00:16:16 -04:00
MrGadget1024
f95b0c40af Updated NetworkIdentity comments 2020-10-31 23:14:58 -04:00
James Frowen
bbb61848be
feat: Quaternion and float Compression (#2368)
Adding compression methods for Quaternion and floats. These methods can be used to decrease size of Quaternions before sending the value over the network.

ScaleToUInt method can be used to compress float from 32 bits to the range given to the method. This can be used to compress Vector3 if the bounds of the world are known and fixed before runtime.
2020-11-01 02:33:24 +00:00
James Frowen
9182b32946 feat(SimpleWebTransport): adding option to configure handshakeMaxSize 2020-11-01 02:12:16 +00:00
James Frowen
f35b7ed81e
fix: fixing sceneId when using BuildPipeline.BuildPlayer with incorrect case in path (#2382)
* fix: fixing sceneId when using BuildPipeline.BuildPlayer with incorrect case in path

 BuildPipeline.BuildPlayer takes an array of strings for scene paths. Unity will find the scene with the path case insensitive but path case is case sensitive.

This change would make it so that these 2 paths have the same hash
```
Assets/Scenes/Forest.unity
Assets/Scenes/forest.unity
```

* Adding full comment for ToLower

* Update NetworkIdentity.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-10-30 18:41:32 +01:00
vis2k
0c2ad96061
feat: KCP Transport (https://github.com/vis2k/kcp2k) (#2381) 2020-10-30 13:53:13 +01:00
vis2k
88e160a5f7 Tests: NetworkManagerStopHostOnServerDisconnectTest uses MemoryTransport now 2020-10-30 13:51:25 +01:00
James Frowen
1d6b33c49b fix(SimpleWebTransport): version 0.6.6
Fixes:
* fixing problem in 0.6.3
* updating transport for mirror v26
2020-10-29 22:08:18 +00:00
vis2k
f08aa636ad add Mirror V26 preprocessor define 2020-10-29 20:18:23 +01:00
vis2k
bbec123eff
breaking: Transport.Send(connectionId) instead of List<connectionId>, and return type changed to void. The List was only there to avoid LLAPI & Telepathy allocations. It makes everything extremely complicated and it's not necessary for any of the newer transports anymore. (#2380) 2020-10-29 17:10:57 +01:00
James Frowen
151185e9c5
fix(NetworkAnimator): fixing trigger not applied on host
Triggers should now be applied on host when other clients have authority of the object
2020-10-29 15:45:00 +00:00
vis2k
78862ee989 Revert Tanks modifications. Keep it simple. 2020-10-29 13:16:41 +01:00
James Frowen
cd36ed5ae4
fixing compile error
2nd PR merged messed up, removing 2nd clientAuthorityBeforeTeleport
2020-10-28 13:52:49 +00:00
James Frowen
82faac5011
splitting up Update method (#2375)
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2020-10-27 22:54:56 -04:00
James Frowen
b1d99601eb
Moving variable to top of file. (#2376)
It is best practice to put variables above all methods in c#
2020-10-27 22:46:23 -04:00
James Frowen
c1e63d4078 fix(SimpleWebTransport): v0.6.3
* fixing error where standalone client would not correctly stop after failing to connect
* using ASCII encoding to follow RFC spec
2020-10-28 01:46:22 +00:00
MrGadget1024
cea165addb Changed to use localSpace 2020-10-27 20:11:47 -04:00
MrGadget1024
a9efaf1ad2 Added ServerTeleport to Experimental NetworkTransform 2020-10-27 19:53:23 -04:00
MrGadget1024
c306a9d5ef fixed typo 2020-10-27 19:52:34 -04:00
James Frowen
8e772a2077
fix(weaver): Fixing weaver not writing when assemble didn't have NetworkBehaviour (#2373)
* Making ReaderWriterProcessor return if it found custom functions (not counting ones in mirror.dll)
* Always writing generateContainerClass if modified
* processing PropertySiteProcessor if either ReaderWriterProcessor or WeaveModule are successful
* creating generateContainerClass in WeaverList constructor
* Moving new WeaverList to after WeaverTypes.SetupTargetTypes
2020-10-26 15:51:38 +01:00
James Frowen
4efd19c4ff
feat: Middleware transport (#2362)
* feat: adding MiddlewareTransport

* Allows Middleware to be created at the transport layer
* Middleware can choice which methods they want to override and which to let inner handle

* using expression bodies
2020-10-25 21:42:00 +01:00
MrGadget1024
4628685a62 fixed outdated comment 2020-10-25 15:25:34 -04:00
MrGadget1024
8c08ecf84d Empty braces on same line 2020-10-25 13:44:07 -04:00
MrGadget
75ce277a68
Add Accept and Reject methods to Authenticator (#2370)
* Add Accept and Reject methods to Authenticator

* Tabs To Spaces

* Removed `base.`

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-10-25 12:55:29 -04:00
James Frowen
b19a8ccd12 fix(SimpleWebTransport): making sure that ReadHelper.Read reads exactly number of bytes
Docs say that stream.Read could return less than length. Keep reading stream untill length is reached.
2020-10-25 16:05:35 +00:00
James Frowen
414030d023
fix: making ClientAuthorityCallback an event (#2363)
* stops error prone behaviour of using = from multiple scripts

BREAKING CHANGE: `= callback` now needs to be `+= callback`
2020-10-25 17:01:53 +01:00
MrGadget
8f4ff423cb
Basic Authenticator code organization and comments (#2369)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-10-25 09:52:16 -04:00
James Frowen
a833f5c29f
Running code clean up (#2364)
* removing un-needed using
* whitespace
* using explicit types
2020-10-24 20:24:54 +01:00
James Frowen
28fc75140c
fix: improving errors in SendTargetRPCInternal (#2358)
* fix: improving errors in SendTargetRPCInternal

* now give error when connection is null
* updating error message to accurately explain what went wrong
2020-10-24 20:18:59 +01:00
MrGadget
77c844184e
Remove Obsoletes (#2361)
BREAKING CHANGE: Removed Obsolete Methods and Tests
2020-10-24 11:36:44 -05:00
MrGadget1024
60bc1555a5 Added Deprecated date to SyncList 2020-10-24 11:37:54 -04:00
MrGadget
749c9ee970
Make SerializeSyncVars & DeserializeSyncVars protected virtual (#2360)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-10-24 16:18:31 +02:00
MrGadget
cf3cf6a1ab
Remove EditorBrowsable Never Attributes (#2359)
Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-10-24 16:18:05 +02:00
James Frowen
0c6b63a2b1 simpleweb refactor changes 2020-10-22 19:13:58 +01:00
vis2k
d940db7e65 fix: #2357 (the second bug): NetworkServer.DisconnectAllConnections now iterates a copy of connections.Values to InvalidOperationException in cases where Transport.ServerDisconnect calls Mirror's OnServerDisconnect event immediately, which calls NetworkServer.OnDisconnected(connectionId), which would remove the connection while DisconnectAllConnections is iterating over them. 2020-10-22 11:36:18 +02:00
James Frowen
06ae90878d
Removing IDisposable from NetworkConnection (#2345)
* clientOwnedObjects is a hash set which doesn't need to be disposed
* DestroyOwnedObjects already clears list which is called by networkmanager when connection disconnects

Co-authored-by: vis2k <info@noobtuts.com>
2020-10-22 09:50:37 +02:00
James Frowen
46d8077780
Simplifing IsClientAlive check (#2346)
* moving check to base connection because it could be used for either
* renaming to IsAlive
* passing in timeout so it doesn't need to check NetworkServer
* updating doc comment
2020-10-22 09:48:35 +02:00
Chris Langsenkamp
2439af8c5e Applied Mirror Icon 2020-10-21 17:56:14 -04:00
vis2k
d3f1ee9819 fix: NetworkClient.Disconnect avoids NullReferenceException if Transport ClientDisconnect calls OnDisconnected immediately. Related to: https://github.com/vis2k/Mirror/issues/2353 2020-10-21 20:41:40 +02:00
Paul Pacheco
71dc3a2481 fix: recursive types with collections 2020-10-20 09:47:43 -05:00
Paul Pacheco
3bf41c89ea
simplify serializing collections (#416) (#2348)
The code to serialize lists, arrays, and array segments is now in the runtime instead of generated in the weaver.

removes about 300 LOC of weaver witchcraft
2020-10-20 09:47:00 +02:00
James Frowen
c789e2a510
using null propagation for RemoveOwnedObject (#2347) 2020-10-20 01:33:20 +01:00
James Frowen
25be44840e
checking if incoming message has length 0 before checking its id (#2336) 2020-10-18 23:07:10 +02:00
James Frowen
5eac88aa38 feat: adding NetworkRigidbody2D (#2322)(#2342)
* using angularVelocitySensitivity
* removing un-needed using
* using vec2 instead of vec3
2020-10-17 20:46:58 +01:00
pitaya4
b0430efa40
Added support for 2D rigidbodies (#2322)
Added `Mirror.Experimental.NetworkRigidbody2D`, which supports 2D rigid bodies instead of regular ones.
2020-10-17 20:24:30 +01:00
Paul Pacheco
ea7594e558
perf: use built in == instead of unity one (#2339)
* perf: use built in == instead of unity one

should be the same performance as #2325 without the complexity

* more readable version

* more readable version
2020-10-17 13:50:38 -05:00
James Frowen
92c7196f69
feat: Adding SimpleWebTransport v0.6.1 to mirror repo (#2323)
* Intial commit

see https://github.com/MirrorNetworking/SimpleWebTransport  for full git histroy

* Update main.yml

Adding SimpleWebTransport to coverage exclusions

* fully ignoring SimpleWebTransport from sonarcloud

SimpleWebTransport has sonarcloud running on its own repo

* using Buffer.BlockCopy

* SimpleWebTransport v0.4.1

* making error messages use LogError (MirrorNetworking/SimpleWebTransport@5f0096c)
* messages with length of 1 can be recieved by the client (MirrorNetworking/SimpleWebTransport@4237fc4)
* stopping un-needed error logs after disconnect (MirrorNetworking/SimpleWebTransport@25ff190)

* updating readme

* SimpleWebTransport v0.5.0

* adding missing warn level to Log.Levels (MirrorNetworking/SimpleWebTransport@0f68498)
* Allowing multiple instances of javascript client (MirrorNetworking/SimpleWebTransport#14) (MirrorNetworking/SimpleWebTransport@cc6e513)

* SimpleWebTransport v0.5.8

* Stopping send error when client disconnects
* Adding buffer pool
* Using ArrayBuffer for receive
* Removing info and verbose logging by default so performance isnt effected in editor or development builds.
* Making WebSocketClientStandAlone use timeouts from inspector
* Removing incorrect header from inspector
* Removing readonly from logger so that it can be set
* Fixing use of Interlocked in buffer pools
* using ManualResetEventSlim
* making Log.Exception always be logged

* SimpleWebTransport v0.6.0

* Trying to fix error when connection is closed
* Increase arraybuffer speed
* Removing shared buffers from server handshake
* Improving debug logging

* fixing code smells

* SimpleWebTransport v0.6.1

* making sure pending connection work when stop serve is called

* removing exception that isnt directly thrown by this method

this breaks docfx for some reason
2020-10-16 16:46:45 +01:00
James Frowen
f3f0403005
Removing websockets from mirror repo (#2268)
* Adding new websocket transport soon that doesn't depend on library
* Code for old transport can now be found here https://github.com/MirrorNetworking/NinjaWebSocketsTransport
* We shouldn't need to replace with empty files from store as having this in project should not break things
2020-10-16 16:46:04 +01:00
James Frowen
a2b64a4d1d
Update cloud readme
making examples a link
2020-10-15 17:57:48 +01:00
vis2k
31758e668f
perf: NetworkIdentity DirtyComponentsMask code removed entirely. OnSerialize now includes the component index as byte before serializing each component. Faster because we avoid GetDirtyComponentsMask() and GetSyncModeObserversMask() calculations. Increases allowed NetworkBehaviour components from 64 to 255. Code is significantly more simple. (#2331)
* perf: NetworkIdentity DirtyComponentsMask code removed entirely. OnSerialize now includes the component index as byte before serializing each component. Faster because we avoid GetDirtyComponentsMask() and GetSyncModeObserversMask() calculations. Increases allowed NetworkBehaviour components from 64 to 255. Bandwidth is now smaller if <8 components, and larger if >8 components. Code is significantly more simple.

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-10-13 16:21:06 +02:00
Paul Pacheco
3c82ff0cb2
breaking: Users must initialize synclists (#391) (#2330)
* Users must initialize syncobjects (#391)

Previously we initialized syncobjects, so this is valid:
```cs
public class Pepe : NetworkBehavior {

    public SyncList<int> mylist;
}
```

With this change,  users must initialize their own fields:
```cs
public class Pepe : NetworkBehavior {

    public SyncList<int> mylist = new SyncList<int>();
}
```

BREAKING CHANGE: You must initialize all your SyncLists

* Add null check

* This is no longer a weaver error

* Update Assets/Mirror/Runtime/NetworkBehaviour.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* Remove unnecesary using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-10-12 09:37:26 +02:00
James Frowen
1da023dfd3
Update NetworkIdentity.cs
checking cache instead of property
2020-10-11 22:45:48 +01:00
James Frowen
9bf8817245
fix: fixing Initializer for generic synclists (#2328)
Weaver should initialize `public SyncList<int> myList;`  in the same way it does for `SyncListInt`
2020-10-10 18:04:35 -05:00
James Frowen
ad48d511a1
Update NetworkConnection.cs
reverting comment
2020-10-10 15:34:46 +01:00
James Frowen
1c476f71b5
Update NetworkConnection.cs 2020-10-10 13:04:07 +01:00
vis2k
eb23bb76e0 Benchmark: custom NetworkManager with adjustable spawn amount for easier testing 2020-10-10 12:42:06 +02:00
vis2k
7529f5aedc Benchmark: namespace changed from OneK to Benchmark 2020-10-10 12:39:50 +02:00
vis2k
575f1f6071 Benchmark: SpawnPosition renamed and centered at 0,0,0 2020-10-10 12:39:06 +02:00
uwee
6e44e6e526
fix: NRE in tanks example when running in headless server only (#2326) 2020-10-09 13:23:47 +01:00
vis2k
d9f58d3439 Benchmark monsters doubled to 4k, everyone broadcasting to everyone 2020-10-08 15:19:44 +02:00
James Frowen
5ad3fb5807
feat: NetworkTranform Teleport (#2320)
* Server Teleport Enchancement for NetworkTransform

Related to this issue: https://github.com/vis2k/Mirror/issues/2200

* Improvements on NetworkTransformBase

We disable clientAuthority until teleportation is finished and acknowledged. We set the goal and start data points to null before teleportation.
We set the clientAuthority back to it's initial value registered on server, both on the server and client side; it seems like we don't need to change it to anything on Client side because to my understanding clientAuthortiy is not affecting anything on client side. I may be wrong but still it is a great practice to set it back to it's initial value just in case...

* Added teleportation with rotation

I forgot to add a rotation functionality on my previous commit. It wouldn't be a teleportation without also changing the rotation. If provided a rotation input it will teleport with a rotation, if not it will simply protect the original rotation before the teleportation.

* Removed my debug statement

I forgot to remove the debug log statement lol silly me

* fixing up code

* resetting goal and last pos on server and client
* renaming variables
* making sure TeleportFinished can't request authority at any time

* moving teleport block

* removing duplicate lines

Co-authored-by: Emre Bugday <47198270+EmreB99@users.noreply.github.com>
2020-10-06 18:47:16 +01:00
James Frowen
1b5cbb51d7
fix: fixing PR number in Obsolete message 2020-10-06 18:08:35 +01:00
Paul Pacheco
31b07ae02f
breaking: no need to override Serialize/Deserialize in messages (#2317)
* breaking: no need to override Serialize/Deserialize in messages

Messages no longer serilize themselves.  This has been decoupled.  Serializing a message is now done
via readers and writers, which can be either generated or user provided.

This lifts some restrictions,
* you no longer need to have a default constructor in messages
* Messages types can be recursive
* struct Messages don't need to provide an empty Serialize and Deserialize method

Before:
```cs
public struct ReadyMessage : IMessageBase
{
    public void Deserialize(NetworkReader reader) { }

    public void Serialize(NetworkWriter writer) { }
}
```

After:
```cs
public struct ReadyMessage : IMessageBase
{
}
```

BREAKING CHANGE: Messages must be public
BREAKING CHANGE: Use custom reader and writer instead of Serialize/Deserialize methods

* Remove unused method

* remove unused methods

* remove unused methods

* make all messages struct

* Fix test code generator

* Get rid of MessageBase

* Rename IMessageBase -> NetworkMessage

* add MessageBase as obsolete

* Use a default request

* Empty file to make asset store happy

* Apply suggestions from code review

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-10-06 09:31:02 +02:00
James Frowen
6813360f93
feat: NetworkAnimator now syncs animator.speed (#2312)
* feat: NetworkAnimator now syncs animator.speed

* Update NetworkAnimator.cs

- adding previous speed field
- avoiding floating number equals

* Update NetworkAnimator.cs

- adding previousSpeed field
2020-10-03 20:51:08 +02:00
Emre Bugday
032012f9e1
Fixed OnStopClient not being called on Client Side (#2308)
* Fixed OnStopClient not being called on Client Side

* Moved identity.OnStopClient() two scopes above

Co-authored-by: Emre Bugday <47198270+EmreB99@users.noreply.github.com>
2020-10-03 02:57:37 +01:00
James Frowen
42f5a117ec
Update Extensions.cs (#2310)
- only catching AssemblyResolutionException
- using null propagation instead of null ref
2020-10-03 01:45:53 +01:00
James Frowen
181bab6bd0
fixing test names (#2309)
* fixing test names

* renaming test files
2020-10-03 01:45:40 +01:00
vis2k
e730e4baca fix tests after previous SyncLists commit 2020-10-02 10:03:07 +02:00
Paul Pacheco
fb49d19793
breaking: Use SyncLists directly (delete overrides) (#2307)
* feat: Use SyncLists directly

Previously,  you had to write an intermediary class to use synclists, syncsets and syncdictionaries.
The weaver would populate that intermediary class with a serialization and deserialization method

This PR gets rid of 90% of the weaver code for synclists.
There is no need to generate these methods anymore.
Instead the lists use `writer.Write<T>` and `read.read<T>` to serialize their Data.

Since there is no code generate in synclists, you can now use the synclists directly instead
of subclassing them.

BEFORE:

```cs
public class MyComponent : NetworkBehaviour {
    // nonsense class to make the weaver happy
    class SyncListData : Synclist<Data> {}

    SyncListData mySyncList;
}
```

AFTER:

```cs
public class MyComponent : NetworkBehaviour {
    Synclist<Data> mySyncList;
}
```

* linting

* feat: Use SyncLists directly (no overrides)

Previously,  you had to write an intermediary class to use synclists and syncdictionaries.

The weaver would populate that intermediary class with a serialization and deserialization method

This PR gets rid of 90% of the weaver code for synclists.
There is no need to generate these methods anymore.
Instead the lists use `writer.Write<T>` and `read.read<T>` to serialize their Data.

Since there is no code generate in synclists, you can now use the synclists directly instead
of subclassing them.

Same as #2305 ,but it removes the deprecated Serialize and Deserialize methods from syncobjects,
This way you get a nice compiler error for the code that no longer works, instead of a warning you might accidentally ignore.

BEFORE:

```cs
public class MyComponent : NetworkBehaviour {
    // nonsense class to make the weaver happy
    class SyncListData : Synclist<Data> {}

    SyncListData mySyncList;
}
```

AFTER:

```cs
public class MyComponent : NetworkBehaviour {
    Synclist<Data> mySyncList;
}
```

BREAKING CHANGE: Serialize and Deserialize methods in synclists don't do anything anymore

* Remove old comment

* Fix compilatio error
2020-10-02 09:12:25 +02:00
Paul Pacheco
85252c3d84
feat: new generic Read and Write methods for all types (#2301)
Currently in mirror,  there is no way for Mirror itself to invoke
readers and writers for types it does not know about.

This causes us to have to generate code for lists, dictionaries and messages.

This PR makes it so that if there is a reader and writer anywhere in the
code for type X, then the writer can be invoked like this:

```cs
X x = ...;
writer.Write<X>(x);
```

and the reader can be invoked like this:
```cs
X x = reader.Read<X>();
```
2020-10-01 17:13:30 -05:00
vis2k
efb9b21aa4 Revert xml 2020-09-30 12:11:08 +02:00
vis2k
ae95b0625d revert 2020-09-30 11:09:12 +02:00
vis2k
7fa8345b85 wtf 2020-09-30 11:02:27 +02:00
Paul Pacheco
16864f9ff0 It is fine to serialize empty struct 2020-09-29 21:26:53 -05:00
Paul Pacheco
0267dbe1f2 feat: support Jagged arrays
simplify the code for checking for multidimentional arrays
and lift the restriction on jagged arrays
2020-09-29 21:21:16 -05:00
Paul Pacheco
5e2d87685b Generated class does not need constructor 2020-09-29 15:22:21 -05:00
Paul Pacheco
c720055bce remove empty blocks 2020-09-29 12:26:24 -05:00
Paul Pacheco
7ca08924b5 Remove unused meta 2020-09-29 12:16:21 -05:00
Paul Pacheco
0132697513 Simplify obj initialization 2020-09-29 12:15:26 -05:00
Paul Pacheco
88ece20e68 Simplify IsDerivedFrom 2020-09-29 12:01:49 -05:00
Paul Pacheco
9889ed4f9c Remove unnecesary lists from WeaverLists 2020-09-29 11:22:46 -05:00
Paul Pacheco
8dbf46720e
fix: generic arguments resolution (#2300)
* fix: generic arguments lookup

The weaver was not able to figure out the synclist type in code like this:

```cs
    public class SomeList<G, T> : SyncList<T> { }
    public class SomeListInt : SomeList<string, int> { }
```

This code fixes that problem, and greatly reduces the complexity
of argument lookup.

* linting
2020-09-29 09:39:17 -05:00
vis2k
720a06ea70 MessagePacker.Pack<T> to byte[] moved out of MessagePacker and into MessagePackerTest to simplify code. It's only used in tests anyway. 2020-09-29 11:54:07 +02:00
vis2k
c947bc03e6 MessagePacker.GetId<T> reuses GetId(Type) 2020-09-29 10:55:02 +02:00
Cooper Saye
aba69ca4d0
fix: typos (#2297) 2020-09-29 09:16:30 +02:00
Paul Pacheco
bdb6ca07d2 linting 2020-09-28 23:11:50 -05:00
Paul Pacheco
3103266b44 space linting 2020-09-28 22:49:36 -05:00
Paul Pacheco
3e2c3f8ccc
Refactor reading array segment (#2296)
* Refactor reading array segment

Just deserialize the array and transform to array segment

* Fix comment

* Fix invalid IL
2020-09-28 22:43:44 -05:00
Paul Pacheco
59bc83f997 Fix more comments 2020-09-28 22:42:34 -05:00
Paul Pacheco
fe1064ce0b Remove redundant InitLocals 2020-09-28 22:37:25 -05:00
Paul Pacheco
53452cc003 Fix comments 2020-09-28 22:37:25 -05:00
Paul Pacheco
5c4d8a27cc Refactor writer for loops (#2294)
* Refactor writer for loops

* Remove unused variable
2020-09-28 22:37:25 -05:00
Paul Pacheco
fe2adc8d59 Deduplicate null check (#2295) 2020-09-28 22:37:25 -05:00
Paul Pacheco
0aea48cf06 Linting 2020-09-28 22:14:54 -05:00
Paul Pacheco
b9550cf6d3 Linting 2020-09-28 22:14:09 -05:00
Paul Pacheco
4ec84df494
Reuse checking for null (#2293) 2020-09-28 21:32:43 -05:00
Paul Pacheco
66be588512
reuse ReadLength (#2292) 2020-09-28 21:32:16 -05:00
Paul Pacheco
7c2a6595eb
refactor reader for loops (#2291)
* Fix comments

* refactor for loops

* Cleanup a bit
2020-09-28 21:29:52 -05:00
Paul Pacheco
69161144a0 Fix comments 2020-09-28 21:02:53 -05:00
Paul Pacheco
4a710b2eea Add some comments 2020-09-28 20:44:18 -05:00
Paul Pacheco
86df5954ac Add some comments 2020-09-28 20:32:38 -05:00
Paul Pacheco
3ccb7d9da4
feat: Support recursive data types (#2288)
Remove all the recursionCount nonsense.
This was added to prevent infinite recursion with types that reference themselves.

No need to check anymore, the weaver can generate readers and writers for types that reference themselves such as:

```cs
class Tree {
    Tree child1;
    Tree child2;
}
```

This works by the weaver doing it the way the compiler does: Create a function first, memoize it, then write the body. If the body needs the function, it will get itself and issue a call to itself.
2020-09-28 20:18:56 -05:00
Paul Pacheco
513a0f9945
feat: support null when serializing classes (#2290) 2020-09-28 19:55:29 -05:00
Paul Pacheco
fe641adae8
Refactor writer function generation (#2289) 2020-09-28 17:07:16 -05:00
Paul Pacheco
6fc5a4effc remove TODO comment 2020-09-28 16:43:48 -05:00
Paul Pacheco
7aa47f14be Simplify reader registration 2020-09-28 15:52:36 -05:00
Paul Pacheco
2dc280d292 Refactor reader function generation 2020-09-28 15:50:40 -05:00
Paul Pacheco
fe061ac792 Simplify generated writer name 2020-09-28 15:32:06 -05:00
Paul Pacheco
5e78e27c8f Simplify generated reader name 2020-09-28 15:09:19 -05:00
Paul Pacheco
664d5f7f99
Generate reader and writer functions for enums (#2283)
Currently,  whenever we want to serialize an enum,
we simply serialize the underlying type (byte, short, int)

This works fine,  but in order to get the reader and writer
at runtime I need a function for each type.

With this PR, we generate a reader and writer function for enums too,
the function body simply calls the underlying reader and writer.
2020-09-28 14:51:13 -05:00
James Frowen
fa059b59bf
Squashed (#2187)
* throwing Exception instead of returning null
* re-adding null check until later PR
* removing error from test
* removing extra error
* adding comment
* replacing error with throw for abstact
2020-09-28 21:29:10 +02:00
James Frowen
796aa3baf8
moving WeaverLists functions to WeaverLists (#2285)
The plan is to remove WeaverLists at some point so moving the functions
out of weaver to here for now and then move them closer to where they
are actaully used when we start to remove WeaverLists.
2020-09-28 21:21:30 +02:00
Paul Pacheco
694de7255b Cannot use generics as declared reader and writers 2020-09-28 09:17:33 -05:00
Paul Pacheco
f9ecc64468 Simplify type check 2020-09-28 09:13:25 -05:00
Paul Pacheco
b0d1d9aac0 Rename method for clarity 2020-09-28 08:52:15 -05:00
Paul Pacheco
59566588b1 Simplify type check 2020-09-28 07:39:03 -05:00
Paul Pacheco
54f96309da Simplify type check 2020-09-28 07:38:24 -05:00
vis2k
9077cc7fd7 Add comments 2020-09-27 18:51:23 +02:00
James Frowen
8b3e509c3b
Update Transport.cs 2020-09-23 16:52:11 +01:00
James Frowen
bdd81e33ba
fix: fixing new import
see https://github.com/vis2k/Mirror/pull/2259
2020-09-23 16:30:32 +01:00
Paul Pacheco
a0aecf11fb Linting 2020-09-22 13:07:03 -05:00
Paul Pacheco
25b2fa9af8 KISS 2020-09-22 13:03:33 -05:00
Paul Pacheco
c868561822 Remove passthrough method 2020-09-22 12:49:38 -05:00
Paul Pacheco
3fec9ec880 Remove static weaver state 2020-09-22 12:33:48 -05:00
Paul Pacheco
116336fbf1 Remmove passthrough method 2020-09-22 12:33:18 -05:00
Paul Pacheco
3d331b4c61 Simplify set initialization 2020-09-22 12:21:58 -05:00
Paul Pacheco
34fa002099 Remove comment that does not apply 2020-09-22 12:20:37 -05:00
Paul Pacheco
a126bfd4dd Simplify method signature 2020-09-22 11:56:54 -05:00
Paul Pacheco
fdc21582db simplify module weaving 2020-09-22 11:45:31 -05:00
Paul Pacheco
e79ffeaa8e Use string interpolation 2020-09-22 11:40:13 -05:00
Paul Pacheco
b113fd4ecf KISS 2020-09-22 11:23:24 -05:00
Paul Pacheco
6c7e578d5a Remove redundant validations 2020-09-22 11:22:36 -05:00
Paul Pacheco
3e8870f791 we only weave one assembly at a time, no need for array 2020-09-22 10:11:07 -05:00
Paul Pacheco
eaf6ac66f0 output directory is always null, no need to pass it around 2020-09-22 10:06:13 -05:00
Paul Pacheco
eadb029393 Rename methods for clarity 2020-09-22 09:53:23 -05:00
Paul Pacheco
9d7c9069d7 Simplify namespace 2020-09-22 08:17:06 -05:00
Paul Pacheco
0fbcefe8df Follow naming convention 2020-09-22 08:16:04 -05:00
Paul Pacheco
85d26ebce6 type safe type comparison 2020-09-21 23:00:30 -05:00
Paul Pacheco
541b516d60 Remove unused parameter 2020-09-21 17:09:13 -05:00
Paul Pacheco
030dc86ea9 Namespace simplifications 2020-09-21 17:08:46 -05:00
Paul Pacheco
12debf1c8c Simplify namespace 2020-09-21 17:05:20 -05:00
Paul Pacheco
f77186e1d1 Simplify namespace 2020-09-21 17:00:57 -05:00
Paul Pacheco
d123e03915 Simplify namespace 2020-09-21 17:00:10 -05:00
Paul Pacheco
8fcbba50c4 Remove unused parameter 2020-09-21 16:59:05 -05:00
Paul Pacheco
7347e5700d Remove unused parameter 2020-09-21 16:58:33 -05:00
Paul Pacheco
76ce3796eb Simplify attribute namespace 2020-09-21 16:58:08 -05:00
Paul Pacheco
ca418457e8 Simplify guard check 2020-09-21 16:57:22 -05:00
Paul Pacheco
65f6e42b53 Simplify namespaces 2020-09-21 16:53:01 -05:00
James Frowen
94419ba003
Update ApiConnector.cs
adding null check for when listserver fails to be created
2020-09-20 00:44:13 +01:00
James Frowen
44401ab3bf
Update NetworkHeadlessLogger.cs 2020-09-19 11:30:41 +01:00
vis2k
d559bcfea7 Icon updated to half M 2020-09-19 10:01:10 +02:00
Paul Pacheco
07d290fd8c
Enhance code readability by using extension method (#2260)
# Before

This is hard to read:
```
if (ca.AttributeType.FullName == typeof(Mirror.CommandAttribute).FullName) {
...
}
```

# After

```
if (ca.AttributeType.Is<Mirror.CommandAttribute>()) {
...
}
```
2020-09-18 14:54:51 -05:00
James Frowen
7919942110
Splitting up test function
* Update NetworkServerTest.cs

splitting up test

* Update NetworkServer.cs

using string interpolation
2020-09-18 20:47:54 +01:00
Paul Pacheco
e50ea6318f
perf(weaver): No need to manually load mirror and unity assemblies (#2261) 2020-09-18 14:32:14 -05:00
James Frowen
a573bccc79
Update ApiUpdater.cs 2020-09-18 20:14:10 +01:00
Paul Pacheco
0b5989f87d Move overloads together 2020-09-18 13:06:34 -05:00
Paul Pacheco
6cfdd6469a
Simplify type lookup in weaver (#2258)
# Before
WeaverTypes declared a static variable like this:
```cs
public static TypeReference int32Type;
```
Weavertypes then loaded the variable in SetupTargetTypes like this:
```cs
int32Type = ImportSystemModuleType(currentAssembly, systemModule, "System.Int32");
```
Note we lookup the type with a string,  any typo there won't be detected until the code is executed.  It will also not be found by the IDE when you click "find references",  or when you refactor.

Then we use it like this:
```cs
var intType = WeaverTypes.int32Type;
```
This is a DRY violation: I have to modify 3 different code sections just to say that I want the int32 type.

# After
Get rid of all the duplication, and use the type instead of a string:
```cs
var intType = WeaverTypes.Import<int>();
```
No need for static variable,  or to add it in SetupTargetTypes.
2020-09-18 13:05:16 -05:00
James Frowen
8dac53ce3c
making InvokeUserCode use correct type in argument (#2259) 2020-09-17 22:41:37 +01:00
James Frowen
c69d8cca0b
flip equals to return early (#2245)
* flip equals to return early

* flip equals to return early

* removing un-needed comment
2020-09-16 12:05:43 +01:00
James Frowen
23bd9559d3
pref: increasing performance when Send is called on no observers (#2244)
* pref increasing performance when sending to no observers

* pref increasing performance when sending to no observers
2020-09-16 10:32:16 +02:00
James Frowen
5eb5ff6601
fix: fixing NullReferenceException when loading scene (#2240)
* fixing null ref error when local player is destroyed

* removing null objects

* fixing InvalidOperationException

* moving code to its own function

* Update Assets/Mirror/Runtime/ClientScene.cs
2020-09-16 10:30:10 +02:00
James Frowen
7580e9a6f5
Update ClientScene.cs (#2250)
* Update ClientScene.cs

Improving logging
- making sure sceneId is always hex
- only logging "Client spawn for ..." if it was successful

* Update ClientSceneTests_OnSpawn.cs
2020-09-14 22:35:41 +01:00
James Frowen
833c329ab2
Update ApiUpdater.cs
- Adding handlers in Awake instead of Start to make sure they are added before start on headless
- using GetComponent for NetworkManagerListServer
- Adding asserts to make sure values are set
2020-09-14 21:58:33 +01:00
James Frowen
b4fea1bfa3
Update NetworkServer.cs (#2247) 2020-09-13 19:07:59 +01:00
James Frowen
aec9b8a2ec
Update NetworkIdentity.cs
fixing block not being in remarks
2020-09-13 15:44:25 +01:00
James Frowen
d5c2387d1d
Update SyncObject.cs 2020-09-13 14:33:32 +01:00
James Frowen
ae9d2e35a9
docs: adding debug notes on list server (#2246) 2020-09-13 02:47:57 +01:00
James Frowen
844904dae5
adding doc comment (#2243) 2020-09-13 01:54:23 +01:00
James Frowen
94da8aec34
fix: Fixing IndexChanged hook not being called for NetworkRoomPlayer (#2242)
* adding Server to make sure index is only changed on the server

* removing calls to RecalculateRoomPlayerIndices on client
2020-09-13 01:52:32 +01:00
James Frowen
0c78fa0d7a
making sure CallOnClientExitRoom is called when object is disabled/destroyed (#2241) 2020-09-12 23:36:46 +01:00
Paul Pacheco
992129e5b6 Simplify string interpolation 2020-09-12 09:04:52 -05:00
James Frowen
5edba81dee
fix: ClientScene.localplayer is now set to null when it is destroyed (#2227)
* moving FakeNetworkConnection to common test folder

* adding test for local player destroy

* adding method to clear local player

* temp move test functions

* adding test for destroying non player

* moving asset to setup

* adding tests for destroy message and host mode

* adding ClearLocalPlayer to reset
2020-09-08 09:45:24 +02:00
James Frowen
2033f7d009
breaking: Removing manual invoke for Cmd and RPC (#2223)
* Removing manual invoke for Cmd and RPC

There should be no reason to manaully invoke remote code
they are marked with EditorBrowsableState.Never which implies they should not be called by the user

* removing tests
2020-09-06 16:14:05 +02:00
vis2k
a30e8fcd85 adding empty SyncEventProcessor file for deleted file 2020-09-06 16:07:52 +02:00
James Frowen
a232c539a7 adding empty program file for deleted file 2020-09-06 16:05:50 +02:00
James Frowen
bfa482fde7
Adding Network Lerp Rigidbody docs and change log (#2226)
* adding NetworkLerpRigidbody to change log

* adding docs for  Network Lerp Rigidbody
2020-09-05 13:09:06 +01:00
James Frowen
f326999d50
removing methods that only set enum (#2221) 2020-09-04 22:41:38 +01:00
James Frowen
622b52124b
Refactoring handle remote call (#2222)
* using string interpolation for logs

* return early instead of if/else
2020-09-04 22:40:56 +01:00
James Frowen
eac69ab5f6
docs: sync event obsolete (#2216)
* adding note to guides about removed SyncEvent

* updating Obsolete

making Obsolete error whe used
updating text to say it has been removed
linking to issue

* adding Obsolete note to other references to SyncEvent
2020-09-04 16:29:46 +01:00
vis2k
e67cef6666
Remove ScriptTemplates to clean up folder (#2213)
* Remove ScriptTemplates to clean up folder

* Update main.yml

Removing script templates from CI

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-09-04 07:55:11 +02:00
James Frowen
24e3ea099c
adding version define from v18 breaking change (#2214) 2020-09-03 15:46:15 +01:00
James Frowen
e79e340e0d
fixing typo in NetworkIdentity.cs 2020-09-03 11:51:05 +01:00
vis2k
cd3d9c2144 Delete old file 2020-09-03 09:05:47 +02:00
vis2k
fc1096d66c
breaking: Removed [SyncEvent] because ClientRpc/TargetRpc does the same thing, and it's an enormous effort to support the Weaver code. (#2178) 2020-09-03 09:04:29 +02:00
James Frowen
ad8af783dc
Replacing prefabAssetPath with assetPath for PrefabStage to stop warning (#2210) 2020-09-03 08:48:06 +02:00
James Frowen
1ade82d435
feat: making NetworkBehaviour.IsDirty public (#2208) 2020-08-31 12:26:50 +01:00
James Frowen
5701369e84
feat: adding script to help debug list server (#2202)
Script uses OnGui so can be used to check if server has been added to list server
2020-08-27 23:15:43 +01:00
James Frowen
fc530782cc
fix: fixing width and layout group on cloud example (#2201) 2020-08-27 23:10:11 +01:00
vis2k
f6dbf8c19e Fix broken Weaver test 2020-08-27 00:18:01 +02:00
vis2k
594aec45bf Weaver RpcProcessor validation moved to NetworkBeahviourProcessor.ProcessClientRpc 2020-08-26 13:15:23 +02:00
vis2k
25ef6ac36a Weaver TargetRpcProcessor validation moved to NetworkBehaviourProcessor.ProcessTargetRpc 2020-08-26 13:13:56 +02:00
vis2k
820d0daa29 Weaver CommandProcessor validation moved to NetworkBehaviourProcessor.ProcessCommand 2020-08-26 13:12:56 +02:00
vis2k
5e7257d7bc Weaver ValidateRemoteCallAndParameters IsStatic check added so we don't need to check in Command/Rpc/TargetRpcProcessors 2020-08-26 13:11:56 +02:00
vis2k
2e178b7eaf Weaver NetworkBehaviourProcessor: ValidateRemoteCallAndParameters function added to be used from Command/Rpc/TargetRpcProcessors 2020-08-26 13:08:46 +02:00
vis2k
fbad5d2401 Add comment 2020-08-26 13:04:39 +02:00
vis2k
68ebaf1756 Weaver TargetRpcProcessor: ValidateTargetRpc simplified 2020-08-26 13:03:44 +02:00
vis2k
e6ffe6d6bf Weaver: Simplify ValidateParameters 2020-08-26 13:02:25 +02:00
vis2k
ce3dd51d81 Weaver NetworkBehaviourProcessor: ProcessMethodsValidateParameters renamed to ValidateParameters 2020-08-26 13:01:43 +02:00
vis2k
ee8ad1d750 Weaver TargetRpcProcessor: ProcessMethodsValidateTargetRpc renamed to ValidateTargetRpc 2020-08-26 13:01:43 +02:00
vis2k
1b49a21d49 Weaver RpcProcessor: ProcessMethodsValidateRpc renamed to ValidateRpc 2020-08-26 13:01:43 +02:00
vis2k
9131586f5c Weaver NetworkBehaviourProcessor: ProcessMethodsValidateFunction renamed to ValidateFunction 2020-08-26 13:01:43 +02:00
vis2k
3dab0ec7c5 Weaver CommandProcessor: ProcessMethodsValidateCommand renamed to ValidateCommand 2020-08-26 13:01:43 +02:00
James Frowen
a9d21ea9ab
fix: adding error for generated read writer for abstract class (#2191)
* fix adding error for gernated read writer for abstract class

weaver can not initialize class abstract class so cant not create a reader
this gives a helpful error telling the server to make a custom reader

* adding tests for error message

* fixing typo

* renaming

* fixing expected error messages
2020-08-25 17:14:39 +01:00
James Frowen
c9a9f92c7c
commenting out reader error checks (#2196)
Reader code doesn't run on Rpc now if a valid writer can not be found
In future PR write and read functions should be generated together as they share most of the same checks
2020-08-25 01:39:03 +01:00
James Frowen
d73de03eca
renaming variables in Readers to match writers (#2195) 2020-08-24 14:48:15 +01:00
James Frowen
11a8d41464
fixng ArgumentNullException (#2193) 2020-08-24 14:43:51 +01:00
James Frowen
771f1fea13
fixing typo (#2192)
variable should start with lower case
2020-08-23 19:30:20 +01:00
James Frowen
1045b1f2ed
tests using HasError (#2188)
* replacing assert with haserror

* adding IsSuccess and HasWarning functions

* using IsSuccess

* checking weaverWarnings empty in success

* using HasWarning

* replacing asserts missed by regex

* fixing typo

* adding HasNoErrors function to be used when tests only have warnings

* fixing typo

* making fields public to stop warnings

* simplifying more test files
2020-08-22 20:20:16 +01:00
James Frowen
bd7c93674e
Error with message overloads (#2168)
* weaver error with message overloads

* finding method with 1 arg
2020-08-22 21:07:33 +02:00
James Frowen
d5d434cf13
weaver: renaming variables and changing order things happen (#2172)
* renaming variables

* adding todo

* moving order that things happen
2020-08-22 21:05:01 +02:00
James Frowen
ea0b9e1215
returning lists instead of passing them in as args (#2183) 2020-08-22 20:51:47 +02:00
James Frowen
f051c4b911
Simplify weaver tests (#2186)
* Simplifying weaver test files

* updating error messages
2020-08-22 19:00:11 +01:00
James Frowen
c312874bcb
renaming test folder in order to use WeaverTestsBuildFromTestName (#2189) 2020-08-22 18:59:06 +01:00
James Frowen
f1d7f207c3
adding HasError method (#2185)
Makes it easier to write error message within weaver tests because there is mess syntax to worry about
2020-08-22 16:23:56 +01:00
vis2k
9ec5eadd51 Weaver: PropertySiteProcessor.ProcessSitesModule renamed to Process for consistency 2020-08-22 13:59:17 +02:00
vis2k
ed60e592dc Syntax 2020-08-22 13:57:52 +02:00
vis2k
16f8f05abe Weaver: ReaderWriterProcessor.ProcessReadersAndWriters renamed to Process for consistency 2020-08-22 13:56:52 +02:00
vis2k
84602aace6 ServerClientAttributeProcessor: ProcessSiteClass renamed to Process for consistency 2020-08-22 13:55:22 +02:00
vis2k
342ed13f55 Weaver: update ServerClientAttributeProcessor explanation 2020-08-22 13:40:41 +02:00
vis2k
427adf6c8e Weaver: ProcessNetworkBehaviourType code moved into NetworkBehaviourProcessor.Process 2020-08-22 13:40:41 +02:00
James Frowen
4774f83032
moving FindSyncObjectsFields to its own function (#2182) 2020-08-22 12:10:01 +02:00
vis2k
df38c4fb2c Syntax 2020-08-21 20:00:42 +02:00
vis2k
5cc908a18d Weaver PropertySiteProcessor: remove redundant AssemblyDefinition parameter. Weaver passes assembly.MainModule anyway. 2020-08-21 18:25:01 +02:00
vis2k
4258220b26 Weaver PropertySiteProcessor: pass CurrentAssembly to Process function to reduce coupling 2020-08-21 18:22:12 +02:00
vis2k
7b9066832b Syntax 2020-08-21 18:04:32 +02:00
vis2k
fe32557a38 Weaver ProcessSyncVars: remove redundant numSyncVars field, use syncVars.Count instead 2020-08-21 17:33:11 +02:00
vis2k
54c32227bd
[Obsolete] SyncEvent (#2180) 2020-08-21 17:03:06 +02:00
James Frowen
eec49fafce
feat: Use Server Client attribute outside of NetworkBehaviour (#2150)
* adding generated test for other baseclasses

* removing errors when attribute is not in networkbehaviour

* temp weaver tests

* updating weaver tests for monobehaviour

* adding weaver tests for non-networkbehaviour

* moving where serverclient attributes are processed

* removing un-used code

* regenerate tests
2020-08-21 16:02:37 +01:00
James Frowen
c6fa49c72a
fix: adding version define from v17 breaking change 2020-08-21 13:49:54 +01:00
vis2k
35d8e0ed60 Syntax 2020-08-21 12:12:40 +02:00
vis2k
07f5912215 Weaver GenericArgumentResolver: reuse StripGenericParametersFromClassName 2020-08-21 12:07:18 +02:00
vis2k
0e124ff8b2 Weaver Resolvers: remove unused code 2020-08-21 12:02:01 +02:00
vis2k
bfb97e7202 Syntax 2020-08-21 11:54:49 +02:00
vis2k
2ea787f4fc Weaver Extensions: HasCustomAttribute uses Linq to simplify code 2020-08-21 11:38:36 +02:00
vis2k
467d9e834f Weaver Extensions: GetMethod uses Linq to simplify code 2020-08-21 11:38:36 +02:00
vis2k
045b50a929 Weaver Extensions: GetMethods uses Linq to simplify code 2020-08-21 11:31:25 +02:00
vis2k
687c9002dd typo 2020-08-21 11:28:51 +02:00
vis2k
0043288900 typo 2020-08-21 11:28:38 +02:00
vis2k
e8ae2246c0 Weaver Extensions: remove unused functions 2020-08-21 11:27:11 +02:00
vis2k
22486885f1 syntax 2020-08-21 11:21:26 +02:00
vis2k
948b97e30d Weaver Tests: StripGenericParametersFromClassNameTest 2020-08-21 11:20:31 +02:00
vis2k
ad42aa19de internal 2020-08-21 11:18:05 +02:00
vis2k
3b6f98be9f Weaver Extensions: IsDerivedFrom strip generic parameters code moved into separate function 2020-08-21 11:16:05 +02:00
vis2k
461396601f ignore warnings 2020-08-21 11:07:08 +02:00
James Frowen
c39a2d546e
splitting up GetWriteFunc function (#2171) 2020-08-21 10:57:41 +02:00
James Frowen
150b14a2ed
perf: adding check for no connections (#2130)
* adding check for no connections

Dont need to run Server Update if there are no connections

* adding toggle to disable skip

* formatt

* removing skipUpdateIfNoConnections check, and merging if checks

* removing extra line

* adding tests for NoConnections
2020-08-21 10:51:58 +02:00
James Frowen
7c7edb2586
weaver: Moving stuff around in writer (#2170)
* removing TypeDef versions of extension methods

* moving function up

* Renaming function

* fixing comment

* changing comment

* Update Writers.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-08-20 22:35:57 +02:00
James Frowen
99d4f8c9bd
breaking: replacing isHeadless with isServerBuild (#2093)
* replacing isHeadless with isServerBuild

* renaming startOnHeadless

* fixing isServerBuild bool

* making property a field instead

* replacing isServerBuild for #if UNITY_SERVER

* fixing comment and removing extra lines

* removing system from System.Obsolete

* renaming to autoStartServerBuild
2020-08-20 13:56:46 +02:00
James Frowen
a2124c3522
Renaming tests and namespaces (#2167)
* renaming test

* renaming test file

* removing test suffix from methods

* changing test namesapce
2020-08-19 02:18:20 +01:00
James Frowen
0c790e339d
adding assert to make sure transport is set (#2164)
* adding assert to make sure transport is set

this helps people who want to connect without using networkmanager

* moving Transport.activeTransport to setup

* replacing Substitute.For for addComponent

Can't used Substitute for monobehaviours as they will still be null with unity equals
2020-08-18 18:57:31 +02:00
James Frowen
3a276b4e30
fix: weaver test for abstract methods (#2166)
* weaver test for abstract methods

* doing nothing is method is abstract

* not calling base if it is abstract

* adding tests for message to make sure they work
2020-08-18 18:56:48 +02:00
James Frowen
7294c42798
splitting up ProcessEvents function (#2174) 2020-08-18 18:56:21 +02:00
James Frowen
e4d9304478
moving getwriter to above op code (#2175) 2020-08-18 18:54:35 +02:00
James Frowen
901898e897
removing old tests (#2165)
these are covered by CollectionWriterTests.gen.cs
2020-08-17 12:01:33 +01:00
James Frowen
aa49c54dd0
removing program class (#2161) 2020-08-16 12:22:12 +02:00
James Frowen
381e5a115b
feat: allowing lists to automatically be sent in Commands, Rpc, and Messages (#2151)
* weaver tests for list read write

* generated tests for list read write

* adding method to check for list type

* temp

* weaver functions for creating read write for list

* generating tests for lists
2020-08-15 18:00:55 +02:00
James Frowen
5b179e8917
Generated tests for collection read write (#2158)
* adding generated tests for collection writers

tests for read+write for array and array segment

* changing menu path

* adding tests for collections of classes

* swapping order in class name
2020-08-15 02:57:38 +01:00
James Frowen
2fbd131f61
Test for array segment and writers (#2157)
* tests for array and segment writers

* fix typo
2020-08-14 23:29:07 +01:00
James Frowen
c1410b0924
fix: adding error when Server/Client is used on abstract methods (#1978)
* tests for Server attribute on virtual methods

test for virtual, abstract and override methods

* adding test for client attribute

* adding error when attribute is put on abstract method

* improving error message

* updating error mesages in tests

* updating to use WeaverTypes

* adding check before error
2020-08-14 10:52:06 +02:00
James Frowen
71bf792db5
moving where CallOnClientEnterRoom is called (#1922) 2020-08-14 10:47:44 +02:00
James Frowen
fc48e0ecf9
Adding alternative to NetworkRigidbody (#2123)
Uses Lerp to set position and velocity
2020-08-11 10:27:09 +02:00
James Frowen
2046e8813e
removing Internal functions that do nothing (#2154) 2020-08-10 08:57:47 +02:00
James Frowen
5089546ecd
fixing IL error when using floats (#2147)
* fixing IL error when using floats

* removing speical case for primitive types
2020-08-09 21:11:46 +01:00
James Frowen
e4a5ce795b
fix: Nested messages (#2148)
* test for nested messages

* fixing StackOverflow with nested types
2020-08-09 20:01:14 +02:00
James Frowen
fe3bebcc63
Making EnableDebugMode public (#2152) 2020-08-09 17:29:05 +01:00
James Frowen
ee9a600f66
Generated attribute tests (#2149)
* class to create test functions

* generated test folder

* generated attribute tests

* adding out function and long type

* generated test file

* using OneTimeSetUp to make tests run faster
2020-08-08 15:11:31 +01:00
James Frowen
ec54ee6d8c
fix: fixing unity crash on StackOverflowException (#2146)
StackOverflowException was causing unity to crash while running weaver 
tests, using inner exception seems to fix that issue
2020-08-07 16:30:08 +01:00
James Frowen
ddc6139725
fix: fixing warning message for client attribute (#2144) 2020-08-07 13:03:46 +01:00
James Frowen
d46469a79c
fix: isServer false in OnDestroy (#2101)
* fix isServer false in OnDestroy

* making sure that OnDestroy doesn't call Destroy again
2020-08-06 17:55:35 +02:00
James Frowen
a124f3f439
fix: fixing cloud log not using logger (#2141) 2020-08-06 13:26:14 +01:00
Keir Smith
23b9fb0214
feat: Added Layer Weight to NetworkAnimator (#2134)
* Added Layer Weight to NetworkAnimator

Now NetworkAnimator is aware of each layer weight on it's references
Animator and will sync layer weights across the network.

* NetworkAnimator layers Float equality fix

* Update Assets/Mirror/Components/NetworkAnimator.cs

Co-authored-by: James Frowen <jamesfrowen5@gmail.com>

* Update Assets/Mirror/Components/NetworkAnimator.cs

Co-authored-by: James Frowen <jamesfrowen5@gmail.com>

* Remove GetLayerWeight check every incoming packet as is extern call

Co-authored-by: James Frowen <jamesfrowen5@gmail.com>
2020-08-05 23:54:46 +01:00
James Frowen
87a96d17ca
deleting telepathy tests (#2136) 2020-08-05 20:44:38 +02:00
James Frowen
fee9adfa63
Adding asmdef to telepathy (#2137)
* Adding asmdef to telepathy

mirror has to reference telepathy as it is the default transport
this also means that TelepathyTransport has to be in the mirror asmdef

* references telepathy in tests

* formatting asmdef
2020-08-05 12:40:10 +01:00
James Frowen
2998295e45
adding asmdef to websockets (#2135) 2020-08-05 12:09:00 +02:00
James Frowen
17838c5b52
removing 2nd null check (#2128)
if identity is not null then the game object is also not null
2020-08-05 12:08:20 +02:00
James Frowen
2b6a1bb792
adding test for NetworkServer.Destroy (#2115) 2020-08-05 12:07:40 +02:00
vis2k
0f09702062
Weaver types moved into WeaverTypes, and reduce some global state (#2138) 2020-08-05 12:07:11 +02:00
James Frowen
f1e5878ca1
Test for OnSpawn (#2004) 2020-08-04 11:55:42 +01:00
James Frowen
067c46fd60
fixing doc links (#2139) 2020-08-03 22:11:38 +01:00
James Frowen
4adaac8867
moving 2nd if inside 1st (#2127) 2020-08-03 20:37:32 +02:00
James Frowen
c63811ddc4
correctly error message so they are not misleading (#2124) 2020-08-03 20:36:20 +02:00
James Frowen
03fd6a5526
splitting on spawn into functions (#2113)
* making ApplySpawnPayload internal for tests

* splitting on spawn into functions

* renaming
2020-08-03 20:35:51 +02:00
James Frowen
7604e65c2c
fix: making triggers be called right away instead on owner (#2125)
* making triggers be called right away instead on owner

* only handling on server if it is not the host
2020-08-03 20:34:52 +02:00
James Frowen
da629e5f71
Formatting doc comments (#2131)
* making comments in NetworkServer doc comments

* making comments in NetworkIdentity doc comments
2020-08-03 20:33:42 +02:00
James Frowen
c3765c101d
moving FakeNetworkConnection to its own file (#2132) 2020-08-02 23:11:03 +01:00
James Frowen
3f027e0d0a
using memory transport in test (#2129)
telepathy fails this test sometimes
2020-08-02 23:00:14 +01:00
linjmeyer
3bdfd451cb
SSL/TLS version in Websockets now configurable (#2121) 2020-08-01 09:36:17 -05:00
Paul Pacheco
890ee6b58d
fix: auto fill serialize/deserialize for classes (#2120)
Note this method is being called in 3 places:
one in MessageClassProcessor and 2 in NetworkBehaviorProcessor.

The NetworkBehaviorProcess is really a don't care, this condition cannot happen since it would not be invoked unless the class extends from NetworkBehavior. In this case, it will always resolve.
but even if it does not resolve, they handle the null case gracefully by not calling the base method.

MessageClassProcessor also calls this method, and if it is null it does not call the base method. That is precisely the behavior we want to resolve #2117

so all 3 places are perfectly fine receiving null.

The only way to trigger the error was #2117

I renamed the method to make it clearer that this may not find the method in the parent class.
2020-08-01 08:46:12 -05:00
vis2k
0cb84baf97 Benchmark example missing NetworkManager reference fixed 2020-07-30 19:59:11 +02:00
vis2k
2effa7bc02 Update readme for 2018.4 LTS 2020-07-30 19:36:46 +02:00
vis2k
ce8d540a8f 2k NetworkTransforms renamed to Benchmark 2020-07-30 19:24:05 +02:00
vis2k
7de5400ad5 10k Benchmark removed because it's 2D, outdated and insignificant 2020-07-30 19:23:25 +02:00
vis2k
6f645c870c Benchmark monster mesh changed to cube to reduce polygons 2020-07-30 19:21:50 +02:00
vis2k
0a554f5f6c Remove warning 2020-07-30 19:12:15 +02:00
Anastasios Andronidis
92bc3c3150
Improve Telepathy debug messages (#2106) 2020-07-28 18:45:00 +01:00
James Frowen
70b7211cba
docs: updating cloud readme (#2111) 2020-07-28 00:41:45 +01:00
James Frowen
e136f48101
feat: Adding Custom Data and Custom Address fields to list server (#2110)
* whitespace

* adding doc comment
2020-07-27 17:31:56 +01:00
James Frowen
f913c64610
adding customData and customAddress (#2108) 2020-07-27 01:22:12 +01:00
francescoStrada
049ec99aa7
changing serverBroadcastListenPort variable access permissions to protected (#2103) 2020-07-23 11:12:36 +02:00
uwee
df16a7d3cc
fix: dont allow set of networkSceneName directly (#2100) 2020-07-19 16:58:35 +02:00
James Frowen
9497886ad4
fixing angularVelocity sync (#2098) 2020-07-16 01:29:24 +01:00
James Frowen
8e545ac468
fix: fixing cloud scripts not pinging api (#2097)
* adding logs to api updater

* fixing cloud api
2020-07-15 16:07:39 +01:00
uwee
e4cc85c413
fix: Misc code smells (#2094)
* fix: code smell - condensed if statement

* fix: code smell - dont throw generic Exception
2020-07-14 18:44:52 +02:00
uwee
12827f65a9
fix: add NetworkManager.StartClientUri test (#2095) 2020-07-14 18:44:28 +02:00
James Frowen
984eb73ea4
fix: register prefab error with same guid (#2092)
* tests for when newassetId is same as current

* stopping error if ids are the same

* invert if and adding comment
2020-07-13 19:40:11 +01:00
Paul Pacheco
a219ff2059
encapsulate method substitute naming (#2091)
* encapsulate method substitute naming

* This const is not used anywhere else,  make it private

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>
2020-07-13 13:25:54 +01:00
James Frowen
18d695744f
fix: renaming call/invoke prefix for SyncEvent (#2089)
* renaming sync event

same reason as #2088

* removing un-used const
2020-07-13 06:29:24 -05:00
James Frowen
64f663fb5e
adding prefix to call command and rpc (#2088)
now that Cmd is not required "Call..." might collide with user functions
2020-07-13 05:49:27 -05:00
James Frowen
f1698e658c
removing code that isnt needed (#2090)
we use the original method name so we do not need to remove the prefix
2020-07-13 04:44:51 -05:00
James Frowen
ef47ee7a57
feat: Rigidbody example (#2076)
* adding example for NetworkRigidbody

* adding hud

* adding empty player so that scene objects spawn

* turning off debug logs
2020-07-13 01:04:51 +01:00
Paul Pacheco
ed40c2d210
feat: Sync Events no longer need Event prefix (#2087)
Instead of doing
```cs
[SyncEvent]
public event MySyncEventDelegate EventOnly;
```

You can now do
```cs
[SyncEvent]
public event MySyncEventDelegate Only;
```

We actually tried to remove them a while ago. The way the weaver worked
back then caused an infinite recursion.

Since the Command rewrite that allows virtuals, this is no longer
a problem.  So we can drop this requirement.

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>
2020-07-12 17:27:44 -05:00
Paul Pacheco
eb93c34b33
feat: ClientRpc no longer need Rpc prefix (#2086)
Instead of doing
```cs
[ClientRpc]
public void RpcPepe() {}
```

You can now do
```cs
[ClientRpc]
public void Pepe() {}
```

We actually tried to remove them a while ago. The way the weaver worked
back then caused an infinite recursion.

Since the Command rewrite that allows virtuals, this is no longer
a problem.  So we can drop this requirement.

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>
2020-07-12 16:50:01 -05:00
Paul Pacheco
d89ac9fb05
feat: TargetRpc no longer need Target prefix (#2085)
Instead of doing
```cs
[TargetRpc]
public void TargetPepe() {}
```

You can now do
```cs
[TargetRpc]
public void Pepe() {}
```

We actually tried to remove them a while ago. The way the weaver worked
back then caused an infinite recursion.

Since the Command rewrite that allows virtuals, this is no longer
a problem.  So we can drop this requirement.

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>
2020-07-12 16:49:45 -05:00
Paul Pacheco
b6d1d09f84
feat: Commands no longer need Cmd prefix (#2084)
Instead of doing
```cs
[Command]
public void CmdPepe() {}
```

You can now do
```cs
[Command]
public void Pepe() {}
```

We actually tried to remove them a while ago. The way the weaver worked
back then caused an infinite recursion.

Since the Command rewrite that allows virtuals, this is no longer
a problem.  So we can drop this requirement.

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>
2020-07-12 16:49:35 -05:00
James Frowen
110e8f162a
increasing max fails to 15, and ping interval to 20 (#2081)
ping will only stop if can not get success from cloud for 5 mins
2020-07-09 23:30:58 +01:00
James Frowen
f717945525
fix: not removing server if id is empty (#2078)
* logging error message

* not removing server if ID is empty
2020-07-07 21:20:08 +01:00
Walter Geisler
47740f0a46
Refactor TimeoutAuthenticator to pass through client/server start callbacks (#2074)
* Update TimeoutAuthenticator.cs

* Moved listener passthrough back to Awake()

* Remove white space above Awake()

* Remove all white space above awake
2020-07-06 16:06:37 +01:00
James Frowen
0506ad5ea1
fixing cloud tank example (#2069) 2020-07-06 09:37:30 +01:00
James Frowen
e7ca6eb7ef
tests for struct message with empty function (#2067) 2020-07-05 01:04:33 +01:00
James Frowen
3418fa2106
fix: Message base class not being Serialized if processed in the wrong order (#2023)
* finding all fields

* adding test for message with base

* undoing FindAllPublicFields

* adding tests for Inheritance with define order

* making sure that messages are processed in order

do not need to check if message has already been processed becuase
OnSerialize is only added/changed if it is missing or empty

* removing un-needed comments

* using recursion instead of loops

* remove white space
2020-07-05 01:04:14 +01:00
Paul Pacheco
264f9b8f94
perf: Use invokeRepeating instead of Update (#2066)
* perf: Use invokeRepeating instead of Update

If you have low frequency calls, InvokeRepeating is a lot faster than
Update().  Use InvokeRepeating for NetworkProximityChecker

* Fix indentation

Co-authored-by: Paul Pacheco <paul.pacheco@aa.com>
2020-07-04 13:41:16 -05:00
James Frowen
999c8b1c32
fixing doc comment 2020-07-03 22:53:30 +01:00
James Frowen
57bc80c9cd
adding clientAuthority to commands (#2064) 2020-07-03 16:31:42 +01:00
James Frowen
c278c004f6
updating readme for cloud list server (#2058) 2020-07-01 16:20:24 +01:00
James Frowen
b316b35d46
fix: weaver now processes multiple SyncEvent per class (#2055)
* weaver test for mutlitple events

* tests for multiple sync events in 1 class

* removing break so that multiple events will be proccessed

It seems like this break was here because unet used foreach CustomAttributes
but mirror uses GetCustomAttribute
2020-06-30 09:59:18 +02:00
James Frowen
c91308fb04
fix: sync events can not have the same name if they are in different classes (#2054)
* test for sync event with same name

* using full name instead of name

* fix test
2020-06-30 09:58:50 +02:00
James Frowen
d0bb9d57b0
sending if syncInterval is greater or equal to 0 (#2053) 2020-06-30 09:56:13 +02:00
MaZy
4ffff192a6
fix: If socket is undefined it will return false. See #1486 (#2017) 2020-06-28 18:10:17 -05:00
James Frowen
61d44b2d80
fix: Fallback and Multiplex now disable their transports when they are disabled (#2048)
* test to check if fallbacks disables other transport

* using ondisable to disable other transport

* fixing teardown

* adding test for Multiplex

* using ondisable to disable other transport

* fixing NSubstitute for 2019
2020-06-28 23:49:36 +01:00
James Frowen
ab1b92f74b
fix: addingNetwork rigidbody icon and AddComponentMenu attribute (#2051)
* adding icon

* adding attributes

* adding docs

* adding disclaimer at top of doc
2020-06-28 23:47:50 +01:00
James Frowen
0c30d3398a
fix: Network rigidbody fixes (#2050)
* using syncInterval for client auth

* only set sync var if change is greater than Sensitivity

* fixing client auth sync

* using currentVelocity
2020-06-28 23:46:43 +01:00
James Frowen
25285b1574
feat: Experimental NetworkRigidbody (#1822)
* NetworkRigidBody
2020-06-27 00:38:50 +01:00
Kyle
ba29119aa1
Missed one internal call that the NetworkManager uses (#2044) 2020-06-27 00:35:58 +01:00
Eunseop Shim
350ce47db3
Implement IReadOnlyDictionary for SyncDictionaries (#2032) 2020-06-26 13:21:54 +02:00
Kyle
d06ee6a21d
Kr/issue 2039 (#2040)
* Update NetworkClient.cs

* Update NetworkServer.cs

* Missed a call
2020-06-26 13:18:56 +02:00
James Frowen
78bd284b6f
fixing null ref (#2043) 2020-06-26 09:47:49 +01:00
James Frowen
e36449cb22
fix: changing namespace to match folder name (#2037)
* updating namespace

* updating example name spaces
2020-06-25 16:13:47 +01:00
James Frowen
7c9afca7c5
deleting old list server (#2034)
* deleting old list server

* fixing prefab name
2020-06-25 16:23:09 +02:00
James Frowen
18691dabe0
adding game name to api updater (#2036) 2020-06-25 12:14:50 +01:00
James Frowen
7d0e907b73
feat: More examples for Mirror Cloud Service (#2029)
* fixing pong spawn points

* renaming files and asmdef

* More Cloud examples

* Moving pong example to cloud folder
* Moving shared code to GUI folder
* Adding readme for examples
* Adding tank example
2020-06-25 01:58:47 +01:00
James Frowen
54a69bbc83
Fixing warning messages (#2030)
* disabling warning for empty method

* removing null propagation

null propagation in untiy can cause MissingReferenceException
2020-06-24 23:13:12 +02:00
James Frowen
b42c74bc40
adding doc comment for SpawnMessag (#2027) 2020-06-24 23:12:00 +02:00
James Frowen
f1fdc959dc
feat: adding demo for mirror cloud services (#2026)
* adding mirror list services

* fixing code smells

* removing runtime example folders

* removing matchmaking code till feature is ready

* fixing scene path

* updating readme to say where example is
2020-06-23 20:39:38 +02:00
James Frowen
065d320208
calling animator.enabled before calls to animator (#2000)
some functions don't need this check as the check is done before they are called
2020-06-21 12:09:24 +02:00
James Frowen
296f6f9cd8
Only setting last parameters values if they have changed (#1999)
* only setting last values if they have changed

* adding comment
2020-06-21 12:06:37 +02:00
James Frowen
f18f7a5c3d
making sure that trigger is called on the server (#1998) 2020-06-21 12:06:07 +02:00
James Frowen
3bea342257
rethrow error with stack (#2013)
this will help error be more useful
2020-06-21 11:54:11 +02:00
James Frowen
a05df81127
adding if before starting task (#2021) 2020-06-21 11:52:32 +02:00
uwee
36c0b65e8b
fixes broken ui for Tanks example (#2015) 2020-06-20 23:39:36 +01:00
James Frowen
4af72c3a63
fix: calling base method when the first base class did not have the virtual method (#2014)
* adding test for error

* adding test with multiple overrides

* calling methods in base type

* adding test for more than 1 override
2020-06-19 00:23:46 +02:00
Chris Langsenkamp
5032ceb000 fix: Clean up roomSlots on clients in NetworkRoomPlayer 2020-06-18 09:44:50 -04:00
Chris Langsenkamp
37338706f9 Remove redundant .transform 2020-06-17 17:35:32 -04:00
James Frowen
8c1ed40c40
adding check before telling clients (#2010)
* adding check before telling clients

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>
2020-06-16 12:21:57 -04:00
James Frowen
76d49c1e99
faster write line (#2009) 2020-06-16 16:16:58 +01:00
Chris Langsenkamp
b41fca2d28 Changed to inline token injection 2020-06-16 08:29:59 -04:00
James Frowen
46239783f3
feat: adding log handler that sets console color (#2001)
* adding log handler that sets console color

* fixing stack trace log

* removing empty cases

* removing string.Format
2020-06-15 14:54:35 +02:00
James Frowen
5f0c7ceb52
moving spawn functions next to each other (#2002) 2020-06-14 17:33:32 +01:00
Chris Langsenkamp
fffd462df8 fix: Suppress warning 2020-06-13 13:25:07 -04:00
Chris Langsenkamp
23b545fc8a suppress erroneous warning 2020-06-13 12:34:14 -04:00
James Frowen
5480a583e1
fix: Websockets Transport now handles being disabled for scene changes (#1994)
* fix: Websockets Transport now handles being disabled for scene changes

* Removed unused method

* Removed test warnings

* Changed back to await Task.Run

* adding queue to ClientJs

keeping standalone client without queue
dont need common class for now as that over complicates the fix

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>
2020-06-13 12:21:13 -04:00
MrGadget
7e2b7338a1
feat: Experimental Network Transform (#1990)
* feat: Experimental Network Transform

* Removed lastClientSendTime and lastServerSendTime
2020-06-12 16:48:34 +02:00
MrGadget
b962d71944
breaking: Websocket Transport now requires full path to PFX (#1989)
* breaking: Websocket Transport now requires full path to PFX

* Added HelpURL
2020-06-12 09:38:45 -04:00
Chris Langsenkamp
1dc0d98374 fix: Replaced Icosphere with centered pivot 2020-06-12 09:19:02 -04:00
Chris Langsenkamp
9a42fe3342 fix: WebSockets: Force KeepAliveInterval to Zero 2020-06-12 08:24:13 -04:00
Chris Langsenkamp
285ec968c0 Fix: WebSockets: Force KeepAliveInterval to Zero 2020-06-11 23:07:21 -04:00
James Frowen
781e8070de
fixing using statments (#1983) 2020-06-10 21:56:44 +01:00
Chris Langsenkamp
ae3dc04fb9 fix: Removed unused variable 2020-06-10 12:57:46 -04:00
James Frowen
b92da91d7a
fix: Allowing overrides for virtual commands to call base method (#1944)
* adding override method that calls base

* trying to debug instruction for call to base

* extra tests

* adding tests for client and target Rpc

* adding fix for calls to base class

Since networkbehaviour parents are processed first we can just fix the
method when we see it in SubstituteMethod
2020-06-10 16:11:29 +02:00
James Frowen
2ce5880646
breaking: moving static code from NetworkBehaviour to its own class (#1951)
* moving static code from NetworkBehaviour to its own class

* Replacing calls in tests to use new RemoteCallHelper

* updating references to types in weaver

* adding version 15 defines

* renaming function
2020-06-10 16:10:54 +02:00
James Frowen
7e93030849
feat: adding script that displays ping (#1975)
* adding script that displays ping

* fixing style

* adding mirror icon

* Update Assets/Mirror/Components/NetworkPingDisplay.cs

Co-authored-by: MrGadget <chris@clevertech.net>

* adding DisallowMultipleComponent

* adding docs on NetworkPingDisplay

Co-authored-by: MrGadget <chris@clevertech.net>
2020-06-10 14:31:13 +01:00
James Frowen
3db57e5f61
fix: making weaver include public fields in base classes in auto generated Read/Write (#1977)
* adding test to check if data is sent

* test for generating writer for inherited class

* adding extension method for FindAllPublicFields
2020-06-10 15:12:36 +02:00
James Frowen
dfa2e7aff6
fixing typo (#1976) 2020-06-09 12:26:27 +01:00
James Frowen
e39b91efca
removing extra null check (#1974)
if transform is not null then gameObject will also be not null
2020-06-09 11:32:50 +02:00
Chris Langsenkamp
986975d65e Set Tanks example to Round Robin 2020-06-08 10:02:19 -04:00
James Frowen
69e58cc870
checking this instead of this.gameobject (#1973) 2020-06-08 08:54:34 +02:00
James Frowen
927c4dede5
fix: Replacing ClearDelegates with RemoveDelegates for test (#1971)
* making ClearDelegates Obsolete

* returning hash from Registering function

* fixing tests
2020-06-08 08:54:00 +02:00
Chris Langsenkamp
14a851fde1 Removed unused variable 2020-06-07 20:12:31 -04:00
Chris Langsenkamp
745741e000 Refinements to player controllers in examples 2020-06-07 20:12:11 -04:00
Chris Langsenkamp
198b2bd605 Refined playercontroller in MultipleAdditiveScenes example 2020-06-07 14:27:38 -04:00
James Frowen
55736eba5e
breaking: adding option to receive NetworkConnectionToClient in Comand (#1970)
* moving exists check to its own function

* moving order and adding whitespace

* adding SenderConnection Attribute

* adding weaver tests for SenderConnection Attribute

* tests for sender connection

* updating valid method to work with sender connection

* using RemoteCallType in read write calls

* adding sender connection to CallCmd

* updating CmdDelegate

* adding NetworkConnection to invokeFunction

* updating old tests

* removing SenderConnectionAttribute

* typo

* adding version 14 defines
2020-06-07 11:25:21 +01:00
James Frowen
822b04155d
fix: Better errors when trying to replace existing assetid (#1827)
* allowing assetId to be set at runtime

* removing ignore from tests

* adding errors and warning for settings assetId

* adding tests for settings assetId

* not allowing assetId to be replaced

* fixing test

* giving error when old assetId was not empty

* moving test to runtime
moving base classes to common

* moving more tests to runtime

* changing tests to give error when assetid is changed

* removing un-needed check

* removing NewAssetId tests
2020-06-06 23:09:46 +02:00
James Frowen
fee522b1cf
making log warning (#1969) 2020-06-06 22:56:52 +02:00
vis2k
67c604959c 2k Demo: enable GPU Instancing for Monster & Player materials to reduce batches from 8k to 26 when drawing all 2k monsters 2020-06-06 11:06:11 +02:00
MrGadget
864fdd5fdc
feat: Add excludeOwner option to ClientRpc (#1954)
* WIP

* WIP

* WIP

* WIP

* feat: Add excludeOwner option to ClientRpc

* removed default value

* Fixed tests

* Update Assets/Mirror/Editor/Weaver/Processors/RpcProcessor.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* adding weaver test for exlude owner

* adding test for call to exclude owner

* adding comment back

* removing ClientRpcInfo

we don't need ClientRpcInfo as client rpc is only called server side
so we don't need to double check exlucde owner, weaver can handle it

* removing extra register

* fixing test compile errors

* Update Assets/Mirror/Tests/Editor/Weaver/WeaverClientRpcTests~/ClientRpcThatExcludesOwner.cs

* doc: fixed typos in readme

* doc: Updated ChangeLog

* doc: Updated docs for Command ignoreAuthority option

* doc: Updated ChangeLog

* fixing typo in comment (#1963)

* Removed YouTube link. Link is changing soon. (#1962)

* Removed YouTube link. Link is changing soon. (#1961)

* Removed YouTube link. Link is changing soon. (#1960)

* Removed YouTube link. Link is changing soon. (#1959)

* Removed YouTube link. Links are changing. (#1958)

* Removed YouTube link. Links are changing. (#1957)

* Update NetworkBehavior.md (#1956)

* fixed comment typo

* doc: Updated Migration guide example

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
Co-authored-by: FirstGearGames <firstgeargames@gmail.com>
2020-06-05 21:49:36 +02:00
Chris Langsenkamp
b4d0296434 Removed stray // 2020-06-05 02:24:56 -04:00
Chris Langsenkamp
1a1eec9c14 fixed comment typo 2020-06-03 10:34:51 -04:00
James Frowen
2444275401
fixing typo in comment (#1963) 2020-06-03 15:11:57 +01:00
James Frowen
e6311ecb37
adding better error message for ResolveMethod (#1950) 2020-05-31 19:35:22 +02:00
James Frowen
e736f41470
moving exists check to its own function (#1948)
* moving exists check to its own function

* moving order and adding whitespace
2020-05-31 19:35:06 +02:00
James Frowen
62257d8c4f
fix: better error for Command, ClientRpc and TargetRpc marked as abstract (#1947)
* weaver test for virtual and abstract commands

* adding error for abstract methods

* adding base class for command tests and renaming file

* adding tests for virutal commands

* renaming classes to make more sense

* removing whitespace

* adding tests for Client Target Rpc too

* fixing compile error

* fixing message and typo

* removing line

* renaming namespace and base class to be used by Rpc

* tests for calling Rpc

* tests for virtual rpc

* fixing typo
2020-05-30 19:17:29 +02:00
James Frowen
cace9ab840
Refactor weaver 4 (#1946)
* white space

* renaming parameter name

* renaming parameter name

* making comment look the same as the one in writeArguments

* removing NetworkBehaviourType2 to make code simplier

* whitesapce
2020-05-30 17:38:34 +02:00
James Frowen
b4acf7d9a2
feat: Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed (#1920)
* adding onLocalPlayerChanged event

* Update Assets/Mirror/Runtime/ClientScene.cs

Co-authored-by: MrGadget <chris@clevertech.net>

Co-authored-by: MrGadget <chris@clevertech.net>
2020-05-30 15:45:49 +02:00
James Frowen
3a35b0e9de
adding extension methods (#1938) 2020-05-30 15:43:32 +02:00
James Frowen
26c02199ba
renaming function (#1937)
* renaming function

* adding more comments
2020-05-30 15:43:14 +02:00
James Frowen
b1e47d5b6a
adding RemoteCallType (#1936)
* adding RemoteCallType

* Update Assets/Mirror/Editor/Weaver/Processors/NetworkBehaviourProcessor.cs
2020-05-30 15:42:34 +02:00
James Frowen
7205d3a705
Clean up test scripts (#1942)
* fixing white space
* sorting using statements
2020-05-29 18:55:12 -04:00
James Frowen
3f9f3c8298
Clean up scripts (#1941)
* fixing white space
* sorting using statements
2020-05-29 18:54:56 -04:00
Chris Langsenkamp
e49313bfd2 Lowered Tanks example Projectile destroyAfter to 1 2020-05-29 13:58:34 -04:00
Chris Langsenkamp
d5a0bc740f Added Projectile to NetworkManager's Spawnables list in Tanks example 2020-05-29 13:57:59 -04:00
Chris Langsenkamp
bf624fa917 Reset Tanks Projectile Prefab 2020-05-29 13:56:52 -04:00
MrGadget
3ace2c6eb6
feat: Adding ignoreAuthority Option to Command (#1918)
* Add ignoreAuthority to weaver

* Add ignoreAuthority to CommandAttribute

* Add NetworkConnection to handlers

* Pass conn parameter from OnCommandMessage

* Add ignoreAuthority to SendCommandInternal
Add NetworkConnection param to CmdDelegate
Add NetworkConnection param to InvokeCommand
Pass conn to InvokeHandlerDelegate
Pass conn to invoker.invokeFunction

* Update tests with optional NetworkConnection param

* adding commandInfo

* fixing test calls

* renaming arguments

* adding ignoreAuthority to register call

* weaver tests for ignore authority

* tests for command ignoreAuthority

* adding debug assert to make sure tests is running correct

* moving variables up

* removing un-needed code

* updating tests

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-05-28 11:54:12 +02:00
Chris Langsenkamp
8721d05fff Moved FinishLoadSceneServerOnly up to match call order 2020-05-27 22:57:41 -04:00
Chris Langsenkamp
7d9175dfc7 Moved GetStartPosition to correct region 2020-05-27 22:51:26 -04:00
James Frowen
9ae7fa2a8c
feat: adding OnRoomServerPlayersNotReady to NetworkRoomManager that is called when player ready changes and atleast 1 player is not ready (#1921)
* adding virtual function for Players not ready

* moving function calls to property

* making if check easier to read

* setting field

* making field private

* removed blank line

* Added override to template

* doc: Updated ChangeLog

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>
2020-05-27 15:42:18 -04:00
James Frowen
64533ca4da
Fixing optional network connection (#1934)
* adding tests for optional NetworkConnection

* fixing validate to allow optional NetworkConnection

* fixing error message in test
2020-05-27 18:09:35 +01:00
Chris Langsenkamp
d9b7bb7357 fix: OnClientEnterRoom should only fire on clients 2020-05-27 12:15:52 -04:00
Chris Langsenkamp
0c3e079d04 feat: Added virtual SyncVar hook for index in NetworkRoomPlayer 2020-05-27 11:57:35 -04:00
James Frowen
52aa62af6d
Updating target rpc tests (#1933)
* fixing the TargetRpc Test class

moving SyncEvent Tests to their own folder
renaming tests to be readable

* removing meta file from csproj

* fixing typo

* sync event tests

* fixing typo

* fixing typo

* fixing errors in tests

* fixing name in test message

* error for first param not NetworkConnection for targetRpc

* adding error if no paremeters
2020-05-27 16:22:46 +01:00
James Frowen
210796cff8
moving lastMessageTime to other constructor (#1924)
making extra constrctor call empty one
2020-05-27 00:05:57 +02:00
James Frowen
59f8e9b794
renaming all ILProcessor to be called worker (#1926) 2020-05-27 00:04:18 +02:00
uwee
218faa85d5
Tank example fixes (#1928)
* move game state out of NetMan

* update scene for script movement
2020-05-27 00:03:58 +02:00
James Frowen
03486997fb
fix: no longer requires hook to be the first overload in a class (#1913)
* test for sync var hook order

* adding extension method

* allowing hook method to be in any order

* adding second hard to test functions
2020-05-24 16:05:50 +02:00
James Frowen
e9d9bae397
renaming arguments (#1919) 2020-05-24 14:11:10 +01:00
uwee
ee3e29de9c
Gamify Tanks Example (#1906)
* add health lives and score to Tank

* add damage and a source object to projectile

* update prefabs to use new vars

* add gamecontroller to manage state and UI

* update scene to use new gamecontroller and ui

* retag as player

* code cleanup

* replaced GameController with a custom NetMan

* removed lives and respawning. added state management

* scene and prefab updates

* fix billboarding for player names

* fix: cant win game when alone

* darker menu colors
2020-05-23 09:49:04 +02:00
Chris Langsenkamp
9af63b8ced fixed typo 2020-05-23 02:53:45 -04:00
Chris Langsenkamp
90a0d366da fix comment 2020-05-23 02:53:15 -04:00
Chris Langsenkamp
12c38c4715 NetworkManager:RegisterClientMessages can use RegisterHandler instead of ReplaceHandler. 2020-05-23 02:49:31 -04:00
James Frowen
1c2bb2c6a3
Tests for static syncvar hooks (#1912)
* tests for static hooks

* csproj
2020-05-21 10:40:53 +02:00
James Frowen
0b2dd5fd36
moving writing of syncvar hook to once place (#1910)
* moving writing of syncvar hook to once place

* fixing typo in comment
2020-05-21 10:40:36 +02:00
MrGadget
7d4c0a9cb6
feat: Use SortedDictionary for LogSettings (#1914)
* feat: Use SortedDictionary for LogSettings

* Remove manual sort
2020-05-21 10:39:48 +02:00
Chris Langsenkamp
6c8ff77bc1 Added headers to LogSettings window & component 2020-05-20 16:04:01 -04:00
Chris Langsenkamp
c7d8c0933d feat: Prettify Log Names 2020-05-20 14:33:22 -04:00
James Frowen
efef55318c
deleting old files (#1905) 2020-05-20 10:58:22 -04:00
James Frowen
1b9e51b801
moving comment to right place (#1911) 2020-05-20 15:14:21 +01:00
James Frowen
f14639bc3d
Syncvar hook weaver tests (#1909)
* removing old sync var test

moving them to their own class

* weaver test for sync var hooks

* better error messages
2020-05-20 14:53:23 +01:00
James Frowen
e7c5558968
Syncvar hook tests (#1908)
* SyncVar hook tests

* moving tests for virtual sync hook

* white space and function names
2020-05-20 14:51:30 +01:00
Chris Langsenkamp
c45deb808e fix: Fixed Capitalization 2020-05-19 10:54:50 -04:00
Chris Langsenkamp
0cf5f27421 Changed NetworkRoomPlayer to use virtual SyncVar hook 2020-05-19 10:31:27 -04:00
James Frowen
94795c50fb
Moving weaver comments (#1904)
* Moving weaver comments

* removing extra line
2020-05-19 14:07:57 +01:00
James Frowen
866808438a
splitting code into multiple functions (#1903) 2020-05-19 13:50:44 +01:00
Chris Langsenkamp
f989b0fb11 doc: fixed crefs in xml comments 2020-05-18 15:38:06 -04:00
Chris Langsenkamp
8a58c31b48 doc: fixed cref's in XML comments 2020-05-18 15:01:31 -04:00
James Frowen
db773caab4
showing sync settings for non visable syncvar (#1899) 2020-05-18 19:52:36 +01:00
Chris Langsenkamp
042b4e1965 feat: Improved RoomPayer template 2020-05-18 14:18:43 -04:00
James Frowen
63ad7ffd20
adding warning to connect (#1874)
warning when client tries to connnect when a connection already exists
2020-05-18 16:06:07 +02:00
James Frowen
73022c8bbc
Cleanup changes (#1897)
* renaming variable to be more clear

* stopping items from being included by default
2020-05-16 01:09:21 +01:00
James Frowen
fe8e0c2e0e
fixing typo (#1895) 2020-05-15 12:51:38 +01:00
James Frowen
55be68ba05
Cleaning up csproj 2020-05-15 12:11:43 +01:00
James Frowen
97ff37e526
adding csproj file to make it easier to edit weaver tests (#1894) 2020-05-15 11:40:46 +01:00
James Frowen
138bb40450
Adding tests and clean up logs (#1891)
* adding test for sync list with using a class

* adding length check to synclist tests

* adding clear test

fixing Contains check

* fixing index
2020-05-14 19:50:58 +01:00
James Frowen
f63483bda7
Adding active check to NetworkServer.SendToAll (#1890)
* adding active check to SendToAll

* fixing identical call

* removing regex

* removing ; at end of file

* fixing typo in error message
2020-05-14 19:11:47 +01:00
James Frowen
bd6cd2164d
making error easier to read in the code (#1892) 2020-05-14 19:07:32 +01:00
MrGadget
05c119f505
fix: Don't call RegisterClientMessages every scene change (#1865) 2020-05-14 13:40:57 +02:00
James Frowen
69b845183c
feat: Improved Log Settings Window Appearance (#1885)
* setting window min size

* using Layout scopes

* adding scroll bar

* setting label and field widths
2020-05-12 16:34:24 +01:00
James Frowen
37323d319b
settings lastMessageTime to current time (#1879) 2020-05-11 10:28:48 +02:00
James Frowen
d8aaf76fb9
feat: Creating method to replace all log handlers (#1880)
* adding ReplaceLogHandler to LogFactory

* property to get all loggers
2020-05-11 10:28:17 +02:00
James Frowen
30a610d4e3
Setting default log level to error (#1882)
These warning only used to be enabled when debugfilter was on
2020-05-11 10:27:53 +02:00
Devon Merner
eb7c87d15a
feat: add SyncList.RemoveAll (#1881)
* Added SyncList.RemoveAll and unit test.

* Added RemoveAllNone unit test for SyncList

* SyncList.RemoveAll cleanup

* RemoveAll no longer calls collections .Add

Unit tests for SyncList.RemoveAll now check clientSyncList.
2020-05-11 10:27:32 +02:00
Devon Merner
e9ea117e61
Added SyncList.AddRange and InsertRange (#1883) 2020-05-11 10:27:06 +02:00
uwee
381adaa8f2
add logger to all classes that have logging but no logger (#1861)
* add logger to all classes that have logging but no logger

have not updated all of the debugs in the classes yet as the logger implementation has still not been decided.

* add logger to all classes that were missed

* update logger refs in BasicAuthenticator

* update logger refs in TimeoutAuthenticator

* update logger refs in NetworkAnimator

* update logger refs in NetworkRoomManager

* update logger refs in NetworkRoomPlayer

* update logger refs in NetworkSceneChecker

* update logger refs in AdditiveNetworkManager

* update logger refs in ZoneHandler

* update logger refs in ChatWindow

* update logger refs in ListServer

* update logger refs in Reward

* update logger refs in Reward

* update logger refs in NetworkRoomPlayerExt

* update logger refs in LocalConnections

* update logger refs in MessagePacker

* update logger refs in NetworkBehaviour

* update logger refs in NetworkManager

* update logger refs in NetworkReader

* update logger refs in NetworkReaderPool

* update logger refs in NetworkServer

* update logger refs in NetworkTime

* update logger refs in NetworkWriter

* update logger refs in NetworkWriterPool

* update to use logger log enabled

* remove if logfilter debug as log is not concatenated

* add if logger enabled check to concatenated strings

* Update Assets/Mirror/Authenticators/BasicAuthenticator.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* suggested fixes

* remove unused logger

* changed to warning

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-05-10 23:00:37 +01:00
James Frowen
a264583944
adding try catch to DestroyAllClientObjects (#1862) 2020-05-10 10:17:42 +02:00
James Frowen
1fbaf1ba23
Moving CleanupNetworkIdentities to NetworkServer (#1867)
* moving CleanupNetworkIdentities to NetworkServer

NetworkClient already cleans up spawned dictionary

* using GameObject.Destroy

* adding null check

* tests for NetworkServer.Shutdown
2020-05-10 10:14:18 +02:00
James Frowen
1cd31663a5
Creating LocalConnectionId constant (#1869)
Avoid using magic numbers
2020-05-10 10:13:43 +02:00
James Frowen
f5d02906c0
Removing host setup from networkserver test (#1868)
* Removing host setup

Only set up the minimum in order to test a feature

* moving to new file

* inverting if

* removing extra  line

* fixing test for headless
2020-05-09 21:53:29 +01:00
James Frowen
b069a6ce27
clearing dictionary in test teardown (#1871) 2020-05-09 17:18:22 +01:00
James Frowen
11ed61aa61
adding namespace (#1870) 2020-05-09 17:18:14 +01:00
James Frowen
4c25122958
fix: Cleaning up network objects when server stops (#1864)
* destroying or disabling network objects when server stops

* adding clear after loop

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>
2020-05-09 10:42:06 +01:00
Chris Langsenkamp
b4511a0637 fix: Prevent host client redundantly changing to offline scene 2020-05-09 01:28:30 -04:00
uwee
2108456021
Fix comments (#1860)
* fix ref to NetMan in Authenticator

* does not return

* added basic description of return conditions

* comment is 2 years old from HLAPI 2017.4 and no longer relevant

* remove empty whitespace

* Update Assets/Mirror/Runtime/NetworkConnection.cs

* Update Assets/Mirror/Runtime/NetworkServer.cs

* Update Assets/Mirror/Runtime/NetworkAuthenticator.cs

* Update Assets/Mirror/Runtime/NetworkServer.cs

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: MrGadget <chris@clevertech.net>
2020-05-08 21:41:57 -04:00
James Frowen
ad782a59a7
adding assert extension method (#1804) 2020-05-09 00:24:05 +01:00
James Frowen
fd4357cd26
feat: LogSettings that can be saved and included in a build (#1863)
* Moving code that draws the log levels to its own class

this allows other scripts to use the same code to draw the log levels

* adding LogSettings to store the log levels

* adding GUI method to create LogSettings

* Creating Editor for LogSettings that uses LogLevelsGUI

* adding helper to find Existing LogSettings

* Adding field to LogLevelWindow to use LogSettings

* Adding LogSettings to drawer and save on changed check

* fixing field default value of null so that c# compiler doesnt complain

* loading existing settings into LogFactory when the editor starts

* component to load log settings in a build

* changing namespace

* Moving logging scripts to subfolder

* NetworkLogSettings editor

Makes the component use the same gui as the Window and ScriptableObject

* Making NetworkLogSettings find existing settings on Reset

reset is called when component is added

* adding attributes

* adding docs

* adding icon

* doc.

* documentation and images

* fixing image extension

* Update Assets/Mirror/Runtime/Logging/EditorLogSettingsLoader.cs

Co-authored-by: vis2k <info@noobtuts.com>

Co-authored-by: vis2k <info@noobtuts.com>
2020-05-08 23:51:21 +01:00
James Frowen
eed1ddc090
renaming player to ownerPlayer (#1859) 2020-05-08 00:04:57 +01:00
MrGadget
2c40c71557
Simplify 2K Example (#1857) 2020-05-07 13:29:33 +02:00
Chris Langsenkamp
b2f52d7892 fix: Removed unnecessary registration of player prefab in NetworkRoomManager 2020-05-07 04:45:03 -04:00
Chris Langsenkamp
38c8bb4dda Removed stray leftover comment 2020-05-07 03:56:09 -04:00
Chris Langsenkamp
0be4e5b999 Fixed 2 typos 2020-05-07 03:41:15 -04:00
Chris Langsenkamp
3179f08e3d fix: NetworkRoomManager.minPlayers is now protected so it's available for derived classes. 2020-05-07 02:41:58 -04:00
Chris Langsenkamp
fb927f8141 fix: Added ClientOnly check 2020-05-06 14:07:44 -04:00
James Frowen
53512cab35
Cleaning up some code (#1854)
* rename to validPrefabNetworkIdentity

* typo

* moving code to base class

* removing protected
2020-05-05 15:59:02 +01:00
vis2k
2d89f059af
perf: NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (#1852) 2020-05-05 09:54:11 +02:00
Chris Langsenkamp
201411d7f4 Fixed Observer Template 2020-05-05 00:37:21 -04:00
James Frowen
bd49fe4d9d
adding ignoreFailingMessages around error logging (#1803) 2020-05-04 18:14:42 +01:00
James Frowen
a88d2e6be1
tests for ClientScene.DestroyAllClientObjects (#1850)
* tests for ClientScene.DestroyAllClientObjects

* adding test for list being clear

* removing extra line
2020-05-04 17:15:56 +01:00
James Frowen
8b0958e24c
adding namespace (#1851) 2020-05-04 17:11:47 +01:00
vis2k
ecb10eb965
2k NetworkTransforms (#1849) 2020-05-04 17:52:00 +02:00
James Frowen
bb7765e0c1
Test cleanup (#1847)
* cleaning up objects after test

* test clean up
2020-05-04 13:10:22 +01:00
James Frowen
2c11cc8393
tests for ClientScene.PrepareToSpawnSceneObjects (#1846)
* tests for ClientScene.PrepareToSpawnSceneObjects

* removing line
2020-05-04 12:54:43 +01:00
James Frowen
64e52bf31e
Moving classes to their own files (#1845) 2020-05-04 10:59:38 +01:00
James Frowen
c9db7e3754
Moving Client scene tests to their own class per method (#1843)
* fixing comments

* adding extra lines

* moving tests to their own class per method
2020-05-04 10:33:32 +01:00
James Frowen
ca6fd99242
Clean up after breaking (#1844)
* adding new define to project settings

* Marking test for RemovePlayerMessage as Obsolete
2020-05-04 10:17:13 +01:00
James Frowen
54071da3af
fix: Improved error checking for ClientScene.RegisterPrefab with handler (#1841)
* test for RegisterPrefab with handler

* comments

* finishing tests and ignore some cases

* updating checks and log messages

* more tests

* removing test cases
2020-05-04 10:55:36 +02:00
Chris Langsenkamp
ed27578f91 Fixed comment 2020-05-03 12:29:14 -04:00
Chris Langsenkamp
477de07003 Updated ReadMe 2020-05-03 12:11:27 -04:00
Chris Langsenkamp
0cf92e9064 Reset Instances to default (3) 2020-05-03 12:11:08 -04:00
MrGadget
75f3975041
breaking: Eliminates RemovePlayerMessage As Security Risk (#1835)
* fix: Deprecate RemovePlayerMessage As Security Risk

* Updated PreprocessorDefine

* Updating for changes in master

* Updating for changes in master

* Removed the error flag so tests could still pass
2020-05-03 16:45:53 +02:00
MrGadget
2a08aac7cb
fix: Don't call RegisterClientMessages twice (#1842) 2020-05-03 16:43:00 +02:00
MrGadget
87c6ebc5dd
feat: Multiple Concurrent Additive Physics Scenes Example (#1686)
* Stop using sceneIds at runtime

* Multiple Additive Physics Scenes Example

* Remove Commented code

* Remove boilerplate code

* breaking: Network Visibility Component

* Revert changes to NetworkIdentity

* Updated scene lighting

* Don't rename spawned objects

* Simplified Physics Simulator

* Updated PhysicsSimulator

* Fixed camera restore

* moved subScenes.Clear up

* Updated Prefabs

* Updated Scenes

* Updated PhysicsSimulator

* Updated PlayerController

* Updated scoring to server authoritative

* Updated Main scene

* Updated Example to master

* Made subScenes readonly

* Restored old jump code

* Revert "Restored old jump code"

This reverts commit 6a986fb088.

* Restored old jump code

* localized point variable

* Removed oldColor

* Removed test code

* Removed commented code

* Added comment about flags enum

* Removed unnecsssary code

* Finalize scoring and setup

* Added ReadMe

* renamed Collision parameter

* Changes per @vis2k

* Added UnloadClientSubScenes
2020-05-03 16:42:28 +02:00
James Frowen
f4e2e1c153
Allowing tests cases to better call overloads (#1838)
* allowing tests cases to better call overloads

* fixing warning test cases

* adding comment
2020-05-03 14:32:09 +01:00
MrGadget
e3790c51eb
feat: Add NetworkServer.RemovePlayerForConnection (#1772)
* feat: Add NetworkServer.RemovePlayerForConnection

* Fixed Obsolete tag

* Added bool destroyServerObject and comments

* Making this a breaking change

* No longer a breaking change

* Added RemovePlayerForConnectionTest

* Debrecation with pragmas

* Splitting the PR

* Splitting PR's

* Updated tests

* splitting PR's
2020-05-03 15:22:32 +02:00
James Frowen
71ebcdc006
making fields readonly (#1840)
adding more comments to PrepareToSpawnSceneObjects
2020-05-03 15:13:57 +02:00
James Frowen
7de3c74614
adding enabled check to loops (#1836)
Message can disable transport so we need to check if it is still enabled
 before checking the next message
2020-05-03 15:12:32 +02:00
James Frowen
ff4a576b13
Fixing code smell in clientscene (#1839)
* moving overloads next to each other

* moving function so that RegisterPrefab are together

* making if statment more readable
2020-05-03 11:29:42 +01:00
James Frowen
eeb4c4b5b4
making test case match others (#1837) 2020-05-03 10:55:39 +01:00
Chris Langsenkamp
d0e15b1378 Setting older obsoletes to errors for next release 2020-05-02 18:48:12 -04:00
James Frowen
a700d7afc3
Fixing runtime tests (#1833)
* adding assetId to prefab

* making sure NetworkManager is shutdown

* removing host set up for test that doesn't need it

* using OneTimeTearDown

* fixing performance test
2020-05-02 16:14:38 +01:00
James Frowen
2b5ad08260
adding ignore (#1832)
see ignore message
2020-05-02 15:26:21 +01:00
vis2k
d3dccd7a25
fix: #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (#1830)
* fix: #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks

* Update Assets/Mirror/Runtime/Transport/TelepathyTransport.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* Update Assets/Mirror/Runtime/Transport/TelepathyTransport.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-05-02 15:24:42 +02:00
MrGadget
a6ab3527ac
fix: clear all message handlers on Shutdown (#1829) 2020-05-02 11:40:49 +02:00
James Frowen
d6a4d8fbf6
fixing showDebugMessages with new logger (#1824) 2020-05-02 11:25:50 +02:00
Chris Langsenkamp
ab3f353b33 fix: Wrong method names in ClientSceneTests 2020-05-02 00:02:37 -04:00
James Frowen
9f59e0c439
fix: Adding warning when adding prefab with RegisterPrefab if assetid already exists (#1828) 2020-05-02 01:36:59 +01:00
James Frowen
7f26329e2d
fix: Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (#1819)
* adding test for warning for existing handler

* adding warning for existing handler

* adding error for prefab existing with assetId
2020-05-02 01:35:45 +01:00
James Frowen
a0aa4f9c14
fix: Improved error checking for ClientScene.RegisterPrefab (#1823)
* Tests for ClientScene.RegisterPrefab
* Improved error messages for ClientScene.RegisterPrefab
2020-05-02 01:29:55 +01:00
Chris Langsenkamp
5fddcc8525 Added braces 2020-05-01 14:06:17 -04:00
James Frowen
096ce20fbd
Tests client scene 5 (#1818)
* tests for ClientScene.UnregisterSpawnHandler

* splitting errors for handlers

* adding error for empty guid

* adding check to stop null handler inside lambda
2020-05-01 09:48:58 +02:00
Chris Langsenkamp
ffc276cb79 fix: Use ReplaceHandler instead of RegisterHandler in NetworkManager 2020-04-30 22:07:00 -04:00
James Frowen
fd929e2b6d
fixing syncmode not showing up in Inspector (#1820)
syncMode and syncInterval now show up in Inspector when only sync vars are used
2020-04-30 19:43:33 -04:00
James Frowen
63e61bcbf4
fixing error message (#1805)
LogError was incorrectly adding tag to message
2020-04-30 21:49:44 +01:00
James Frowen
8e7dec319a
adding method overloads for seting newAssetId (#1806)
RegisterPrefab(GameObject prefab) has the option to add new AssetId but
the versions that add custom spawn handlers did not have this option
2020-04-30 10:57:51 +02:00
James Frowen
9270765beb
fix: Fixing ClientScene UnregisterPrefab (#1815)
* adding error if prefab is null

* fixing prefab not being removed
2020-04-30 10:55:48 +02:00
James Frowen
66728cdeef
tests for ClientScene.UnregisterSpawnHandler (#1816) 2020-04-29 23:29:00 +01:00
James Frowen
4b2162f6a0
tests for ClientScene.ClearSpawners (#1813) 2020-04-29 17:10:25 +01:00
James Frowen
67df03cb8f
tests for ClientScene.UnregisterPrefab (#1812)
* making ClientScene dictionaries internal

* tests for ClientScene.UnregisterPrefab

* adding OneTimeSetUp for loading prefabs
2020-04-29 16:48:34 +01:00
James Frowen
bf59c6f32b
tests for ClientScene.GetPrefab (#1811) 2020-04-29 16:00:07 +01:00
James Frowen
877f4e9c72
feat: Adding ReplaceHandler functions to NetworkServer and NetworkClient (#1775)
* Replacing debug log with warning

Replacing a handler by mistake will lead to code not running when it is
expected to.

* adding ReplaceHandler methods

* improving warning messages

* using ReplaceHandler in networkManager

* fixing doc comments for RegisterHandler

* fixing doc comments for ReplaceHandler

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* improving doc comments

* improving doc comments for new code

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/NetworkClient.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

Co-authored-by: MrGadget <chris@clevertech.net>
2020-04-29 11:27:28 +01:00
James Frowen
0844c495a1
renaming test assembly (#1808) 2020-04-28 19:21:50 +01:00
Justin Vitale
5295075e78
Fix summary mistake for connectionToServer (#1807) 2020-04-28 12:38:06 -04:00
Chris Langsenkamp
06bd1f87c4 Updated Example Scene Files 2020-04-28 01:41:57 -04:00
James Frowen
e32a9b6f0b
feat: Allowing Multiple Concurrent Additive Scenes (#1697)
* There's no need for handling scene ids at runtime.

* Adding tests for Instantiate On Scene object

* removing ExecuteInEditMode

none of our function do anything at edit time so removing this tag

* adding check to awake to stop Instantiate

* code style and comments

* using logger for new error

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>
2020-04-27 18:50:41 -04:00
Chris Langsenkamp
e0d8c918cd Added DisallowMultipleComponent where appropriate 2020-04-27 11:28:50 -04:00
Chris Langsenkamp
7f8476b2e9 Room Example Server Auth Scoring 2020-04-27 01:21:53 -04:00
James Frowen
6065afd9f6
adding counter since we might send less than connections.Count (#1782) 2020-04-27 00:23:06 -04:00
Chris Langsenkamp
267827b15a remove privates 2020-04-26 16:28:38 -04:00
Chris Langsenkamp
0187b2082f removed privates 2020-04-26 16:21:10 -04:00
Paul Pacheco
b3656a9edc feat: ClientScene uses log window 2020-04-26 14:11:55 -05:00
Paul Pacheco
2e39e13c01 feat: NetworkIdentity use logger framework 2020-04-26 14:06:40 -05:00
Paul Pacheco
72154f1dad feat: NetworkConnection to client and server use logger framework 2020-04-26 13:56:42 -05:00
Paul Pacheco
ec319a165d feat: NetworkConnection uses logging framework 2020-04-26 13:53:55 -05:00
Paul Pacheco
8b4f1051f2 feat: NetworkServer uses new logging framework 2020-04-26 13:45:30 -05:00
Paul Pacheco
aea8db25c1
Each test file in a separate namespace (#1785)
* Each test file in a separate namespace

* Fix tests
2020-04-26 11:49:47 -05:00
James Frowen
0383df95ef
making mono cecil editor only (#1783) 2020-04-26 11:33:40 -05:00
MrGadget
f6545d4871
feat: NetworkServer.SendToReady (#1773)
* feat: NetworkServer.SendToReady

* Added ready check and default channel

* Changed to optional parameter

* Added shorthand overload SendToReady

* Added comment
2020-04-26 10:59:06 +02:00
MrGadget
34a76a2834
feat: Allow Multiple Network Animator (#1778) 2020-04-26 10:57:42 +02:00
Paul Pacheco
b3cbd5c2a1 Remove redundant check, can be done once in setup 2020-04-25 20:19:18 -05:00
Paul Pacheco
462a311fff
Remove redundant check, can be done once in setup (#1781)
* Remove redundant check,  can be done once in setup

* Update Assets/Mirror/Tests/Editor/Weaver/WeaverNetworkBehaviourTests.cs

* Update Assets/Mirror/Tests/Editor/Weaver/WeaverTests.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-04-25 19:53:29 -05:00
Paul Pacheco
bcd76c5bdc
feat: Improve weaver error messages (#1779)
feat: Improve weaver error messages

Weaver error messages are easier to read and always display
location of error
2020-04-25 19:06:08 -05:00
Chris Langsenkamp
d6d702a918 updated comment 2020-04-25 13:45:39 -04:00
Chris Langsenkamp
345da764b9 fixed comments 2020-04-25 13:32:02 -04:00
James Frowen
d6441e8772
Tests for enums (#1774)
* weaver test to make sure enums compile

* test for weaver generated and custom readwrite
2020-04-25 10:41:16 +02:00
Chris Langsenkamp
096a23217e Updated comments 2020-04-24 13:39:58 -04:00
Chris Langsenkamp
9d36815271 fixed comments 2020-04-24 12:58:24 -04:00
Chris Langsenkamp
38ec9b7082 Renamed serverIdleTimeout to disconnectInactiveTimeout 2020-04-24 06:25:02 -04:00
James Frowen
e346885ff5
adding namespace to runtime tests (#1769) 2020-04-24 09:58:27 +01:00
James Frowen
1af5b4ed2f
fix: weaver syncLists now checks for SerializeItem in base class (#1768)
* tests for override in base class

* fixing overrides in base class

* moving check up so that typedef cant be null for the check
2020-04-24 09:30:18 +02:00
James Frowen
d4f834ac08
test for sync list using interface (#1767) 2020-04-23 21:51:33 +02:00
MrGadget
a2eb666f15
feat: Disconnect Dead Clients (#1724)
* feat: Disconnect Dead Clients

* Moved code to NetworkConnectionToClient

* Fixed type

* WIP

* Trying to solve the mystery of the Host

* Updated Example

* fixed comment whitespace

* Final Cleanup and Unit Test

* Removed extra warning

* Reverted change to scene file

* Changed to Play test, still not working

* Added NetworkServer.Update time loop

* Removed commented code

* fixed comment

* Filled in ServerDisconnect so it behaves as expected.

* fixed comment

* Renamed to bool IsClientAlive

* Should be greater than

* Added override that shouldn't be necessary.

* changed asserts per Paul

* Flipped < back

* Shortened test time

* Corrected comment

* Lost the 1

* Updated NetworkServerTest

* Update Assets/Mirror/Tests/Runtime/NetworkServerTest.cs

* Added bool checkInactiveConnections

* Tests for sync dictionary and sync set (#1753)

* sync dictionary tests

* rename

* changing error message

* sync set tests

* silence unused method warning

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* Scope syncdict tests to their classes

* Scope synclists tests to their classes

* Scope syncset tests to their classes

* test class name matches file name

* Scope sample classes

* test class name matches file name

* fix: call the virtual OnRoomServerDisconnect before the base

* fixed name

* doc: Updated docs

* Moved serverIdleTimeout to NetworkManager

* fixed test to enable disconnectInactiveConnections

* Copied disconnectInactiveConnections & serverIdleTimeout to NetworkServer

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-04-23 21:50:35 +02:00
James Frowen
c1bacc345c
using MemoryTransport to make test more stable (#1770) 2020-04-23 17:41:15 +01:00
James Frowen
7f8733ce6a
feat: Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (#1727)
* adding test class for NonSerialized

* checking for IsNotSerialized
2020-04-23 16:38:45 +02:00
Chris Langsenkamp
e6881ef007 fix: call the virtual OnRoomServerDisconnect before the base 2020-04-23 02:02:21 -04:00
Paul Pacheco
fb489c67e8 test class name matches file name 2020-04-22 20:58:22 -05:00
Paul Pacheco
2ad16332f3 Scope sample classes 2020-04-22 20:54:08 -05:00
Paul Pacheco
d0df3e8b90 test class name matches file name 2020-04-22 20:51:49 -05:00
Paul Pacheco
d8e5f0d023 Scope syncset tests to their classes 2020-04-22 20:45:45 -05:00
Paul Pacheco
a0689cd357 Scope synclists tests to their classes 2020-04-22 20:38:45 -05:00
Paul Pacheco
f218259be8 Scope syncdict tests to their classes 2020-04-22 20:11:21 -05:00
Paul Pacheco
6066ca2aa0 test class name matches file name 2020-04-22 19:50:55 -05:00
Paul Pacheco
c704bc123f test class name matches file name 2020-04-22 17:56:41 -05:00
Paul Pacheco
94603d175a test class name matches file name 2020-04-22 17:47:45 -05:00
Paul Pacheco
12ea5f25e0 test class name matches file name 2020-04-22 17:43:59 -05:00
Paul Pacheco
a2b6fb08f3 test class name matches file name 2020-04-22 17:42:25 -05:00
Paul Pacheco
dfffe26390 test class name matches file name 2020-04-22 17:40:32 -05:00
Paul Pacheco
5214b57db5 test class name matches file name 2020-04-22 17:35:39 -05:00
Paul Pacheco
95bb9cb0e3 silence unused method warning 2020-04-22 12:21:32 -05:00
James Frowen
1614c68629
Tests for sync dictionary and sync set (#1753)
* sync dictionary tests

* rename

* changing error message

* sync set tests
2020-04-22 18:54:09 +02:00
Chris Langsenkamp
cf6823acb5 fix: Removed NetworkServer.Listen because HostSetup does that 2020-04-22 06:39:46 -04:00
Chris Langsenkamp
984945e482 fix: Removed NetworkClient.Update because NetworkManager does it in LateUpdate 2020-04-22 06:34:34 -04:00
Chris Langsenkamp
bdec276282 fix: Add the transport first so NetworkManager doesn't add Telepathy in OnValidate 2020-04-22 06:32:26 -04:00
James Frowen
9bf816a014
feat: Allowing extra base types to be used for SyncLists and other SyncObjects (#1729)
* Tests for most uses of sync list

renaming classes for existing test files

* improving error message for Paramless constructor

* More tests for SyncLists

* updating error message

* ignore abstract classes

we dont need to process abstract classes because classes that
inherit from them will be processed instead

* check and error for syncList item being genric

* allowing extra base types for synclist

* checking for nested types in abstract classes

* test for nested types inside structs
2020-04-22 09:40:40 +02:00
uwee
ddd4b0b1fc
use HostSetup in tests (#1761) 2020-04-22 09:38:07 +02:00
uwee
262c1129dc
add test for NS Reset (#1758)
* add test for NS Reset

this code is depreciated but it should have a test as long as its in the code base

* typo
2020-04-21 23:49:46 +02:00
uwee
d996079042
remove empty if statement (#1757)
the current state is an untestable if statement. the if (!dont) is not pretty but the same logic is used later in the same file under Listen()
2020-04-21 23:49:11 +02:00
uwee
2f7053c6be
return bool to allow testing (#1756) 2020-04-21 23:48:42 +02:00
uwee
c2c1f86fe8
add HostSetup for tests (#1755) 2020-04-21 23:48:06 +02:00
uwee
c4bfb9d037
remove unused using (#1754) 2020-04-21 23:47:20 +02:00
James Frowen
2cf0fc71a7
Clean up sync object tests (#1750)
* cleaning up tests

* clearing dirty before test
2020-04-21 08:29:46 -05:00
uwee
3cf686f3b8
add base OnSetHostVisibility test (#1749)
* add base OnSetHostVisibility test

* fix code smells
2020-04-21 09:58:14 +02:00
MrGadget
2d006fe730
fix: Remove leftover AddPlayer methods now that extraData is gone (#1751) 2020-04-21 09:56:14 +02:00
James Frowen
58c89a3d32
fix: Allow sync objects to be re-used (#1744)
fixes #1714
2020-04-20 19:20:25 -05:00
Chris Langsenkamp
8798cd18ce Updated NetworkManage template 2020-04-20 18:49:21 -04:00
Paul Pacheco
3dd709ac35
Remove MarkForReset (#1747)
* Remove MarkForReset

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

* Update Assets/Mirror/Tests/Editor/NetworkServerTest.cs
2020-04-20 20:07:22 +02:00
Chris Langsenkamp
5d4bc47d46 fix: Use path instead of name in Room Example 2020-04-20 11:04:18 -04:00
Chris Langsenkamp
2a2f76c263 fix: Remove RoomPlayer from roomSlots on Disconnect 2020-04-20 11:02:45 -04:00
James Frowen
055a264660
adding return so that exception isnt throw after error (#1746) 2020-04-20 08:51:40 -05:00
Chris Langsenkamp
8e7bb44c3a Updated docs, comments, template pursuant to renaming of OnNetworkDestroy 2020-04-20 09:42:16 -04:00
Paul Pacheco
d1695dd16f
feat: new virtual OnStopServer called when object is unspawned (#1743) 2020-04-20 10:36:03 +02:00
Paul Pacheco
86ac5ad40b
Rename OnNetworkDestroy to OnStopClient (#1742)
OnNetworkDestroy is not a good name,  is it server? is it client?
you can't tell by the name.

Moreover,  we have OnStartClient,  API should be symetric so we should
have a corresponding OnStopClient.

Note this keeps backwards compatibility with an Obsolete for now
2020-04-20 10:35:34 +02:00
Chris Langsenkamp
e03c2a0ee1 restored 1bitpack_kenny metas 2020-04-19 17:32:51 -04:00
James Frowen
f17cea771e
using IsDerivedFrom instead of while loop (#1739) 2020-04-19 14:12:37 -05:00
James Frowen
a86d1cdfff
Adding error to network behaviour when generic sync object is used (#1741)
* 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
2020-04-19 19:34:05 +02:00
James Frowen
a523d5f521
using if instead of try catch (#1740) 2020-04-19 19:33:30 +02:00
James Frowen
c25b1c6043
removing old test files (#1738) 2020-04-19 12:57:58 +01:00
James Frowen
f83093893e
Weaver error messages and tests for using interfaces (#1737)
* more tests for readwriters

* updating error message

* fixing error messages
2020-04-18 22:55:17 -05:00
Chris Langsenkamp
a6258d2d70 Remove and Ignore 1bitpack_kenney png.meta files. 2020-04-18 23:33:13 -04:00
James Frowen
f6e4068ebe
removing ignored test (#1736) 2020-04-19 00:53:39 +01:00
James Frowen
24469859e5
adding error to reader (#1726)
these checks are already in writer
2020-04-18 10:52:22 +02:00
James Frowen
5c56adc1dc
feat: default log level option (#1728)
Each class can specify default log levels when requesting the logger.
2020-04-17 18:11:44 -05:00
MrGadget
21acf66190
feat: NetworkMatchChecker Component (#1688)
* 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>
2020-04-17 10:35:08 +02:00
MrGadget
cbc2a47729
fix: Don't destroy the player twice (#1709)
* fix: Don't destroy the player twice

* adding test

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-04-17 10:34:17 +02:00
MrGadget
e5b728fed5
fix: Eliminate NetworkAnimator SetTrigger double firing on Host (#1723) 2020-04-17 00:53:46 +02:00
James Frowen
df7c671604
using MemoryTransport for ULocalConnectionPerformance (#1720) 2020-04-16 19:33:13 +02:00
James Frowen
db87c961b0
fixing TearDown and removing extra calls to shutdown (#1722) 2020-04-16 19:32:51 +02:00
James Frowen
3368026b2c
adding extra performance test for NetworkIdentity (#1721) 2020-04-16 10:52:24 +02:00
James Frowen
b1644ae481
feat: Weaver can now automatically create Reader/Writer for types in a different assembly (#1708)
* 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>
2020-04-16 10:50:49 +02:00
James Frowen
58219c8f72
perf: Adding dirty check before update sync var (#1702)
* 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
2020-04-16 10:49:33 +02:00
James Frowen
17f8e9721a
re adding caching for OutputDirectory (#1719) 2020-04-15 14:06:18 -05:00
Paul Pacheco
93f7028e0d split weaver test files by test class 2020-04-15 12:14:25 -05:00
Paul Pacheco
2b1aefab39 use logger framework instead of preprocessor 2020-04-15 11:33:48 -05:00
Paul Pacheco
e109ce3e87 paths should be combined, not added 2020-04-15 09:57:45 -05:00
Paul Pacheco
c483047486 Remove unused option 2020-04-15 09:14:44 -05:00
Devon Merner
d8c121695c
networkSceneName sets to empty on StopClient and StopServer. (#1715) 2020-04-15 11:31:27 +02:00
Devon Merner
0fe6328800
feat: Added SyncList.Find and SyncList.FindAll (#1716)
fixes #1710
2020-04-14 20:51:14 -05:00
James Frowen
6383e9884f
Moving weaver tests 2 (#1706)
* adding WeaverTestsBuildFromTestName

* removing event handlers on TearDown
2020-04-14 20:04:07 -05:00
James-Frowen Laptop2
239b7b762a removing extra lines 2020-04-14 19:54:09 -05:00
James Frowen
c4d373984d Moving weaver tests into their own classes 2020-04-14 19:53:45 -05:00
uwee
af2e732adb
docs: remove mention of networkPort from NetworkManager (#1712)
fixes #1711
2020-04-14 17:37:49 +02:00
James Frowen
6e081f3d40
NetworkIdentity ServerUpdate Performance test (#1703) 2020-04-14 11:13:21 +02:00
James Frowen
c66c5a6dcc
fix: Fixing SyncVars not serializing when OnSerialize is overridden (#1671)
* 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>
2020-04-14 11:11:15 +02:00
Chris Langsenkamp
0e1aa1b305 Updated Netowork Observer template 2020-04-13 21:08:14 -04:00
MrGadget
4994193668
Make OnSetHostVisibility virtual with default functionality (#1707) 2020-04-13 20:05:08 -05:00
Chris Langsenkamp
cbe499e052 NetworkVisibility: Put methods in correct order 2020-04-13 20:17:07 -04:00
Chris Langsenkamp
6fec901a80 Updated Network Observer Template 2020-04-13 20:05:00 -04:00
James Frowen
eec45ff8fe
Adding changed check to PreprocessorDefine (#1698)
* 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>
2020-04-13 10:14:04 +02:00
Chris Langsenkamp
8aabb54929 Don't rename spawned objects 2020-04-12 21:48:41 -04:00
Paul Pacheco
003597bc11 Remove commented out code 2020-04-12 11:06:13 -05:00
Paul Pacheco
b7cef180d4 Rename local variable for clarity 2020-04-12 11:06:13 -05:00
Paul Pacheco
61cf445395 Rename method for clarity 2020-04-12 11:06:13 -05:00
Paul Pacheco
78ff826684 Fix smells 2020-04-12 11:06:13 -05:00
Paul Pacheco
2a456a0161 Reduce cognitive complexity of Weave 2020-04-12 11:06:13 -05:00
Paul Pacheco
1a2af279ca Remove unused method 2020-04-12 11:06:13 -05:00
Paul Pacheco
91920e0a6e fix code smells 2020-04-12 11:06:13 -05:00
uwee
0e84e9dd4e
smell: reduce OnGUI complexity (#1696) 2020-04-12 16:48:25 +02:00
James Frowen
f8f939fd9c
Making ULocalConnectionPerformance test clean up new objects (#1700)
stops testPlayerPrefab was causing problems with OnPostProcessScene in other runtime tests
2020-04-12 13:44:45 +01:00
James Frowen
83d1648913
changing test namespace (#1699) 2020-04-12 13:18:05 +01:00
Chris Langsenkamp
9c3f5710eb Updated docs and comments re: Network Visibility 2020-04-12 07:54:28 -04:00
James Frowen
18bd792a0b
Improving Performance Benchmark (#1695)
Taking measurements for frames and LateUpdate at same time.
2020-04-12 00:52:48 +01:00
James Frowen
9d24d45987
Adding defines to performance tests (#1690)
* adding defines

* adding versionDefines
2020-04-11 20:59:42 +02:00
James Frowen
24e2af098f
changing namespaces of performance tests (#1689) 2020-04-11 17:30:18 +01:00
Chris Langsenkamp
25ee8540f9 breaking: Network Visibility Component 2020-04-11 11:56:21 -04:00
vis2k
70ddf92a5c
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
2020-04-11 15:37:35 +02:00
Paul Pacheco
6e92bf5616
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>
2020-04-11 13:21:14 +02:00
James Frowen
c0a82a86ea
Logger editor (#1613)
* window for mirror log levels

* applying suggestions
2020-04-10 13:20:05 -05:00
MrGadget
e7cfd5a498
fix: Check SceneManager GetSceneByName and GetSceneByPath (#1684)
* fix: Check SceneManager GetSceneByName and GetSceneByPath

* Fix example too.
2020-04-10 11:26:37 -05:00
Paul Pacheco
55e075c872 fix: stack overflow getting logger 2020-04-10 11:14:20 -05:00
Paul Pacheco
de87634ec5 Some extension methods for convenient migration 2020-04-10 11:11:51 -05:00
Paul Pacheco
f9328c771c feat: logger factory works for static classes by passing the type 2020-04-10 10:51:42 -05:00
MrGadget
bc37497ac9
fix: Re-enable transport if aborting additive load/unload (#1683)
* fix: Re-enable transports if aborting additive load/unload

* Restore debug if's
2020-04-10 11:42:38 -04:00
James Frowen
95705a1545
Moving error check to when cache is created (#1682)
* 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>
2020-04-10 17:15:24 +02:00
vis2k
0b44ccee99 syntax 2020-04-10 10:06:37 +02:00
James Frowen
f0579835ca
perf: Increasing Network Writer performance (#1674)
* Increasing performance of network writer

* Using Array.Clear

renaming value to newLength

* Update Assets/Mirror/Tests/Editor/NetworkWriterTest.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* adding braces

* extracting EnsureCapacity method

* Update NetworkWriter.cs

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
2020-04-10 09:45:09 +02:00
Chris Langsenkamp
c1fe2124d8 Removed SpawnWithClientAuthority from comments and docs 2020-04-09 16:51:41 -04:00
James Frowen
8ce65045c8
Benchmark performance test 2 - Idle benchmark (#1662)
* adding bool to stop health updating

* idle benchmark

* using FindObjectsOfType instead of static field
2020-04-09 09:40:37 +02:00
James Frowen
7e7ffcd892
Adding report to performance test readme 2020-04-08 16:24:39 +01:00
James Frowen
7a06815d75
adding static check before adding this arg (#1668) 2020-04-07 19:50:48 +02:00
James Frowen
60678d9bc7
adding readme (#1672) 2020-04-07 12:30:57 -05:00
James Frowen
4fc58be148
making network behaviour abstract (#1669) 2020-04-07 10:23:09 +02:00
James Frowen
17885a0da2
Adding comments to NetworkBehaviour (#1670) 2020-04-07 00:33:15 +01:00
James Frowen
f8dee1f1a1
removing unnecessary using (#1667) 2020-04-06 09:56:26 -05:00
James Frowen
75dc0af65f
Pipeline fix for performance tests (#1666)
* updating coverage manifest

* removing version tag
2020-04-06 09:42:47 -05:00
James Frowen
52e91e7d1e
Benchmark performance test (#1661)
* benchmark performance test

* adding hooks for performance test

* using hooks to measure time of Lateupdate

moving code to setup and teardown
2020-04-06 09:49:46 +02:00
Chris Langsenkamp
532555bbea Put methods in call order 2020-04-04 12:03:08 -04:00
James Frowen
34415fe876
performance test for ULocalConnection (#1655) 2020-04-04 15:03:05 +02:00
James Frowen
3219fd4b51
performance test for NetworkWriter (#1654) 2020-04-04 15:02:48 +02:00
James Frowen
0157f9d909
adding performance test asmdef (#1653)
* adding performance test asmdef

* adding performance tests to packages

* fixing asmdef to work with 2018 and 2019
2020-04-04 14:21:53 +02:00
Paul Pacheco
84b2c8cf26
perf: Use continuewith to queue up ssl messages (#1640)
get rid of the complicated queue. Use Task.continuewith 

also,  apparently we have to flush or latency is really bad.
2020-04-03 07:24:07 -05:00
James Frowen
2ef8404f82
adding Category to weaver and Telepathy tests (#1643) 2020-04-02 18:50:42 +02:00
James Frowen
456fde07bc
removing cahced field (#1641) 2020-04-02 18:49:38 +02:00
James Frowen
4d5cee893d
perf: Adding buffer for local connection (#1621)
* 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
2020-04-02 18:49:09 +02:00
Chris Langsenkamp
caccebaa17 Updated example prefabs 2020-04-02 01:11:11 -04:00
Chris Langsenkamp
a6f98b09cf Updated NetworkManager Script Template 2020-04-01 23:49:47 -04:00
Paul Pacheco
6591539c31 Remove unused local variable 2020-04-01 12:02:44 -05:00
Chris Langsenkamp
e420dcb6b6 Fixed comment in template 2020-04-01 05:33:16 -04:00
MrGadget
d2a58a4c25
fix: Destroyed NetMan due to singleton collision must not continue. (#1636)
* fix: Destroyed NetMan due to singleton collision must not continue.

* Added comment

* Added Comment
2020-04-01 11:29:35 +02:00
Paul Pacheco
f2ccb59ae6
feat: logging api (#1611)
* 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
2020-04-01 11:27:51 +02:00
James Frowen
4fea1ee9b3
making singleton private set (#1635) 2020-04-01 01:11:45 +02:00
James Frowen
8087d3da7d
explicit type preference (#1634) 2020-03-31 22:57:47 +02:00
James Frowen
2617d65ad1
removing unnecessary this (#1633) 2020-03-31 22:57:27 +02:00
James Frowen
1e326ce6fe
removing unnecessary casts (#1632) 2020-03-31 22:56:54 +02:00
James Frowen
7dde2f80fe
removing and sort using (#1631) 2020-03-31 22:56:30 +02:00
James Frowen
f19e2d3aac
more formatting (#1630) 2020-03-31 22:55:58 +02:00
James Frowen
c6501aab06
formatting (#1629) 2020-03-31 12:15:30 -05:00
Chris Langsenkamp
7f208ffba9 Updated Comments 2020-03-30 22:28:59 -04:00
James Frowen
1ae038172a
perf: faster NetworkReader pooling (#1623)
* replacing stack with array for NetworkReaderPool

* Reader tests
2020-03-30 17:08:21 +02:00
James Frowen
f9335bb5f3
Finding WeaverAssembler path before running tests (#1608)
* Finding WeaverAssembler path before running tests

* using nameof
2020-03-30 14:45:36 +02:00
James Frowen
dcb618bfd6
fixing MissingReferenceException (#1624) 2020-03-29 21:39:18 -04:00
Paul Pacheco
deb286f0c2 refactor: simplify getting hook method 2020-03-29 14:25:07 -05:00
Paul Pacheco
518233cd7e This is always true 2020-03-29 14:11:54 -05:00
Paul Pacheco
69fdbea892 Unused using 2020-03-29 14:11:54 -05:00
James Frowen
da2e61b30a
doc comments (#1622) 2020-03-29 11:41:21 -05:00
vis2k
254a49496f NetworkWriterPool: add performance comment 2020-03-29 17:33:03 +02:00
vis2k
d865dddb4e 10k demo: deterministic health updates 2020-03-29 17:29:11 +02:00
James Frowen
4fa43a9471
perf: faster NetworkWriter pooling (#1620)
* using array in NetworkWriterPool instead of stack

* Using property

adding debug warning if pool is full

* adding tests for  NetworkWriterPool

* Update NetworkWriterPool.cs

* Update NetworkWriterPoolTest.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-03-29 17:16:16 +02:00
Paul Pacheco
e96b687563 Revert "perf: faster NetworkWriter pooling (#1616)"
This reverts commit 5128b122fe.
2020-03-28 19:04:06 -05:00
Paul Pacheco
96e690ef9c Revert "Explain why 10"
This reverts commit e8cdb7569d.
2020-03-28 19:03:53 -05:00
Paul Pacheco
e8cdb7569d Explain why 10 2020-03-28 18:14:48 -05:00
James Frowen
e12f33d306
fixing MissingReferenceException (#1619) 2020-03-28 15:00:48 -04:00
James Frowen
5128b122fe
perf: faster NetworkWriter pooling (#1616)
Stack turned out to be slow way to pool NetworkWriters.
Replace them with an array

see #1614
2020-03-28 12:58:00 -05:00
Paul Pacheco
61163cacb4
perf: replace isValueType with faster alternative (#1617)
According to vis benchmark here https://github.com/vis2k/Mirror/issues/1614#issuecomment-605443808
isValueType is an expensive operation.

This microoptimization replaces isValueType for a faster (not so readable) alternative
2020-03-28 12:27:42 -05:00
Paul Pacheco
166b8c9467
perf: use byte[] directly instead of MemoryStream (#1618)
* perf: use byte[] directly instead of MemoryStream

* Optimize writing int32 and int64

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkWriter.cs

* Start with bigger buffer

* Woops,  should have double checked suggestion

* Removed invalid Test

We should not require NetworkWriter to behave in certain way when Position
is set to out of bounds.

That is an invalid use of NetworkWriter, so NW should be free to do any behavior

* smells

* Update NetworkWriter.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-03-28 18:17:53 +01:00
vis2k
a4bd6e7e66
Examples: added 10k monsters benchmark (#1615)
* scene and 1bit from kenney

* tilemap

* slice sprites

* name some

* create empty tile

* 2d cam

* monster prefab

* 100 monsters

* monster netid

* rename

* zoom cam, 10k monsters

* resave scene for sceneids

* Monster script

* add transparent textures for monsters

* replace monster sprite with transparent

* scripts

* mvoed into benchmarks folder

* player sprite

* tilemap background

* player prefab

* health update
2020-03-28 13:03:19 +01:00
Paul Pacheco
3fb7559561 remove redundant code block 2020-03-27 17:25:33 -05:00
Paul Pacheco
f56471085f Fix typos in tests 2020-03-27 17:21:24 -05:00
Paul Pacheco
10813cb9eb Reduce cognitive complexity of GenerateClassOrStructReadFunction 2020-03-27 17:14:39 -05:00
Paul Pacheco
ef80575787 Remove redundant code block 2020-03-27 17:06:59 -05:00
Paul Pacheco
6587c1f7b9 Better comment 2020-03-27 17:03:40 -05:00
Paul Pacheco
1f8b27e927 Remove unused using 2020-03-27 17:02:59 -05:00
Lymdun
5d76afbe29
perf: Remove redundant mask (#1604) 2020-03-27 11:34:56 +01:00
Paul Pacheco
dbe1365329 fix naming convention 2020-03-26 23:15:09 -05:00
Paul Pacheco
1d4eed77ed Simplify getting methods 2020-03-26 19:28:17 -05:00
James Frowen
c6023c8275
unit test for IsActiveScene (#1597) 2020-03-27 00:22:46 +01:00
Paul Pacheco
c1cfc42181 perf: simplify and speed up getting methods in weaver 2020-03-26 17:35:15 -05:00
Paul Pacheco
ebc817028b reduce cognitive complexity of CheckForHookFunction 2020-03-26 17:35:15 -05:00
Paul Pacheco
c6e8717909 simplify getting attribute fields 2020-03-26 17:35:15 -05:00
Chris Langsenkamp
5146e95fe0 Udpated scene file 2020-03-26 18:15:44 -04:00
vis2k
6151edc730 rename test 2020-03-26 21:27:47 +01:00
vis2k
e059b23a7f
NetworkManager.StopHost stops client, then server. Seems more consistent this way. (#1602) 2020-03-26 21:10:16 +01:00
vis2k
678ac68b58
fix: #1515 - StopHost now invokes OnServerDisconnected for the host client too (#1601)
* fix: #1515 - StopHost now invokes OnServerDisconnected for the host client too

* avoid NullReferenceException when calling StopHost without StartHost

* test WIP

* test
2020-03-26 20:54:53 +01:00
Paul Pacheco
c8a1a5e56f
feat: now you can assign scenes even if not in Editor (#1576)
* feat: now you can assign scenes even if not in Editor

Instead of using scene name, scenes are now identified by path.
This fixes a couple problems:

1) In the room example, now you can assign the scenes even if they have
not been added to the editor.  This was a constant pain because if you
open the offlinescene, all the scenes got wiped.  You had to add the
scenes to the editor and reassign them all again.   With this PR you
will still need to add them to the editor, but they will remain
assigned.

2) It is possible for multiple scenes to have the same name,  but it is
not possible for multiple scenes to have the same path. So this is
a more robust way to identify scenes

This also greatly simplifies the scene SceneDrawer

BREAKING CHANGE: You will need to reassign your scenes after upgrade

* Automatically fix properties that were using name

If you open a NetworkManager or other gameobject that uses a scene name
it now gets converted to scene path by the SceneDrawer

* Use get scene by name

* Scene can never be null

* Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity

* Issue warning if we drop the scene

* Issue error if scene is lost

* Add suggestion on how to fix the error

* Keep backwards compatibility, check for scene name

* cache the active scene

* Update Assets/Mirror/Editor/SceneDrawer.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

* GetSceneByName only works if scene is loaded

* Remove unused using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-03-26 17:49:47 +01:00
vis2k
8c6ae0f8b4
fix: #1599 - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (#1600) 2020-03-26 17:34:16 +01:00
Paul Pacheco
7a6b854179 Simplify finding custom attributes 2020-03-26 09:52:39 -05:00
Paul Pacheco
d530d7a1e4 Lists are not needed anymore 2020-03-26 07:50:16 -05:00
Paul Pacheco
97fe7a0a01 Simplify adding substitute methods 2020-03-26 07:46:15 -05:00
Paul Pacheco
9c4d172664 reduce Cognitive complexity 2020-03-26 00:36:15 -05:00
Paul Pacheco
486b094b22 reduce Cognitive complexity 2020-03-26 00:33:04 -05:00
Paul Pacheco
559cf80755 parameter name matches base class 2020-03-26 00:25:35 -05:00
Paul Pacheco
910aeab4eb fix smells 2020-03-26 00:24:20 -05:00
Paul Pacheco
3029467709 fix flaky test 2020-03-26 00:17:22 -05:00
Paul Pacheco
de768d142f Remove redundant if 2020-03-25 05:02:04 -05:00
Paul Pacheco
62525a9b4b Use List instead of yield return 2020-03-25 04:53:20 -05:00
Paul Pacheco
307807d68c Use List instead of yield return 2020-03-25 04:53:20 -05:00
vis2k
ad39ddc92f
NetworkTransform rotation compression removed. Gets rid of endless discussions, optimizations and issues. Sending a quaternion is never going to fail. (#1595)
* NetworkTransform rotation compression removed. Gets rid of endless discussions, optimizations and issues. Sending a quaternion is never going to fail.

* keep empty file

* keep empty file
2020-03-25 10:18:07 +01:00
Chris Langsenkamp
ef2f6b45bc Removed noisy warning and added reason in comments 2020-03-24 23:56:52 -04:00
Chris Langsenkamp
111ae51102 Room Example shows how to get Network Manager out of DontDestroyOnLoad 2020-03-24 22:04:54 -04:00
Chris Langsenkamp
d034ef616f feat: Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template 2020-03-24 22:02:01 -04:00
Paul Pacheco
8026f6dcac unnest ifs 2020-03-24 20:17:03 -05:00
Paul Pacheco
0541b339ed Merge ifs, fix smells 2020-03-24 20:14:43 -05:00
Paul Pacheco
9c917c582e Remove unused using 2020-03-24 20:09:05 -05:00
Paul Pacheco
2a3470dfb4 Helpers should not be instantiated 2020-03-24 20:08:42 -05:00
Paul Pacheco
b740b2487b this is not code 2020-03-24 20:07:30 -05:00
Paul Pacheco
260e37cbb2 Reduce cognitive complexity of OnCompilationFinished 2020-03-24 20:04:34 -05:00
Paul Pacheco
6f04ff77d7 Remove commented out code 2020-03-24 20:02:49 -05:00
Paul Pacheco
48cf45b8ce Remove unused method 2020-03-24 20:01:55 -05:00
Paul Pacheco
f4bc7ca691 use same parameter name in override 2020-03-24 20:01:00 -05:00
Paul Pacheco
433818b440 Remove cognitive complexity of NetworkInformation
Split up large method,
Use static variables instead of fields
2020-03-24 19:58:39 -05:00
Chris Langsenkamp
85c4f1bcf1 Remove unused variable 2020-03-24 17:58:04 -04:00
vis2k
347cb5374d
fix: #1593 - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (#1594)
* fix: #1593 - NetworkRoomManager.ServerChangeScene destroys the world player after replacing the connection, not before. previously ReplacePlayerForConnection would operate on dead data.

* remove it entirely
2020-03-24 22:28:04 +01:00
Paul Pacheco
9a50fbd507 Remove redundant initialization 2020-03-24 15:59:17 -05:00
Paul Pacheco
9fe718e8d5 playerName -> PlayerName 2020-03-24 15:59:17 -05:00
Paul Pacheco
72de733a62 remove redundant initialization 2020-03-24 15:59:17 -05:00
Paul Pacheco
1be3333905 Move ResolveMethod together 2020-03-24 15:59:17 -05:00
Paul Pacheco
25b13f83c2 CheckDLLPath -> CheckDllPath 2020-03-24 15:59:17 -05:00
Paul Pacheco
f74abc8f86 UnityEngineDLLDirectoryName -> UnityEngineDllDirectoryName 2020-03-24 15:59:17 -05:00
Paul Pacheco
e83daa8c5c drawSyncList -> DrawSyncList 2020-03-24 15:59:17 -05:00
MrGadget
c796116758
Remove Usage of LAN in HUD and Docs (#1592)
* Remove usage of LAN in HUD and docs

* Server + Client

* Host (Server + Client)

* HUD Image
2020-03-24 21:55:18 +01:00
Paul Pacheco
4c15fcf771 fix naming conventions 2020-03-24 15:25:54 -05:00
Paul Pacheco
6968234689 Reduce cognitive complexity of OnPostProcessScene
Fixes smell found by sonar qube
No code changes, just split into 2 functions
2020-03-24 15:20:42 -05:00
Paul Pacheco
e841aa9bf7 merge ifs 2020-03-24 15:10:32 -05:00
Paul Pacheco
9cc67938c3 remove redundant cast 2020-03-24 15:08:29 -05:00
Paul Pacheco
2d554d446e Reduce cognitive complexity of RebuildObservers
Identified as a smell by sonar qube
No logic changes, just refactor the code into a separate functions
2020-03-24 14:52:19 -05:00
Chris Langsenkamp
f084706bdf Scene meta update 2020-03-24 15:28:34 -04:00
Paul Pacheco
c69ae75d6a simplify parameter change 2020-03-24 13:47:10 -05:00
Paul Pacheco
aba028e74b Reduce cognitive complexity of NetworkRoomPlayer.OnGUI
fixes code smell in SQ, no behavior change,  just split the method into
smaller methods
2020-03-24 12:52:02 -05:00
Paul Pacheco
102a8822b0 fix smell discard unused parameter 2020-03-24 12:52:02 -05:00
Paul Pacheco
e8c9d7951d test that we cannot unpack the wrong message 2020-03-24 10:37:54 -05:00
Paul Pacheco
a7ab26fa7d Simplify tests 2020-03-24 08:31:19 -05:00
Paul Pacheco
4a9dca3c1c Simplify tests 2020-03-24 08:16:19 -05:00
Paul Pacheco
1362b80eb4 A test should only test one thing 2020-03-24 08:11:42 -05:00
Paul Pacheco
f6bb3a9f06 use Assert.Throws 2020-03-24 08:09:41 -05:00
Paul Pacheco
2714be3869 Remove unused using 2020-03-24 08:04:42 -05:00
Paul Pacheco
3321dd8a95 Move NSubstitute to common folder, It will be used in play mode tests 2020-03-24 08:03:22 -05:00
Paul Pacheco
19a17c15b9 MemoryTransport is only for tests 2020-03-24 08:01:39 -05:00
vis2k
9e26b26689
NetworkIdentity.isServer simplified via one flag instead of helper variable + netId check. When isServer is set in OnStartServer, netId is set to != 0 in any case, so the previous check was unnecessary. (#1590)
* NetworkIdentity.isServer simplified via one flag instead of helper variable + netId check

* simplify teardowns

* NetworkIdentityTests can set isServer directly now

* networkbehaviourtests simplified

* NetworkServerTests can set isServer directly now

* remove comment
2020-03-24 11:25:04 +01:00
vis2k
9d088bc942
fix #1484: isServer state in NetworkIdentity is not dependent on NetworkServer.active anymore. Fixes a bug where isServer was already false in OnDestroy, but we sometimes still need it there to save a player etc. Also added a test to prevent it in the future. (#1585)
* fix #1484: revert isServer simplifiy. Fixes a bug where isServer was already false in OnDestroy, but we need sometimes still need it there to save skillbars etc.

* update comment
2020-03-24 11:07:40 +01:00
vis2k
2f87f3cca7 Runtime tests setup 2020-03-24 10:52:14 +01:00
Paul Pacheco
613356a6d0 fix smell, call parameter the same as base method 2020-03-23 10:29:45 -05:00
Paul Pacheco
0beba4dd2b fix smell, call parameter the same as base method 2020-03-23 10:28:49 -05:00
Paul Pacheco
f4a8692873 fix smell, keep parameter name in override 2020-03-23 10:27:51 -05:00
Paul Pacheco
bb655de71b fix smell keep overloaded methods together 2020-03-23 10:26:25 -05:00
Paul Pacheco
3a73a11a55 fix smell, use pascal case 2020-03-23 10:22:06 -05:00
Paul Pacheco
effb05e732 fix smells 2020-03-23 10:21:45 -05:00
James Frowen
cf55333a07
fix: overriden hooks are invoked (fixes #1581) (#1584)
* failing tests for virutal methods used by syncvar hook

* replacing Assert.fail to stop OnDeserialize failed error

* adding tests to make sure classes are set up correctly

* fix: call overriden hooks

Use a virtual call for hooks.  fixes #1581

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-03-23 14:06:24 +01:00
James Frowen
c7c3ee4ab9
Tests for SyncLists that use structs (#1583) 2020-03-22 17:05:50 -05:00
Paul Pacheco
addf847675
Move comments to previous line (#1579)
* Move comments to the previous Lines

We have a mix of comments at on the previous line and at the end of
the line. We need to "pick one way and stick with it".

Per the C# code guidelines, comments go on the previous line. See here:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

This also makes pull requests more readable since comments are less
likely to wrap

There are no code changes here, just a search and replace for all comments

This also makes cloc counts more accurate as it can better determine
how many lines of comments vs code we have

* Update Assets/Mirror/Components/NetworkTransformBase.cs

* Update Assets/Mirror/Examples/ListServer/ListServer.cs

* Update Assets/Mirror/Tests/Editor/WeaverTests~/TestingScriptableObjectArraySerialization.cs

* Update Assets/Mirror/Tests/Editor/WeaverTests~/TestingScriptableObjectArraySerialization.cs
2020-03-21 19:31:10 +01:00
MrGadget
b627779acd
fix: Make SendToReady non-ambiguous (#1578) 2020-03-21 11:33:35 -05:00
James Frowen
ad10ca115e
Weaver test for adding guard code (#1574)
* Adding check to make sure weaver adds code

* tests for network behaviour

* marking methods as static

* adding comment to method body

* making Weaver internal

* replacing string
2020-03-21 16:03:48 +01:00
James Frowen
0eb180555d
Fixing exceptions (#1569)
* removing another use of serializedObject

breaks when target is null

* adding check if target is NetworkBehaviour

* moving check from OnInspectorGUI
2020-03-21 14:46:02 +01:00
MrGadget
3156504270
fix: Added LogFilter.Debug check in a few places (#1575) 2020-03-21 14:42:33 +01:00
Chris Langsenkamp
4d827cd9f6 fix: comment punctuation 2020-03-20 20:30:35 -04:00
Chris Langsenkamp
cedbd8fb7a Make roomPlayerPrefab protected so it can be referenced in derived classes 2020-03-20 20:23:16 -04:00
Chris Langsenkamp
a8c4d6682e Fixed Template 2020-03-20 19:22:38 -04:00
James Frowen
d9cc73eabe
moving code to its own class (#1573)
* moving code to its own class

* using code suggestions
2020-03-20 22:21:01 +01:00
Paul Pacheco
59687675c9 Fix sonarqube null warning
Once upon a time, connections could be null here.  This is no longer
the case, connections always have something,

Even if they were null,  this method would not work at all because
the conn.Send call at the bottom would throw NRE.

Therefore the null checks here are unnecesary
2020-03-20 08:01:33 -05:00
FirstGearGames
57eff86e3f
Change LogError to Log. Added more details. (#1545)
Since messages behave similar to events and given the process is not technically breaking, using LogError seems incorrect. Using Log, maybe LogWarning would be more appropriate. Added additional text to clarify why the user may be seeing that log entry.
2020-03-20 10:56:02 +01:00
James Frowen
e040e6dc85
Removing use of serialized object (#1568)
using serializedObject causes AgumentException if target is null
2020-03-19 21:56:34 -05:00
James Frowen
c7c3ea8e0f
Moving draw synclist to class (#1566)
creating SyncListDrawer
2020-03-19 21:32:00 -05:00
James Frowen
a520c0e41d
Simplifying get type (#1567)
* adding IsParameterControlledByCurve check

* Simplifying GetType

Adding Warning because target is only null is something has gone wrong

* removing serializedObject.update

we dont use any values from serializedObject so we dont need to call update
2020-03-19 21:31:08 -05:00
James Frowen
421832f650
Cleaning up network behaviour inspector (#1565)
split large method into smaller ones
2020-03-19 20:46:53 -05:00
James Frowen
cc4032e236
Adding header before sync list (#1564)
matches untiy's Header style
2020-03-19 20:04:48 -05:00
James Frowen
55107115c6
feat: SyncSet and SyncDictionary now show in inspector (#1561)
SyncSet and SyncDictionary now show in inspector
2020-03-19 20:02:51 -05:00
Paul Pacheco
6b0fa18e0f Remove unused HideScriptField 2020-03-19 19:28:47 -05:00
Paul Pacheco
5571716749 Remove unused initialize field 2020-03-19 19:25:33 -05:00
James Frowen
b8c87d9053
fix: show private serializable fields in network behavior inspector (#1557)
* adding IsParameterControlledByCurve check

* Adding all visible syncvar fields to syncVarNames

old code only included public sync var fields
new code includes public and private fields with "SerializeField"

* adding comment

* adding method comment

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-03-19 18:52:31 -05:00
James Frowen
55767bb54d
Fixing syncs anything (#1560)
* adding IsParameterControlledByCurve check

* Fixing SyncsAnything

old code would not work with custom SyncObjects
2020-03-19 18:40:57 -05:00
James Frowen
98ecf7b647
Moving initialize code to onenable (#1558)
* adding IsParameterControlledByCurve check

* Moving Init code to OnEnable

the initialized bool is redundant

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-03-19 18:36:37 -05:00
James Frowen
b4ff4f2ce1
Using draw default inspector (#1559)
* adding IsParameterControlledByCurve check

* using DrawDefaultInspector

Now that SyncVar has a drawer this code is redundant
2020-03-19 18:29:55 -05:00
Chris Langsenkamp
e946c79194 fix: Fixed ClienRpc typos 2020-03-18 19:02:58 -04:00
James Frowen
cf8b979cce
adding IsParameterControlledByCurve check (#1547) 2020-03-18 17:30:16 +01:00
MrGadget
2d1b142276
fix: Prevent Double Call of NetworkServer.Destroy (#1554)
* fix: Prevent Double Call of NetworkServer.Destroy

* doc: Updated ChangeLog

* Extended comments and added LogWarning
2020-03-18 17:25:22 +01:00
James Frowen
35d7c9ddb4
adding PropertyDrawer for syncvar (#1552)
This fixing position of label with HeaderAttribute
This will also make sure that label is shown for all visable fields
2020-03-18 09:36:10 +01:00
Chris Langsenkamp
6f617f92e3 Added Tooltips and Headers to NetworkRoomManager and NetworkRoomPlayer 2020-03-17 23:47:57 -04:00
Chris Langsenkamp
a4ffcbe280 fix: Updated NetworkRoomPlayer inspector and doc and image 2020-03-17 19:22:53 -04:00
MrGadget
46c80bdc2e
Reverted 6431c28a (#1553) 2020-03-17 19:08:47 -04:00
vis2k
4faec29559
removed obsoletes (#1542)
* lobby

* networkroommanager

* networkanimatoreditor

* networkidentityeditor

* preprocessordefine

* clientscene

* customattributes

* localclient

* messages

* networkbehaviour

* networkclient

* networkconnection

* networkidentity

* networkmanager

* networkserver

* networkwriter

* syncdictionary

* synclist

* unetwork

* transport

* networkmessage

* remove leftover obsoletes

* NetworkServer

* NetworkManager

* NetworkRoomManager

* NetworkRoomManager

* AddPlayerMessage

* NetworkLobbyManager & NetworkLobbyPlayer

* PreprocessorDefine

* Removed usings

* Commented test class

* Restored NetworkMessage as empty file

* Removed SyncVarSTRUCT tests

* Removed SyncVarSTRUCT tests

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>

leaving a few ones still in there:

addplayermessage
llapi because still useful
networkbehaviour.getrpchandler for networkprofiler

BREAKING CHANGE: removed obsoletes
2020-03-17 15:25:36 -05:00
Chris Langsenkamp
7bd137847d Added Deprecated Comment 2020-03-17 11:03:00 -04:00
Paul Pacheco
658847b096
fix: Command and Rpc debugging information (#1551)
When replacing command and rpc methods,  we now correctly move over
the debugging information.

Now you can put breakpoints in commands and Rpc

Should fix #1550
2020-03-16 18:50:14 -05:00
Paul Pacheco
0b84d4c5e1 fix: Report correct channel to profiler in SendToObservers 2020-03-15 11:54:39 -05:00
vis2k
20a2d09d07 fix: NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again 2020-03-09 21:54:19 +01:00
vis2k
165a1dd94c fix: NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again 2020-03-09 21:51:17 +01:00
vis2k
76dd0c83bf syntax 2020-03-09 16:50:32 +01:00
vis2k
c928ef2353 syntax 2020-03-09 16:39:31 +01:00
vis2k
5801051a29 Weaver Helpers: remove unused AddSearchDirectoryHelper 2020-03-09 16:23:51 +01:00
vis2k
a26a0a39e2 syntax 2020-03-09 16:22:27 +01:00
vis2k
eb4ccd54b7 syntax 2020-03-09 16:21:36 +01:00
vis2k
83c8beac5e NetworkClientTests: Send 2020-03-09 11:23:28 +01:00
vis2k
df0ec137d0 NetworkClientTests: DisconnectInHostMode 2020-03-09 11:12:22 +01:00
vis2k
53165d2096 NetworkClientTests: ConnectUri 2020-03-09 11:05:59 +01:00
vis2k
572866410f Tests: MemoryTransport server connection id changed from 0 to 1 because 0 is reserved for localhost and will be rejected 2020-03-09 11:05:48 +01:00
vis2k
fe94b74009 Tests: MemoryTransport LateUpdate exposed so we can process messages 2020-03-09 11:05:19 +01:00
vis2k
f26ba488b8 NetworkClientTests: isConnected 2020-03-09 10:51:41 +01:00
vis2k
f9b8914e6d NetworkClientTests: serverIp 2020-03-09 10:47:44 +01:00
Chris Langsenkamp
4b27388771 Removed StartHost from ScriptTemplate 2020-03-08 11:19:13 -04:00
Paul Pacheco
f1860e3db9 test: test for obsolete should also be obsolete 2020-03-08 09:12:10 -05:00
vis2k
b74ef10780 NetworkBehaviourTests: OnStartLocalPlayer 2020-03-07 20:50:55 +01:00
vis2k
d48ab55ede NetworkBehaviourTests: OnStartClient 2020-03-07 20:50:01 +01:00
vis2k
ad0788fb95 NetworkBehaviourTests: OnNetworkDestroy 2020-03-07 20:48:42 +01:00
vis2k
35ab00f4eb NetworkBehaviourTests: SerializeAndDeserializeObjectsAll 2020-03-07 20:42:52 +01:00
vis2k
d703072768 NetworkBehaviour.DeSerializeObjectsDelta made internal so it can be tested 2020-03-07 20:42:42 +01:00
vis2k
d5b7802ae3 NetworkBehaviourTests: SerializeAndDeserializeObjectsAll 2020-03-07 20:38:58 +01:00
vis2k
2ff53580ba NetworkBehaviour: DeSerializeObjectsAll made internal so we can test it 2020-03-07 20:38:46 +01:00
vis2k
07530a301f NetworkBehaviourTests: DirtyObjectBits 2020-03-07 20:31:30 +01:00
vis2k
a4e0b32713 NetworkBehaviour.DirtyObjectBits made internal so it can be tested 2020-03-07 20:31:19 +01:00
vis2k
f12048a5c8 NetworkBehaviourTests: ClearAllDirtyBitsClearsSyncObjectsDirtyBits 2020-03-07 20:21:06 +01:00
vis2k
81c86d3d80 NetworkBehaviourTests: ClearAllDirtyBitsClearsSyncVarDirtyBits 2020-03-07 20:15:57 +01:00
vis2k
258d3bed02 NetworkBehaviourTests: GetSyncVarNetworkIdentityOnClientNull 2020-03-07 18:57:06 +01:00
vis2k
29035aaa7e NetworkBehaviourTests: GetSyncVarNetworkIdentityOnClient 2020-03-07 18:56:54 +01:00
vis2k
c84cbe38de NetworkBehaviourTests: GetSyncVarNetworkIdentityOnServerNull 2020-03-07 18:56:45 +01:00
vis2k
ed71ab0824 NetworkBehaviourTests: GetSyncVarNetworkIdentityOnServer 2020-03-07 18:56:34 +01:00
vis2k
b81a48ff36 NetworkBehaviourTests: SetSyncVarNetworkIdentityZeroNetId 2020-03-07 18:54:04 +01:00
vis2k
abcecf1eaf NetworkBehaviourTests: SetSyncVarNetworkIdentityNull 2020-03-07 18:53:56 +01:00
vis2k
356a054109 NetworkBehaviourTests: SetSyncVarNetworkIdentityWithValidObject 2020-03-07 18:53:47 +01:00
vis2k
006d3d5660 NetworkBehaviourTests: GetSyncVarGameObjectOnClientNull 2020-03-07 18:36:47 +01:00
vis2k
01a16581b3 NetworkIdentityTests: GetSyncVarGameObjectOnClient 2020-03-07 18:35:26 +01:00
vis2k
8acdd76699 NetworkBehaviourTests: GetSyncVarGameObjectOnServerNull 2020-03-07 18:31:28 +01:00
vis2k
c6c1a36559 NetworkBehaviourTests: GetSyncVarGameObjectOnServer 2020-03-07 18:29:54 +01:00
vis2k
f51e587c67 remove old empty Telepathy.dll + meta file. This causes a confusing 'failed to parse meta file' warning in Unity 2019.3, and we don't need it anymore anyway. UNET never had Telepathy. 2020-03-07 18:02:44 +01:00
vis2k
7006313aad NetworkBehaviourTests: SetSyncVarGameObjectZeroNetId 2020-03-07 18:00:12 +01:00
vis2k
9ff2a60e7a NetworkBehaviourTests: SetSyncVarGameObjectWithoutNetworkIdentity 2020-03-07 17:57:04 +01:00
vis2k
be422c9fda NetworkBehavourTests: SetSyncVarGameObjectNull 2020-03-07 17:40:45 +01:00
vis2k
ab8da21853 tests: syncInterval 0 for isdirty to work 2020-03-07 17:40:37 +01:00
vis2k
87eecc5d3f clean up too 2020-03-07 17:38:16 +01:00
vis2k
971a499a82 NetworkBehaviourTests: SetSyncVarGameObjectWithValidObject 2020-03-07 17:36:42 +01:00
vis2k
9687168ea4 NetworkBehaviourTests: SyncVarNetworkIdentityEqualUnspawnedIdentityZeroNetIdIsTrue 2020-03-07 14:55:22 +01:00
vis2k
e4e540c602 NetworkBehaviourTests: SyncVarNetworkIdentityEqualUnspawnedIdentity 2020-03-07 14:55:20 +01:00
vis2k
a9f83bb8bc NetworkBehaviourTests: SyncVarNetworkIdentityEqualValidIdentityWithSameNetId 2020-03-07 14:55:18 +01:00
vis2k
1408e8de42 NetworkBehaviourTests: SyncVarNetworkIdentityEqualValidIdentityWithDifferentNetId 2020-03-07 14:55:16 +01:00
vis2k
c9a3a0dceb NetworkBehaviourTests: SyncVarNetworkIdentityEqualNull 2020-03-07 14:55:14 +01:00
vis2k
f9c9e140f5 NetworkBehaviourTests: SyncVarNetworkIdentityEqualZeroNetIdNullIsTrue 2020-03-07 14:55:11 +01:00
vis2k
cdf86ee3c8 NetworkBehaviour.SyncVarNetworkIdentityEqual made internal so it can be tested. will be made static soon anyway. 2020-03-07 14:55:09 +01:00
vis2k
a67db0df86 NetworkBehaviourTests: SyncVarGameObjectEqualUnspawnedGOZeroNetIdIsTrue 2020-03-07 14:45:54 +01:00
vis2k
b400f4a04a NetworkBehaviourTests: SyncVarGameObjectEqualUnspawnedGO 2020-03-07 14:45:51 +01:00
vis2k
5506503da4 NetworkBehaviourTests: SyncVarGameObjectEqualValidGOWithSameNetId 2020-03-07 14:45:49 +01:00
vis2k
a3ae46f8f4 NetworkBehaviourTests: SyncVarGameObjectEqualValidGOWithDifferentNetId 2020-03-07 14:45:47 +01:00
vis2k
46a13a2c2a NetworkBehaviourTests: SyncVarGameObjectEqualZeroNetIdAndGOWithoutIdentityComponentIsTrue 2020-03-07 14:45:45 +01:00
vis2k
8edad03328 NetworkBehaviourTests: SyncVarGameObjectEqualZeroNetIdNull 2020-03-07 14:45:43 +01:00
vis2k
08f426970a NetworkBehaviourTests: SyncVarGameObjectEqualWithoutIdentityComponent 2020-03-07 14:45:41 +01:00
vis2k
949ce8288c NetworkBehaviourTests: SyncVarGameObjectEqualNull 2020-03-07 14:45:39 +01:00
vis2k
fa707832a9 NetworkBehaviour.SyncVarGameObjectEqual made internal so we can test it. We will make this static soon anyway. 2020-03-07 14:45:37 +01:00
vis2k
7c4ea0d08b NetworkBehaviour.GetRpcHandler renamed to GetDelegate 2020-03-07 14:01:57 +01:00
vis2k
bf1ac3279b improve previous test 2020-03-07 13:58:52 +01:00
vis2k
3acdd97fee NetworkBehaviourTests: GetRpcHandler 2020-03-07 13:56:09 +01:00
vis2k
cdd7055b66 clean up last test too 2020-03-07 13:50:45 +01:00
vis2k
00ef376f2d NetworkBehaviourTests: RegisterDelegate improved 2020-03-07 13:48:20 +01:00
vis2k
f22188ff0b NetworkBehaviourTests: RegisterDelegateDoesntOverwrite 2020-03-07 13:43:35 +01:00
vis2k
7071794e46 NetworkBehaviour.InvokeDelegate: fix error message saying the same function twice instead of the new function 2020-03-07 13:43:27 +01:00
vis2k
88640c9d89 NetworkBehaviour.RegisterDelegate: improve syntax 2020-03-07 13:43:00 +01:00
vis2k
ab1211b287 NetworkBehaviourTests: InvokeSyncEvent 2020-03-06 16:29:23 +01:00
vis2k
05c2a13e02 NetworkBehaviourTests: SendEventInternal 2020-03-06 16:27:46 +01:00
vis2k
8e9bcac4f6 NetworkBehaviourTests: InvokeRPC 2020-03-06 10:41:48 +01:00
vis2k
3c4b2fd9d8 NetworkBehaviourTests: SendTargetRPCInternal 2020-03-06 10:39:07 +01:00
vis2k
7656a833c9 NetworkBehaviourTests: SendRPCInternal 2020-03-06 09:52:15 +01:00
vis2k
644626294b NetworkBehaviourTests: InvokeCommand 2020-03-05 21:45:24 +01:00
vis2k
92835cfc12 NetworkBehaviourTests: clear up delegates 2020-03-05 21:43:37 +01:00
vis2k
342f5b8b98 NetworkBehaviourTests: SendCommandInternal 2020-03-05 21:43:31 +01:00
vis2k
85dab627ef NetworkIdentityTests: clear up delegates 2020-03-05 21:43:14 +01:00
vis2k
b91ed1aead NetworkServerTests: clear up delegates 2020-03-05 21:43:10 +01:00
vis2k
1bdd6a80b2 NetworkBehaviourTests: SendCommandInternal improved 2020-03-05 16:01:42 +01:00
vis2k
faa78493b9 NetworkBehaviourTests: SendCommandInternal 2020-03-05 15:47:26 +01:00
vis2k
b330a9c6b3 accidentally merged this one 2020-03-05 14:31:12 +01:00
vis2k
e37e2ff2fc NetworkBehaviourTests: InitSyncObject 2020-03-05 13:42:45 +01:00
vis2k
cdea476212 NetworkBehaviourTests: HookGuard 2020-03-05 13:40:26 +01:00
vis2k
c4060df00b NetworkBehaviourTests: OnCheckObserverTrueByDefault 2020-03-05 13:26:24 +01:00
vis2k
43909bb40e NetworkBehaviourTests: ComponentIndex 2020-03-05 13:20:31 +01:00
vis2k
eb977896f8 NetworkIdentityTests: HasIdentitysConnectionToClient 2020-03-05 12:59:04 +01:00
vis2k
892215cfe3 NetworkIdentityTests: HasIdentitysConnectionToServer 2020-03-05 12:58:55 +01:00
vis2k
d396857148 NetworkBehaviourTests: HasIdentitysNetId 2020-03-05 12:42:03 +01:00
vis2k
6fffb051d1 NetworkBehaviourTests: HasNoAuthorityByDefault 2020-03-05 12:24:39 +01:00
vis2k
f326520d31 NetworkBehvaviourTests: simplify 2020-03-05 12:21:29 +01:00
vis2k
be6696032f NetworkIdentityTests: IsClientOnly 2020-03-05 12:19:48 +01:00
vis2k
8f9064a923 NetworkBehaviourTests: IsServerOnly 2020-03-05 10:09:08 +01:00
vis2k
15915f573e NetworkBehaviourTests preparations 2020-03-04 23:54:22 +01:00
vis2k
1d120a9d80 NetworkIdentity.RebuildObserver: move observers code above host visibility code 2020-03-04 18:38:17 +01:00
vis2k
d9ea5fdcf2 NetworkIdentityTests: RebuildObserversReturnsIfNull 2020-03-04 17:21:56 +01:00
vis2k
37e783f625 NetworkIdentityTests: RebuildObserversAddRemoveAndVisListTest that tests a full add/remove observers workflow 2020-03-04 17:17:21 +01:00
vis2k
0093a2cfe1 NetworkConnection.visList made internal so we can test RebuildObservers fully. It's a complex function and we need to be 100% sure that visList behaviour is correct. 2020-03-04 17:16:59 +01:00
vis2k
290561167d NetworkIdentityTests: RebuildObserversAddsReadyComponentConnectionsIfImplemented 2020-03-04 14:55:34 +01:00
vis2k
a5f495a774 fix: NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. 2020-03-04 14:55:27 +01:00
vis2k
26c0c03fd8 NetworkIdentityTests: RebuildObserversSetsHostVisibility 2020-03-04 14:34:07 +01:00
vis2k
1ddb9ae075 add comment 2020-03-04 13:21:18 +01:00
vis2k
0f110eb4b7 NetworkIdentity.RebuildObservers: put conn null/ready checks into one line 2020-03-04 13:20:39 +01:00
vis2k
4ba456439a NetworkIdentity.RebuildObservers: improve comments to explain what happens 2020-03-04 13:15:56 +01:00
vis2k
dbfd1830d3 NetworkIdentity.RebuildObservers: syntax improved 2020-03-04 13:14:26 +01:00
vis2k
1133fe4e25 forgot to remove comment 2020-03-04 09:23:23 +01:00
vis2k
8e6f5ba89c NetworkIdentityTests: RebuildObserversDoesNotAddServerConnectionsIfImplemented 2020-03-04 09:22:04 +01:00
vis2k
9c09c26a5c fix: SendToObservers missing result variable 2020-03-04 09:20:28 +01:00
vis2k
66d858e631 NetworkIdentityTests: RebuildObserversAddsReadyServerConnectionsIfNotImplemented 2020-03-04 09:17:47 +01:00
Paul Pacheco
9c81c9b2eb
refactor: SendToObserver returns void (#1539)
We calculate a bool out of SendToObserver, but it is not clear what it is
and we don't use the result at all.  So just simplify things.
2020-03-04 08:52:17 +01:00
vis2k
549c729a07 NetworkIdentityTests: AddAllReadyServerConnectionsToObservers 2020-03-03 23:43:20 +01:00
vis2k
a5602011dd rename to be 100% obvious 2020-03-03 23:31:44 +01:00
vis2k
66d3e8ddf7 NetworkIdentity.RebuildObservers code split into AddAllServerConnectionsToObservers helper function 2020-03-03 23:29:47 +01:00
vis2k
d6a93275f9 NetworkIdentity.RebuildObservers: result renamed to rebuildOverwritten because that's what it's for 2020-03-03 23:22:49 +01:00
vis2k
6eedd2405c NetworkIdentity.GetNewObservers: result renamed to rebuildOverwritten because that's what it's for 2020-03-03 23:22:37 +01:00
vis2k
15a47ca19c NetworkIdentityTests: RebuildObserversOnlyAddsOwnPlayerIfReady 2020-03-03 23:05:41 +01:00
vis2k
3e8c6089b0 NetworkIdentityTests: RebuildObserversAddsOwnReadyPlayer 2020-03-03 23:05:41 +01:00
Paul Pacheco
60226797ac tests: Fix tests
CI/CD pipeline runs in headless mode,  so this check is invalid
2020-03-03 15:43:25 -06:00
Paul Pacheco
108c83a43a refactor: use NUnit idiomatic constraints
Why?
Suppose you have this:
```cs
Assert.That(manager.networkAddress == "localhost");
```
and suppose it fails,   it will give you:
"Expected True,  but got False"
which does not give you anything useful.

Suppose you have this instead:
```cs
Assert.That(manager.networkAddress, Is.EqualTo("localhost"));
```
Suppose it fails,  now it will give you a much more useful error message:
"Expected 'localhost'  but got 'xxxxx'"

It makes debugging tests a lot easier.
2020-03-03 15:39:25 -06:00
vis2k
fb9c55bf6e NetworkIdentityTests cleaned up 2020-03-03 22:37:13 +01:00
vis2k
b2a094930f syntax 2020-03-03 22:27:27 +01:00
vis2k
a302306dd1 NetworkIdentityTests: GetNewObserversFalseIfNoComponents test 2020-03-03 22:24:13 +01:00
vis2k
102484b811 NetworkIdentityTests: GetNewObserversClearsHashSet test 2020-03-03 22:24:13 +01:00
vis2k
260ca9a491 NetworkIdentityTests: GetNewObservers test 2020-03-03 22:24:13 +01:00
vis2k
01f5fb4a94 NetworkIdentity.RebuildObservers: GetNewObservers code split into separate function 2020-03-03 22:24:13 +01:00
Paul Pacheco
e00e8195bb Simplify 2020-03-03 10:40:57 -06:00
vis2k
4bc1c3eb20 NetworkIdentityTests HandleEvent tests invalid component index / function hash too 2020-03-03 13:19:09 +01:00
vis2k
bbcc3599ef NetworkIdentityTests HandleRpc tests invalid component index / function hash too 2020-03-03 13:19:03 +01:00
vis2k
b9dab2ca7a NetworkIdentityTests HandleCommand tests invalid component index / function hash too 2020-03-03 13:18:55 +01:00
vis2k
ea54890dca NetworkIdentityTests: HandleCommand/Rpc/SyncEvent tests improved 2020-03-03 13:15:54 +01:00
vis2k
6cdb9a3d8b NetworkIdentityTests: HandleSyncEvent 2020-03-03 13:08:58 +01:00
vis2k
0f362ec1cf NetworkIdentityTests: HandleRPC 2020-03-03 13:06:20 +01:00
vis2k
598766764c typo 2020-03-03 13:03:25 +01:00
vis2k
0b257fbd3a NetworkIdentityTests: HandleCommand 2020-03-03 13:02:44 +01:00
vis2k
bd9747e735 NetworkReader/WriterTest: benchmark doesn't need to run each time, takes at least 6s together. 2020-03-03 12:15:07 +01:00
uwee
67462553fb
test add NetworkManagerTests (#1537)
* test add NetworkManagerTests

not complete and 1 does not reliably work

* fix broken client test

* remove incomplete test for NG

* added more state checking

* shutdown state test

* add startposition tests
2020-03-03 09:28:28 +01:00
Lymdun
ca166bd95f
Improve LocalConnectionTest (#1538) 2020-03-02 22:41:27 +01:00
vis2k
e9d4f04da5 typo 2020-03-02 15:55:01 +01:00
vis2k
7df6e79b61 NetworkIdentityTests: AssignAndRemoveClientAuthority improved 2020-03-02 15:54:47 +01:00
vis2k
4b6affb523 NetworkIdentityTests: AssignAndRemoveClientAuthority test improved 2020-03-02 15:50:32 +01:00
vis2k
eb958ae182 NetworkIdentity.AssignClientAuthority: null check first. more obvious error message and easier to test. 2020-03-02 15:50:13 +01:00
vis2k
66a9127b96 NetworkIdentityTests: AssignAndRemoveClientAuthority 2020-03-02 15:40:26 +01:00
vis2k
9c8d6f3cb1 NetworkIdentityTests: ServerUpdate 2020-03-02 13:28:10 +01:00
vis2k
97a5a1211d add comment 2020-03-02 12:13:23 +01:00
vis2k
b787274732 forgot to save 2020-03-02 12:07:56 +01:00
vis2k
5a1bfdf1a4 NetworkIdentity.MirrorUpdate renamed to ServerUpdate because that's what it does 2020-03-02 12:06:12 +01:00
vis2k
de4a7107a6 NetworkIdentityTests: Reset 2020-03-02 11:44:36 +01:00
vis2k
e43ed3e09d NetworkIdentityTests: ClearAllComponentsDirtyBits 2020-03-02 11:14:27 +01:00
vis2k
f9fdca3598 NetworkIdentityTests: ClearDirtyComponentsDirtyBits test improved 2020-03-02 11:09:16 +01:00
vis2k
eac93e1a27 NetworkIdentityTests: ClearDirtyComponentsDirtyBits 2020-03-02 11:07:07 +01:00
uwee
df430e1bfc
Test coverage for NetworkTransformChild (#1536)
* Test coverage for NetworkTransformChild

* add missing meta file

* applied codacy suggestions
2020-03-02 09:44:39 +01:00
uwee
05a44b9c6f
adds missing addplayertest (#1530)
* adds missing addplayertest

code is set to depreciate but should still be covered until then.

* remove json file from commit

opps

* updated to include suggestions from Codacy
2020-03-02 09:43:10 +01:00
Paul Pacheco
22636c9a6c
Disable telepathy tests until they are fixed (#1534) 2020-03-02 09:40:04 +01:00
vis2k
65645dd266 NetworkIdentity: AssignClientAuthority moved above RemoveClientAuthority 2020-03-01 12:05:46 +01:00
vis2k
508e253bb1 NetworkIdentityTests: AddObserver 2020-03-01 12:02:25 +01:00
vis2k
8cd50cf9f2 NetworkIdentityTests: make sure that calling OnStartClient twice will return early 2020-03-01 11:54:23 +01:00
vis2k
90cece63dc NetworkIdentityTests: ClearObservers 2020-03-01 11:54:02 +01:00
vis2k
d9036a6a79 CustomAttributeTests: use channels enum 2020-03-01 11:41:25 +01:00
uwee
b440130647
adds test coverage for CustomAttribute (#1531) 2020-03-01 11:13:48 +01:00
vis2k
3bc38d8938 copy paste error 2020-02-28 16:56:38 +01:00
vis2k
4357752f91 NetworkIdentityTests: OnNetworkDestroy 2020-02-28 16:55:22 +01:00
vis2k
6b35bf0133 NetworkIdentity.OnNetworkDestroy moved upwards and catches exceptions now too 2020-02-28 16:55:14 +01:00
vis2k
62c5cf4b14 fix error log 2020-02-28 16:54:55 +01:00
vis2k
5ed5f84409 fix: NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called 2020-02-28 16:33:59 +01:00
vis2k
4926bb818a add comments 2020-02-28 16:32:48 +01:00
vis2k
fc7d2e8df6 NetworkIdentity: OnStartLocalPlayer moved next to OnStartClient 2020-02-28 16:31:39 +01:00
vis2k
1c356bff44 NetworkIdentity: remove redundant OnUpdateVars function 2020-02-28 16:26:05 +01:00
vis2k
782848094b NetworkIdentityTests: OnStartLocalPlayer 2020-02-28 16:23:14 +01:00
vis2k
bbaad910f7 NetworkIdentityTests: OnDeserializeSafelyShouldDetectAndHandleDeSerializationMismatch 2020-02-28 16:10:48 +01:00
vis2k
fe7c1c7f50 improve previous test 2020-02-28 15:43:01 +01:00
vis2k
0df42ebf75 NetworkIdentityTests: OnSerializeAllSafelyShouldDetectTooManyComponents 2020-02-28 15:41:34 +01:00
vis2k
bfe09ab141 NetworkIdentityTests: OnSerializeAndDeserializeAllSafely 2020-02-28 15:35:37 +01:00
vis2k
a5269b4261 NetworkIdentityTests: OnCheckObserver 2020-02-28 11:58:51 +01:00
vis2k
f21b80b8b0 NetworkIdentityTests: OnSetHostVisibilityCallsComponentsAndCatchesExceptions 2020-02-27 10:23:44 +01:00
vis2k
cd4e39729e NetworkIdentityTests: NotifyAuthorityCallsOnStartStopAuthority 2020-02-27 10:19:16 +01:00
vis2k
44addfa336 NetworkIdentityTests: rename 2020-02-27 10:10:54 +01:00
vis2k
47b1aa7400 NetworkIdentityTests: OnStopAuthorityComponentExceptionIsCaught 2020-02-27 10:10:07 +01:00
vis2k
b62487cf87 NetworkIdentity.OnStopAuthority made internal for consistency with OnStartServer/OnStartClient, and so that we can test it 2020-02-27 10:08:45 +01:00
vis2k
e87c1d6a26 add comments 2020-02-27 10:08:36 +01:00
vis2k
85aae6482d NetworkIdentityTests: OnStartAuthorityComponentExceptionIsCaught 2020-02-27 10:06:56 +01:00
vis2k
0965283c53 NetworkIdentity.OnStartAuthority made internal for consistency with OnStartServer/OnStartClient, and so that we can test it 2020-02-27 10:06:46 +01:00
vis2k
6183cae611 NetworkIdentityTests: OnStartClient test makes sure that OnStartClient was called exactly once 2020-02-27 10:05:07 +01:00
vis2k
f6c8e0e89e NetworkIdentityTests: OnStartServer test makes sure that OnStartServer was called exactly once 2020-02-27 10:04:58 +01:00
vis2k
617bd0a175 NetworkIdentity.OnStartClient: added comment 2020-02-27 09:53:24 +01:00
vis2k
53499f031f NetworkIdentityTests: OnStartClientComponentExceptionIsCaught 2020-02-27 09:53:24 +01:00
Paul Pacheco
59faa81926
fix: build in IL2CPP (#1524)
The weaver generated code now builds properly under IL2CPP
fixes #1519
fixes #1520
2020-02-26 18:02:14 -06:00
vis2k
ae451e6fe0 NetworkIdentityTests: OnStartServerInHostModeSetsIsClientTrue to make sure that isClient is true in OnStartServer if in host mode. we fixed the bug recently, now we have a test too 2020-02-26 22:08:47 +01:00
vis2k
6f3c286a62 Tests: MemoryTransport for easier testing 2020-02-26 21:56:55 +01:00
vis2k
89859c9fd4 NetworkIdentityTests: OnStartServerComponentExceptionIsCaught 2020-02-26 20:01:21 +01:00
vis2k
1b624f12e0 add comment 2020-02-26 19:55:27 +01:00
vis2k
42c0128f18 NetworkIdentityTests: OnValidateSetupIDsSetsEmptyAssetIDForSceneObject 2020-02-26 19:42:01 +01:00
vis2k
a0f798f65f NetworkIdentityTests: SetSceneIdSceneHashPartInternal 2020-02-26 19:34:35 +01:00
vis2k
12d2c68301 NetworkIdentityTest: make sure that it's added to sceneId dict too 2020-02-26 19:25:20 +01:00
vis2k
8ca4deb61d NetworkIdentityTests: AssignSceneID 2020-02-26 19:23:32 +01:00
vis2k
4b430d98f7 NetworkIdentityTests: RemoveObserverInternal 2020-02-26 19:12:34 +01:00
vis2k
4d2c81e12e NetworkIdentityTests: SetClientOwner test to make sure the previous commit's bug doesn't happen again 2020-02-26 18:30:55 +01:00
vis2k
548db52fdf fix: NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. 2020-02-26 18:30:30 +01:00
vis2k
1a9625ee4a NetworkIdentity.SetClientOwner: improve error message 2020-02-26 18:28:57 +01:00
vis2k
4269cfe43c NetworkIdentityTests: cleanup spawned dict too 2020-02-26 18:19:11 +01:00
vis2k
ebe12b6cdb NetworkIdentityTest: GetSetAssetId 2020-02-26 18:15:14 +01:00
vis2k
22ee387470 NetworkIdentityTests: proper GameObject cleanup 2020-02-26 18:12:45 +01:00
vis2k
66776a744d NetworkServer.UnSpawn test 2020-02-26 17:40:07 +01:00
vis2k
29fe487954 NetworkIdentity.IsMarkedForReset helper function to check reset state 2020-02-26 17:39:57 +01:00
vis2k
8a05826ca4 NetworkServerTest.SpawnObject: make sure that it doesn't touch non-scene-objects 2020-02-26 17:30:19 +01:00
vis2k
708d7838d6 NetworkServerTest: SpawnObjects 2020-02-26 17:20:35 +01:00
vis2k
d4d524dad2 fix: NetworkServer.SpawnObjects: return false if server isn't running 2020-02-26 17:16:38 +01:00
vis2k
cdfc1752f2 NetworkServerTest: ValidateSceneObject 2020-02-26 17:08:36 +01:00
vis2k
e409ed8f48 NetworkServer.ValidateSceneObject made internal so it can be tested and reused if needed 2020-02-26 17:01:31 +01:00
vis2k
1be758b12b syntax 2020-02-26 17:01:10 +01:00
vis2k
c8fbea387d update comment 2020-02-26 16:57:09 +01:00
vis2k
bba4ebd154 NetworkServerTest: CommandTest tries invalid netid and command without authority too 2020-02-26 10:27:36 +01:00
vis2k
038e3c1969 NetworkServerTest: HideForConnection 2020-02-26 10:14:42 +01:00
vis2k
9bdfb676e3 NetworkServerTest: ShowForConnection 2020-02-26 10:11:00 +01:00
vis2k
5cdf02b258 NetworkServerTest: GetNetworkIdentity 2020-02-25 22:25:47 +01:00
vis2k
67a2a85cb9 NetworkServer.GetNetworkIdentity made internal so it can be tested and reused in other places if needed 2020-02-25 22:25:39 +01:00
vis2k
e7c9dc4f6e NetworkServerTest: SendToClientOfPlayer 2020-02-25 22:13:58 +01:00
vis2k
c2afc05692 NetworkServerTest: RegisterUnregisterClearHandlerTest 2020-02-25 22:07:44 +01:00
vis2k
212af3fc9d NetworkServerTest: RegisterHandlerTest 2020-02-25 22:01:48 +01:00
vis2k
d4f21c0818 remove unused var 2020-02-25 11:53:04 +01:00
vis2k
48bdc68906 NetworkServerTest: SendToAllTest 2020-02-25 11:35:15 +01:00
vis2k
4596b19dd9 fix: SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:14:26 +01:00
vis2k
4b90aafe12 fix: SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:13:59 +01:00
vis2k
4267983139 fix: SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:13:38 +01:00
vis2k
a497803de0 NetworkServerTests: use call counts instead of bools to make sure that it's called exactly once 2020-02-25 11:00:35 +01:00
vis2k
69bb1574f0 NetworkServerTest: ActivateHostSceneCallsOnStartClient 2020-02-25 10:36:40 +01:00
vis2k
f378333000 NetworkServer.ActivateLocalClientScene renamed to ActivateHostScene because that's what it really does. It does NOT do something for every local client on a client. Only for a host. 2020-02-25 10:31:30 +01:00
vis2k
5efaa4af1a CommandMessageCallsCommandTest: use two components to make sure that the correct one is used by the command 2020-02-24 15:44:05 +01:00
vis2k
1315bd3dde CommandMessageCallsCommandTest: proper usage of weaver generated command code (static!) 2020-02-24 15:40:06 +01:00
vis2k
6d2b4eb102 remove comment 2020-02-24 15:37:31 +01:00
vis2k
e6b12133d1 remove comment 2020-02-24 15:35:46 +01:00
vis2k
3eb1e8968c add comment 2020-02-24 15:35:16 +01:00
vis2k
02c31d0805 NetworkServerTest: CommandMessageCallsCommandTest to run a full command through our pipeline 2020-02-24 15:31:53 +01:00
vis2k
e9c6f6f2a9 NetworkBehaviour.GetMethodHash made internal for tests 2020-02-24 15:31:53 +01:00
vis2k
e6cd2e2280 NetworkBehaviour.RegisterRpc/Command/EventDelegate made public for tests. internal won't work because they are called from outside assemblies like NetworkTransform. protected won't work because then we can't test them from the outside. 2020-02-24 15:31:53 +01:00
vis2k
31af385a70 NetworkBehaviour.ClearDelegates added for tests 2020-02-24 15:31:53 +01:00
vis2k
215e973903 NetworkServerTest: ReadyMessageSetsClientReadyTest 2020-02-24 14:46:58 +01:00
vis2k
dc29106370 NetworkServerTest.TearDown rests state 2020-02-24 14:32:41 +01:00
vis2k
ea0b20636b NetworkServerTest: SetAllClientsNotReadyTest 2020-02-24 14:31:30 +01:00
vis2k
012c053597 NetworkServerTest: SetClientReadyAndNotReadyTest 2020-02-24 11:26:19 +01:00
vis2k
3bd947a973 NetworkServerTest: OnDataReceivedInvalidConnectionIdTest 2020-02-24 11:17:53 +01:00
vis2k
e49f4e0aff NetworkServerTest: OnDataReceivedTest 2020-02-24 11:14:11 +01:00
vis2k
ad0d20144a NetworkServerTests: ConnectDuplicateConnectionIdsTest 2020-02-24 10:51:04 +01:00
vis2k
9c325abbd8 NetworkServerTests: OnConnectedOnlyAllowsGreaterZeroConnectionIdsTest 2020-02-24 10:48:39 +01:00
vis2k
47a4ac7ff7 NetworkServerTest: SetLocalConnectionTest checks overwrite too 2020-02-24 10:43:19 +01:00
Paul Pacheco
f0a993c106
fix: properly detect NT rotation (#1516) 2020-02-23 20:46:06 +01:00
MrGadget
8417465413
Make StartHost Not virtual (#1513) 2020-02-23 14:40:06 +01:00
vis2k
1cce3164b9 NetworkServerTest: DisconnectAllTest 2020-02-23 11:43:08 +01:00
vis2k
357ad0ffb6 add comment 2020-02-23 11:40:47 +01:00
vis2k
a57a46764e NetworkServerTest: DisconnectAllConnectionsTest 2020-02-23 11:40:01 +01:00
vis2k
fe1b158b22 NetworkServerTest: RemoveLocalConnectionTest 2020-02-23 11:36:14 +01:00
vis2k
ad0442be02 NetworkServerTest: RemoveConenctionTest 2020-02-23 11:30:58 +01:00
vis2k
8b16c7c343 NetworkServerTest: AddConnectionTest tests duplicate too 2020-02-23 11:29:08 +01:00
vis2k
12faf65d18 NetworkServerTest: AddConnectionTest 2020-02-23 11:25:20 +01:00
vis2k
a0d6a02a99 NetworkServer.Reset made obsolete 2020-02-23 11:20:42 +01:00
vis2k
5de22d2ff2 NetworkServerTests: ShutdownCleanupTest improved 2020-02-23 11:18:54 +01:00
vis2k
45ba9a9939 syntax 2020-02-23 11:17:40 +01:00
vis2k
7b6f1326eb NetworkServertest: LocalClientActiveTest 2020-02-23 11:17:17 +01:00
vis2k
1e198e4bcc remove unnecessary assert 2020-02-23 11:16:05 +01:00
vis2k
7333cc8f46 NetworkServerTest: SetLocalConnectionTest 2020-02-23 11:15:03 +01:00
vis2k
ec23c1fc58 NetworkServerTests: ShutdownCleanupTest 2020-02-23 11:13:11 +01:00
vis2k
ab98846566 NetworkServerTest: ConnectionsDictTest 2020-02-23 11:06:35 +01:00
vis2k
933ce4a3d5 NetworkServerTests: DisconnectMessageHandlerTest 2020-02-23 11:02:05 +01:00
vis2k
77929e9aa0 NetworkServerTests: ConnectMessageHandlerTest 2020-02-23 11:00:16 +01:00
vis2k
b1ff0757ee NetworkServerTest: MaxConnectionsTest 2020-02-23 10:58:07 +01:00
vis2k
f750d77a8c NetworkServerTests: IsActiveTest 2020-02-23 10:19:38 +01:00
Chris Langsenkamp
e1d1d41ed6 fix: Room example to use new override 2020-02-23 02:43:53 -05:00
Chris Langsenkamp
b5dfcf45bc feat: Added NetworkConnection to OnRoomServerSceneLoadedForPlayer 2020-02-22 18:46:47 -05:00
Chris Langsenkamp
b39b4ffc62 Removed extraneous blank line 2020-02-22 17:40:58 -05:00
MrGadget
f53b12b2f7
feat: Cosmetic Enhancement of Network Manager (#1512)
* Cosmetic enhancement to Network Manager

* Removed region block
2020-02-22 20:25:46 +01:00
Chris Langsenkamp
8487be877d Added missing blank line 2020-02-20 19:45:27 -05:00
MrGadget
8bf6690312
Remove Redundant Set of mode = Offline (#1510)
* Remove redundant code

* Removed blank line
2020-02-20 19:19:28 +01:00
MrGadget
b33515ba8f
Rearranged StartHost methods (#1506)
* Rearranged StartHost methods

* Added braces

* Moved and added comments.

* moved finishStartHostPending per Vis2k request
2020-02-20 12:58:58 +01:00
MrGadget
b8bcd9ad25
fix: Add missing channelId to NetworkConnectionToClient.Send calls (#1509)
* fix: Add missing channelId to NetworkConnectionToClient.Send calls

* Updated ChangeLog

* Added braces

* Found one more
2020-02-20 09:51:03 +01:00
MrGadget
61fdd892d9
fix: return & continue on separate line (#1504)
* fix: return & continue on separate line

* Update Assets/Mirror/Runtime/Transport/Telepathy/Server.cs
2020-02-17 16:48:41 +01:00
MrGadget
ecc0659b87
feat: Check for client authority in NetworkAnimator Cmd's (#1501) 2020-02-15 16:18:01 +01:00
MrGadget
8b359ff6d0
feat: Check for client authority in CmdClientToServerSync (#1500) 2020-02-15 08:33:14 +01:00
MrGadget
7bb80e3b79
feat: NetworkSceneChecker use Scene instead of string name (#1496)
* NetworkSceneChecker use Scene instead of string name

* Added comment
2020-02-15 08:32:34 +01:00
MrGadget
4c4a52bff9
fix: Host Player Ready Race Condition (#1498) 2020-02-15 08:32:12 +01:00
Chris Langsenkamp
1662c5a139 fix: Fixed NetworkRoomManager Template 2020-02-14 00:45:04 -05:00
Chris Langsenkamp
853e5ab7d7 Simplified Additive example code 2020-02-12 20:09:37 -05:00
Chris Langsenkamp
e467921377 fixed obsolete comment 2020-02-11 11:55:22 -05:00
Chris Langsenkamp
79708d94a2 breaking: bump version to 10 2020-02-11 09:39:06 -05:00
MrGadget
0e80e1996f
feat: Block Play Mode and Builds for Weaver Errors (#1479)
* WIP first draft

* Much closer now

* Whoop! There it is!

* Added comment

* Restore Player

* Moved WeaveFailed back where it was

* Restore delegate wireup

* Moved the delegate wireup and added comments

* Formatted comment and error message

* Added comment

* Use a separate session bool

* Code formatting

* Delete Mirror.Editor.asmdef

* Add Debug

* No WeaveExistingAssemblies

* Revert "No WeaveExistingAssemblies"

This reverts commit 50d4790ee4.

* Revert "Add Debug"

This reverts commit 185b403361.

* Revert "Delete Mirror.Editor.asmdef"

This reverts commit f7647cce3f.

* Update Assets/Mirror/Editor/Mirror.Editor.asmdef

* Update Assets/Mirror/Editor/Mirror.Editor.asmdef

* reverted changes to Mirror.Editor.asmdef

* Re-applied change to Mirror.Editor.asmdef

* commented Debug line
2020-02-10 23:23:34 +01:00
MrGadget
bb55baa679
feat: Disposable PooledNetworkReader / PooledNetworkWriter (#1490)
* Inherit IDisposable

* using NetworkWriter from pool

* Remove Recycles

* Add comments to Recycle

* Add comments to Recycle

* using NetworkReader from pool

* Unity doesn't like the simplified form

* combined usings

* Updated Reader / Writer Tests

* wip

* Disposable NetworkReaderPool:NetworkReader

* uncomment NetworkDiagnostics.OnReceive

* Removed unnecessary constructor

* Implemented NetworkWriterPool : NetworkWriter

* code cleanup

* Separated classes: PooledNetworkReader / PooledNetworkWriter

* Removed blank line

* Update Assets/Mirror/Tests/Editor/NetworkReaderTest.cs

* Test restored

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-02-10 22:26:55 +01:00
Chris Langsenkamp
436d8fe831 fixed xml comment 2020-02-10 16:18:11 -05:00
Chris Langsenkamp
745aea8f9a Added Deprecated dates to Obsoletes 2020-02-10 16:14:22 -05:00
Paul Pacheco
0f10c72744
feat: supports scriptable objects (#1471)
* feat: supports scriptable objects

Now you can pass scriptable objects in commands, rpcs and syncvars
For example:

```cs
class Weapon: ScriptableObject
{
    public string name;
    public string description;
    public int damage;
    ...
}

class Player : NetworkBehaviour
{

    [SyncVar]
    Weapon equipped;

    ...
}
```

Scriptable objects will be created in the client using
ScriptableObject.CreateInstance.  If users want something else
they can provide a custom serializer (that has not changed)

* fix: remove scriptableobject error Tests

The test that checks that scrscriptableobjects give error is no
longer valid
2020-02-09 20:16:13 +01:00
Chris Langsenkamp
ab6a03b9fa remove SerializeField attribute 2020-02-08 21:08:38 -05:00
Chris Langsenkamp
831db2f033 Updated comments 2020-02-08 21:07:39 -05:00
Chris Langsenkamp
6431c28a12 OnEnable is safer than Awake 2020-02-08 21:02:22 -05:00
MrGadget
90d92fc0cf
Add headless check to Discovery (#1485) 2020-02-07 12:13:09 +01:00
vis2k
9f7c30c1ac
fix #1475: isClient is true in OnDestroy on host/client mode again. Reverts commit d00c95bb55 (#1483)
* fix #1475: isClient is true in OnDestroy on host/client mode again. Reverts commit d00c95bb55

* add comment

* ClientScene.InternalAddPlayer doesn't need to set isClient anymore
2020-02-07 10:14:54 +01:00
Chris Langsenkamp
c06ea6b6c8 Fix comment 2020-02-06 11:51:38 -05:00
vis2k
3568dc356c NetworkIdentityTests: HostMode isLocalPlayer check added 2020-02-06 13:16:13 +01:00
vis2k
85e9a0aa13 NetworkIdentityTests: HostMode isServer/isClient/isLocalPlayer test added 2020-02-06 12:42:19 +01:00
vis2k
09ec344821 NetworkIdentityTests: OnStartServer isServer/isClient/isLocalPlayer test added 2020-02-06 12:36:36 +01:00
MrGadget
58df3fd6d6
feat: Added Read<T> Method to NetworkReader (#1480)
* Added Read<T> Method

* Renamed to ReadMessage
2020-02-06 11:39:39 +01:00
MrGadget
02e4245f3d
BREAKING: Rename NetworkWriter Write<T>to WriteMessage (#1482) 2020-02-06 11:38:54 +01:00
Chris Langsenkamp
1c58891e32 Formatted comment and error message 2020-02-05 10:29:49 -05:00
Chris Langsenkamp
86a2c6f52c Added comments for WeaveFailed 2020-02-05 10:15:09 -05:00
Chris Langsenkamp
4108b79340 Code cleanup 2020-02-05 00:53:14 -05:00
Chris Langsenkamp
34fc52bd50 Added empty AddComponent attribute 2020-02-04 15:05:57 -05:00
Chris Langsenkamp
c7e269d0c5 Removed extraneous comment 2020-02-04 14:55:42 -05:00
vis2k
f614bc8f3a Icon updated for transparent border 2020-02-04 20:53:48 +01:00
Paul Pacheco
36980f4a34
Refactor: Rename method to avoid confussion (#1477) 2020-02-03 10:00:58 -06:00
Paul Pacheco
d0b0bc92bc
fix: weaver support array of custom types (#1470)
* WIP

* Proposed Rearrange

* Rearrange Code

* Unit test for PR

* unit test

* unit test

* Update TestingScriptableObjectArraySerialization.cs

Improving code

* Update TestingScriptableObjectArraySerialization.cs

* Remove blank lines

* remove blank space

* Remove leftover log

Co-authored-by: MrGadget <chris@clevertech.net>
Co-authored-by: Uchiha I_A_H_I <jkaran.sharma101@gmail.com>
2020-02-03 14:00:37 +01:00
Paul Pacheco
1736bb0c42
fix: call callback after update dictionary in host (#1476)
When the callback for SyncDictionary is called in the server
for set or add
it is getting called before the syncdictionary is updated.

In the client this happens after.  

Example:

```cs
   public void OnScoreUpdatedCallback(ScoreSyncDict.Operation op, uint ident, int score) 
   {
       if (op == ScoreSyncDict.Operation.OP_SET) 
              Debug.Log($"The value in the dictionary is {scoreDict[ident]}");
   }
```

In host mode this prints the previous value.   In client mode this prints the current value.  This PR fixes this problem and makes both print the current value
2020-02-02 20:29:31 -06:00
Chris Langsenkamp
c2e7466c43 Updated Preprocessor defines 2020-02-02 15:18:49 -05:00
Chris Langsenkamp
c827216a66 Restructured prefabs in examples 2020-02-02 14:55:49 -05:00
MrGadget
eee969201d
Renamed localEulerAnglesSensitivity (#1474)
BREAKING CHANGE:  localEulerAnglesSensitivity renamed to localRotationSensitivity
2020-02-02 13:35:07 -06:00
Chris Langsenkamp
8816ce5d03 Add headers for inspector 2020-02-02 13:53:25 -05:00
MrGadget
7c1b5ab5f8
Add Header to NetworkBehaviourInspector (#1473) 2020-02-02 13:40:30 -05:00
MrGadget
9257112c65
feat: Implemented NetworkReaderPool (#1464)
* Implement NetworkReaderPool

* Reset Position

* Debug logging removed

* SetBuffer methods internal

* Edited comment
2020-02-01 14:05:09 +01:00
Chris Langsenkamp
d0e493ac92 Updated ScriptTemplates 2020-01-31 21:25:38 -05:00
Chris Langsenkamp
a28ccbb477 Allow Room Manager Additional GamePlay Scenes 2020-01-31 21:18:01 -05:00
Chris Langsenkamp
1433d369c8 Applied Mirror Icon to Discovery components 2020-01-30 15:40:23 -05:00
MrGadget
28212aa8d7
Message Tests (#1463)
* Added UpdateVarsMessageTest

* commit staged

* Added SpawnMessageTest

* Delete MessageTests.cs

* Updated SpawnMessageTest

* Updated SpawnMessageTest

* Updated SpawnMessageTest

* Added RemovePlayerMessageTest

* Added ReadyMessageTest

* Added ObjectSpawnStartedMessageTest

* Added ObjectSpawnFinishedMessageTest

* Added ObjectHideMessageTest

* Added ObjectDestroyMessageTest

* Added NotReadyMessageTest

* Added DisconnectMessageTest

* Added ConnectMessageTest

* Added NetworkPingMessageTest

* Updated NetworkPingMessageTest

* Added NetworkPongMessageTest

* Updated ErrorMessageTest

* Tests in alphabetic order
2020-01-30 09:42:05 +01:00
MrGadget
e44ca7f334
BasicAuthenticatorTest (#1459)
* First Draft

* Second Draft

* Third Draft

* First 2 tests that work
2020-01-29 20:44:30 +01:00
vis2k
93a9eb8339 Disable two telepathy tests that sometimes fail in Unity's mono version 2020-01-29 20:29:21 +01:00
vis2k
d0d77b661c fix: Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 2020-01-29 20:20:18 +01:00
Paul Pacheco
e75b45f888
feat: LAN Network discovery (#1453)
* Fix typo

* Updated Changelog

* first commit

* Add example for discovery

* NetworkDiscovery component should be added

* fixed UI

* Fix some warnings

* refactor: network discovery reimplemented

* Remove unused GUIstyle

* Fix namespaces

* Just send to the broadcast address

* Fix indentation

* Log errors in ClientListen

* Code formatting cleanup, HelpURL's fixed, comments revised. (#38)

* Transport can now provide server uri

* work with any transport by passing uri

* Move discovery initialization to start

* feat: Discovery can now be easily customized per game

* Use generics to simplify api

* Renamed ServerInfo -> ServerResponse

* Rename method

* Moved up one folder

* Move ServerId to NetworkDiscovery

* tests now reference Mirror.Discovery

* Cleaned up blank space

* Disable GUID apparently fixes it

* Use UnityEvents for ease of use

* Remove noisy log

* remove blank spaces

* Process request receives the client endpoint

* use consistent name for parameters

* Remove white space

* Keep it minimalistic,  we don't need age or totalPlayers

* Comment non obvious property

* Don't break transports

* Documentation and image

* Code formatting

* removed privates

* Added Range attribute

* Rename ActiveDiscoverySecondInterval

* Revised NetworkDiscovery doc

* Swapped field order (Cosmetics)

* Added ScriptTemplate

* Update ProjectSettings/ProjectVersion.txt

* Updated ScriptTemplate

* Updated xml comment and ScriptTemplate

* Updated ScriptTemplate

* Improve xmldocs

* Improve xmldocs

* Remove leftover comment

* Renamed event

* Moved discovery inside components

* Keep parameter names consistent

* Provide a guide for network discovery

* XML Comments and ScriptTemplate

* Moved Credits

* fixed template

* Removed comment

* removed comment

* xml comments and template

* fixed method name

* fixed method and template

* removed semicolon

* fixed template

* fixed method and template

* fixed template

* fixed template

* Fix copypasta error

* Show error if no url is available

Network Discovery now shows an error if the transport does not support
providing Url

* Grammar fix

* Extended Template

* fixed template

* Added guide link to template

* New image

* Update NetworkDiscovery.md

* Updated Guid Doc and Template

* fixed bullets

* Remove unnecessary using

* Make it like Mirror's

* Update ScriptTemplates Image & Zip

* Removed from Deprecations

* Updated ChangeLog

* Updated ChangeLog

* Update NetworkDiscovery.md

Remove last line...this was copied to the paragraph above the code block

Co-authored-by: MrGadget <chris@clevertech.net>
2020-01-29 09:56:29 +01:00
MrGadget
9621b0bd30
Update PreprocessorDefines (#1456)
* Update PreprocessorDefines

* Removed 8

* Update PreprocessorDefine.cs
2020-01-29 09:53:39 +01:00
MrGadget
d52aa7e173 Prevent AddPlayer after Additve Scene operation (#1458) 2020-01-28 22:54:46 +01:00
Paul Pacheco
b916064856 breaking: Transports can now provide their Uri (#1454)
* Fix typo

* Updated Changelog

* first commit

* Add example for discovery

* NetworkDiscovery component should be added

* fixed UI

* Fix some warnings

* refactor: network discovery reimplemented

* Remove unused GUIstyle

* Fix namespaces

* Just send to the broadcast address

* Fix indentation

* Log errors in ClientListen

* Code formatting cleanup, HelpURL's fixed, comments revised. (#38)

* Transport can now provide server uri

* work with any transport by passing uri

* Move discovery initialization to start

* feat: Discovery can now be easily customized per game

* Use generics to simplify api

* Renamed ServerInfo -> ServerResponse

* Rename method

* Moved up one folder

* Move ServerId to NetworkDiscovery

* tests now reference Mirror.Discovery

* Cleaned up blank space

* Disable GUID apparently fixes it

* Use UnityEvents for ease of use

* Remove noisy log

* remove blank spaces

* Process request receives the client endpoint

* use consistent name for parameters

* Remove white space

* Keep it minimalistic,  we don't need age or totalPlayers

* Comment non obvious property

* Don't break transports

* Documentation and image

* Code formatting

* removed privates

* Added Range attribute

* Rename ActiveDiscoverySecondInterval

* Revised NetworkDiscovery doc

* Swapped field order (Cosmetics)

* Added ScriptTemplate

* Update ProjectSettings/ProjectVersion.txt

* Updated ScriptTemplate

* Updated xml comment and ScriptTemplate

* Updated ScriptTemplate

* Improve xmldocs

* Improve xmldocs

* Remove leftover comment

* Renamed event

* Moved discovery inside components

* Keep parameter names consistent

* Provide a guide for network discovery

* XML Comments and ScriptTemplate

* Moved Credits

* fixed template

* Removed comment

* removed comment

* xml comments and template

* fixed method name

* fixed method and template

* removed semicolon

* fixed template

* fixed method and template

* fixed template

* fixed template

* Fix copypasta error

* Show error if no url is available

Network Discovery now shows an error if the transport does not support
providing Url

* breaking: Make server uri mandatory

BREAKING CHANGE: Make the server uri method mandatory in transports

Co-authored-by: MrGadget <chris@clevertech.net>
2020-01-28 22:50:52 +01:00
MrGadget
a706ef72e2 Make the Dictionary public (#1457) 2020-01-28 08:49:50 +01:00
MrGadget
a7efb13e29 feat: Mirror Icon for all components (#1452)
* Apply Icon

* Assigned Icons

* Assigned Icons

* Updated ChangeLog
2020-01-27 18:00:27 +01:00
vis2k
ab7c28ea91 Telepathy Tests added 2020-01-27 14:53:43 +01:00
vis2k
4007423db2 fix: Telepathy updated to latest version. Threads are closed properly now. 2020-01-27 14:43:00 +01:00
vis2k
ef7993cac1 MessageTests: SyncEventMessageTest 2020-01-27 14:32:31 +01:00
vis2k
8d272a4107 MessageTests: RpcMessageTest 2020-01-27 14:32:31 +01:00
vis2k
0b2965af1c MessageTests: CommandMessageTest 2020-01-27 14:32:31 +01:00
MrGadget
49529db347 Restore Empty NetworkIdentityEditor (#1455) 2020-01-27 09:18:41 +01:00
vis2k
1a08f1b95d NetworkWriterTests: benchmark test so it's easier to check performance after changes 2020-01-26 13:12:39 +01:00
Paul Pacheco
0c2556ac64 feat: network writer and reader now support uri 2020-01-25 16:16:14 -06:00
MrGadget
71c0d3b2ee
feat: Network Scene Checker Component (#1271)
* Create Network Scene Checker Component

* Move objects to subscene in client

* Remove OnStartClient

* Rewritten with static dictionary

* Updated doc

* renamed image

* Replaced image

* fixed image name

* Changed to short-circuit return in Update

* Changed to using string for key since additive scenes may be unloaded

* Added null check

* Removed commented line

* Update Assets/Mirror/Components/NetworkSceneChecker.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Moved initializer to declaration

* Removed [Scene, SerializeField]

Co-authored-by: vis2k <info@noobtuts.com>
2020-01-25 15:48:47 -05:00
Chris Langsenkamp
e58f84758e set port to 7777 2020-01-25 00:38:21 -05:00
MrGadget
dde8c5d0c5 Remove m_sceneId (#1310)
* Remove m_sceneId

* remove commented code

* copied comment from removed field

* made it full public

* Added FormerlySerializedAs

* Added HideInInspector

* Updated example
2020-01-24 22:33:55 +01:00
Chris Langsenkamp
a82fe9191f Fixed Additive Scene Visualizer 2020-01-24 12:34:08 -05:00
MrGadget
c84b00336d Fix GetSceneIdenity name typo (#1450) 2020-01-23 11:46:03 -06:00
vis2k
84fc240d00 NetworkReaderTest: stopwatch not needed, Unity already shows the time 2020-01-23 15:56:16 +01:00
vis2k
2f7a67e3f9 NetworkReaderTest: benchmark test so it's easier to check performance after changes 2020-01-23 15:51:52 +01:00
Paul Pacheco
0ed8550c02 refactor: Move Editor tests to Tests/Editor (#1449) 2020-01-22 21:35:10 +01:00
vis2k
b5a4988331 FallbackTransportTest from paul 2020-01-22 11:55:56 +01:00
vis2k
9d7513925f NetworkReaderTest to reach 100% NetworkReader coverage 2020-01-22 09:51:06 +01:00
vis2k
e798ac45de MessagePackerTest: cover UnpackMessage non generic version 2020-01-22 09:46:30 +01:00
vis2k
5736dd8d05 MessagePackerTest: cover FormatException case 2020-01-22 09:30:09 +01:00
Chris Langsenkamp
17af872f99 Use conn instead of NetworkClient 2020-01-21 21:44:15 -05:00
Chris Langsenkamp
f778b4c399 Removed unnecessary using 2020-01-21 17:35:57 -05:00
Chris Langsenkamp
71bd09417c Removed MonoBehaviour inheritance 2020-01-21 17:23:14 -05:00
Chris Langsenkamp
388a338cfa Removed commented code 2020-01-21 17:16:08 -05:00
MrGadget
c147caf30c Added ErrorMessage Test (#1448) 2020-01-21 23:01:34 +01:00
Chris Langsenkamp
cbbe82e4d1 Make roomSlots work correctly for clients 2020-01-20 20:04:09 -05:00
vis2k
15c77c6926 NetworkTransform.SerializeIntoWriterTest 2020-01-20 11:02:11 +01:00
vis2k
875f19e030 Mirror.Tests asmdef references Mirror.Components asmdef 2020-01-20 10:54:59 +01:00
Chris Langsenkamp
eef97e9a52 Code cleanup 2020-01-19 23:34:53 -05:00
Chris Langsenkamp
c57c01a47a Updated Script Templates 2020-01-19 16:45:12 -05:00
MrGadget
268753c3bd fix: Fix Room Slots for clients (#1439)
* Fix Room Slots for clients

* Removed change to ServerChangeScene
2020-01-19 11:39:26 +01:00
MrGadget
cb4be4df78 Set AllPlayersready false in the Room scene (#1440) 2020-01-19 11:38:59 +01:00
MrGadget
e4c498312e Reorder properties with headers (#1437) 2020-01-17 12:09:08 +01:00
MrGadget
f69f1743c5 feat: Add Sensitivity to NetworkTransform (#1425)
* Add Sensitivity to NetworkTransform

* Removed commented lines

* Made them floats

* Tooltips

* Added comments

* Update NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-01-16 09:06:25 +01:00
Chris Langsenkamp
bafe3b28fd Freshen Example Appearance 2020-01-13 22:05:08 -05:00
vis2k
2186f3c7d7 clean up Pong folder 2020-01-13 17:34:55 +01:00
vis2k
cb3d9f0d08 fix: Telepathy works on .net core again 2020-01-13 17:27:44 +01:00
Paul Pacheco
0c047f9227
Remove latin placeholder text in chat window (#1430) 2020-01-12 17:07:57 -06:00
Paul Pacheco
42a2f9b853
fix: Decouple ChatWindow from player (#1429) 2020-01-12 16:53:14 -06:00
MrGadget
a0c96f8518 fix: StopHost with offline scene calls scene change twice (#1409)
* Separate StopHostClient

* Added comments

* move comment

* add comment

* Changed to loadingSceneAsync check

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-01-12 00:12:46 +01:00
MrGadget
29c96b6bc0 made handlers private (#1426) 2020-01-11 21:38:09 +01:00
MrGadget
c30e4a9f83 feat: NetworkAnimator warns if you use it incorrectly (#1424)
* Added warnings to NetworkAnimator

* Updated ChangeLog

* pauls suggestions
2020-01-11 10:35:58 -06:00
MrGadget
f858f4d703 Rename WeaveExisingAssemblies to fix spelling (#1423) 2020-01-10 19:07:59 -06:00
MrGadget
dffdf02be5 feat: Network Animator can reset triggers (#1420) 2020-01-10 18:33:10 -06:00
MrGadget
7d472f21f9 perf: Use NetworkWriterPool in NetworkAnimator (#1421) 2020-01-10 18:10:06 -06:00
MrGadget
a4578458a1 perf: Use NetworkWriterPool in NetworkTransform (#1422) 2020-01-10 18:09:27 -06:00
vis2k
b9f52fdb46
breaking: fix: #1151 - assign SyncVars before calling the Hook. Hook now passes old and new value instead of changing it from new value to old value, as this would break all SyncVar Hook projects silently. (#1416)
* test

* new docs

* adjust CheckForHookFunction to expect two hooks

* update example

* update example

* update example

* update test

* update example

* SyncVar.set: store value in oldValue variable

* SyncVar.set: pass old value to hook too

* TODO

* SyncVar deserialize store value in oldValue variable (for simple types)

* SyncVar deserialize: pass old value to hook too (for simple types)

* add test for GameObject type

* fix comment

* SyncVar deserialize: set value before calling hook

* add TODO

* SyncVar.set: set value before calling hook

* replace tests

* GO test

* SyncVar deserialize: move oldvalue code higher up so it applies to GO/NI too

* syntax

* SyncVar deserialize: pass oldValue to hook (GO/NI types)

* SyncVar deserialize: set netid before calling hook (GO/NI types)

* update comment

* update comment

* update comment

* shorter

* comment, TODO

* put oldValue code into separate cases again

* fix SyncVarEqual comparing the same two __goNetId values

* get rid of tmpValue

* fix weaver tests

* remove TODO

* SyncVar deserialize simple types: get rid of tmpValue here too

* remove tests
2020-01-10 16:17:13 +01:00
vis2k
a1649dfb25 remove outdated comment 2020-01-10 12:36:18 +01:00
vis2k
49d93d814c NetworkClient.Shutdown calls Client.Disconnect as suggested in #923 2020-01-10 12:34:42 +01:00
vis2k
260cb49698 NetworkServer.Shutdown: add comment on why we call Transport.ServerStop, not Shutdown as suggested in #923 2020-01-10 12:30:01 +01:00
vis2k
fd7dc5e226 fix: #723 - NetworkTransform teleport works properly now 2020-01-09 09:15:47 +01:00
vis2k
2d59de801f fix #923: move NetworkManager.OnApplicationQuit Transport Shutdown code into Transport.OnApplicationQuit. Fixes a potential bug where the Transport wouldn't be shut down if someone doesn't use the NetworkManager. 2020-01-09 08:32:25 +01:00
vis2k
76a514aeec syntax 2020-01-09 08:32:20 +01:00
vis2k
651e709785
fix #1407: Check EnterPlayModeSettings and disable if needed for 2019.3 support (#1415)
* fix #1407: Check EnterPlayModeSettings and disable if needed for 2019.3 support

* add reference
2020-01-09 08:03:47 +01:00
vis2k
a3ffd1264c
fix: #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (#1414)
* move comment

* add comment

* fix: #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one.

* initialState test for an if

* !initialstate

* getting there

* closer

* works but incompatible stack heights message

* better comments

* better

* not needed

* syntax

* rename

* incompatible stack height fixed

* update comment

* remove first todo

* SAVE PROGRESS

* compare go/ni too

* whitespace

* update comments
2020-01-08 16:58:46 +01:00
vis2k
32abb70ae9 add comment 2020-01-08 13:27:11 +01:00
vis2k
aafe387899 add comment 2020-01-08 12:16:58 +01:00
vis2k
a71ecdba4a fix: #1380 - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. 2020-01-08 11:32:29 +01:00
vis2k
a2173d37db NetworkConnection.DestroyOwnedObjects clears the hashset afterwards 2020-01-08 11:04:57 +01:00
vis2k
43030ac917 NetworkConnection.DestroyOwnedObjects to move code out of NetworkServer 2020-01-08 11:04:17 +01:00
Chris Langsenkamp
6111021252 meta file 2020-01-08 01:34:09 -05:00
vis2k
228b32e1da fix: #1241 - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. 2020-01-07 20:55:34 +01:00
vis2k
2dc13e9666
Merge pull request #1404 from vis2k/NetTransAuthority
fix: Use hasAuthority instead of isLocalPlayer
2020-01-07 16:24:27 +01:00
Chris Langsenkamp
3d3436c80a Renamed and added comment 2020-01-07 10:17:44 -05:00
vis2k
28803b90de
Merge pull request #1405 from vis2k/NetAnimClientAuthCheck
fix: Check clientAuthority in NetworkAnimator
2020-01-06 15:15:37 +01:00
vis2k
25277e00ad
Merge pull request #1406 from vis2k/Remove-DDOL-Escape
Remove DDOL escape
2020-01-06 15:15:07 +01:00
vis2k
bfe90857bb Log is enough for now 2020-01-06 12:51:01 +01:00
vis2k
474a9480a5 ConnectHost moved into FinishStartHost 2020-01-06 12:36:03 +01:00
vis2k
3eb11c9a2d FinishLoadScene uses new NetworkManager.mode. This way the host connection doesn't need to be connected before changing host server's online scene. This makes everything easier. 2020-01-06 12:35:56 +01:00
vis2k
b9c9a3c350 NetworkManager.mode to simplify FinishLoadScene afterwards 2020-01-06 12:35:49 +01:00
Chris Langsenkamp
5a728ac4e6 Remove DDOL escape 2020-01-06 06:04:08 -05:00
Chris Langsenkamp
00149f3a2d Fixed comment 2020-01-06 04:27:43 -05:00
Chris Langsenkamp
847d02cfda Add clientAuthority check 2020-01-05 20:01:42 -05:00
Chris Langsenkamp
7b1761ea1e Add clientAuthority check 2020-01-05 19:56:33 -05:00
MrGadget
039cf5af22
Use hasAuthority instead of isLocalPlayer
This allows non-player objects that have been assigned authority to the client to be moved around by the client and their positions updated from that client appropriately when clientAuthority is also true.
2020-01-05 18:50:13 -05:00
vis2k
7776049526 ConnectHost moved into FinishStartHost 2020-01-05 20:42:41 +01:00
vis2k
f33d90a4ca FinishLoadScene uses new NetworkManager.mode. This way the host connection doesn't need to be connected before changing host server's online scene. This makes everything easier. 2020-01-05 20:38:18 +01:00
vis2k
1fe1ca730c NetworkManager.mode to simplify FinishLoadScene afterwards 2020-01-05 20:35:00 +01:00
vis2k
ccb45a6215 FinishLoadSceneHost doesn't call OnClientSceneChanged if the scene changed because of a StartHost call. fixes a bug where AddPlayer was called twice in mrgadget's simple scenes example. 2020-01-05 20:30:22 +01:00
vis2k
df9c29a6b3 fix: FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. 2020-01-05 19:49:26 +01:00
vis2k
4f169b021d add comment 2020-01-05 19:26:14 +01:00
vis2k
fadcd46eff add more comments 2020-01-05 19:14:44 +01:00
vis2k
5029bc5253 StartHost: add comment on what StartHostClient does 2020-01-05 19:14:02 +01:00
vis2k
7f7658ad75 add comment 2020-01-05 19:12:34 +01:00
vis2k
f7500a2a82 OnClientConnect: explain clientLoadedScene flag 2020-01-05 19:04:46 +01:00
vis2k
af878bd915
Merge pull request #1388 from paulpach/privatehandler
refactor: this should not be accessible
2020-01-03 09:49:06 +01:00
vis2k
654979aa3c
Merge pull request #1387 from vis2k/UpdateRoomExample
Room Example: NetworkManager moved to Offline scene
2020-01-03 09:48:40 +01:00
vis2k
217f880191
Merge pull request #1389 from paulpach/privatevislist
fix: it is not safe to modify this outside this class
2020-01-02 10:35:28 +01:00
Paul Pacheco
ae3860f51b refactor: use save parameter name as overriden method 2020-01-01 20:28:43 -06:00
Paul Pacheco
addbd91fbd Fix floating point comparison 2020-01-01 20:28:43 -06:00
Paul Pacheco
480350d413 refactor: avoid unused private warning 2020-01-01 20:28:43 -06:00
Paul Pacheco
bd7e27c662 refactor: remove unnecesary base. 2020-01-01 20:22:03 -06:00
Paul Pacheco
12c10a3896 refactor: reuse authentication expiration 2020-01-01 20:11:50 -06:00
Paul Pacheco
12de543aa4 fix: move NetworkStreamExtension in a namespace 2020-01-01 20:02:37 -06:00
Paul Pacheco
7ce95c5cea fix: null reference exception 2020-01-01 19:59:07 -06:00
Paul Pacheco
bc7a961e4d fix: it is not safe to modify this outside this class 2020-01-01 19:56:56 -06:00
Paul Pacheco
663773c3fc refactor: this should not be accessible 2020-01-01 19:55:20 -06:00
Paul Pacheco
33493a0137 fix: potential null reference exception with debug logging 2020-01-01 19:34:55 -06:00
Paul Pacheco
2668b17162 fix: move listserver classes into package 2020-01-01 19:09:37 -06:00
Paul Pacheco
f02d3174db fix: list server logs properly when disconnected 2020-01-01 19:07:48 -06:00
Paul Pacheco
a438216458 refactor: Remove double semicolon 2020-01-01 15:33:52 -06:00
Chris Langsenkamp
97871e23c2 Updated ReadMe 2020-01-01 15:56:40 -05:00
Chris Langsenkamp
147ddab13e NetworkManager moved to Offline scene 2020-01-01 15:46:36 -05:00
Chris Langsenkamp
f64cf6e3db Update Prefabs & Scenes to Master 2020-01-01 12:34:30 -05:00
vis2k
c2d817259b NetworkManager.FinishLoadScene: split into host/server/client functions to prepare for further improvements 2020-01-01 13:34:34 +01:00
vis2k
5d68ef2c28 update comment 2020-01-01 12:49:59 +01:00
vis2k
11586a4177 explain StartHost 2020-01-01 12:18:07 +01:00
vis2k
9d9625b42f explain StartServer 2020-01-01 12:16:01 +01:00
Paul Pacheco
05ce317714 refactor: cleanup code format using dotnet-format 2019-12-31 23:14:17 -06:00
Paul Pacheco
1d20a27879 Follow naming convention for private variable 2019-12-31 22:23:20 -06:00
Paul Pacheco
c90bbaa66b Follow naming convention for private variable 2019-12-31 22:23:08 -06:00
Paul Pacheco
c31e7c8202 Follow naming conventions 2019-12-31 22:18:24 -06:00
Paul Pacheco
cfc280a527 Don't use deprecated methods in test 2019-12-31 21:27:48 -06:00
Paul Pacheco
e8ca3401d0 Don't use deprecated methods in test 2019-12-31 21:24:07 -06:00
Chris Langsenkamp
f117bdb9fc Filled in missing summary comments 2019-12-31 09:54:03 -05:00
vis2k
588117e6d4 add comment 2019-12-31 15:39:08 +01:00
vis2k
c4e3c2debf ServerChangeScene: disable Transport before sceneload call. it's cleaner this way. 2019-12-31 15:34:24 +01:00
vis2k
a603a55ed5 syntax 2019-12-31 15:33:41 +01:00
vis2k
0ed0c077fb remove empty line 2019-12-31 15:28:33 +01:00
vis2k
21045466bf NetworkManager.ConnectLocalClient renamed to StartHostClient for consistency with StartClient (it does almost the same as StartClient) 2019-12-31 12:09:21 +01:00
vis2k
97fd6b5d7e NetworkManager.StartHost: OnStartClient call moved into ConnectLocalClient for consistency with StartClient functions 2019-12-31 12:07:22 +01:00
vis2k
0b0c1edad2 update log message 2019-12-31 12:06:20 +01:00
vis2k
668d6a063d NetworkManager.ConnectLocalClient moved higher near StartClient because it's similar 2019-12-31 12:06:09 +01:00
vis2k
a472edd14c NetworkClient.SetupLocalConnection renamed to ConnectHost for consistency with NetworkClient.Connect (it does almost the same anyway) 2019-12-31 11:10:10 +01:00
vis2k
b36c347200 call OnStartHost AFTER SetupServer 2019-12-31 11:02:21 +01:00
vis2k
ed260cfb18 add comments 2019-12-31 10:24:21 +01:00
vis2k
23b5b50155 Call SetupLocalConnection after SetupServer to prepare for local connection removal, where a real connection can only connect to the server after it was started, not before. 2019-12-31 10:24:10 +01:00
vis2k
07a85309e0 StartHost calls SetupServer + scene change + spawnobjects manually 2019-12-31 10:14:42 +01:00
vis2k
539fe69585 StartServer code mostly moved into SetupServer 2019-12-31 10:11:20 +01:00
vis2k
a8d3e0c998 move log message above 2019-12-31 09:41:05 +01:00
vis2k
e54728d1cc NetworkManager.StartServer changed to void because it always returned true 2019-12-31 09:40:53 +01:00
vis2k
9969cc1c08 NetworkServer.Listen changed to void because it always returned true 2019-12-31 09:32:51 +01:00
vis2k
8787910d34 add comment 2019-12-31 09:30:29 +01:00
vis2k
2971345f37 NetworkManager.StartServer: scene change check moved into IsServerOnlineSceneChangeNeeded 2019-12-31 09:26:13 +01:00
Paul Pacheco
39817fcf00 docs: refer to the correct RegisterHandler method 2019-12-30 13:17:40 -06:00
Chris Langsenkamp
3a17699c23 Cleared Spawn Prefabs - not needed 2019-12-30 13:15:21 -05:00
vis2k
892acf272c explain SetupLocalConnection order properly 2019-12-30 18:47:24 +01:00
vis2k
cfe9520f7c add comments 2019-12-30 17:37:44 +01:00
Chris Langsenkamp
53b160e480 Update NetworkBehaviour Template 2019-12-30 09:47:44 -05:00
vis2k
3e28b10dcb syntax 2019-12-30 13:33:02 +01:00
vis2k
d712cd0303 fix: NetworkTransform clientAuthority works again via clientAuthority option that is configurable in inspector. this had to be fixed after we removed local authority. 2019-12-30 11:09:18 +01:00
vis2k
e8015dfc80 typos 2019-12-30 09:12:24 +01:00
vis2k
87376ae3af SendTargetRPCInternal: disallow all connections to server, not just the local client one 2019-12-29 22:07:47 +01:00
vis2k
53aa0bcc19 improve comments 2019-12-29 21:42:42 +01:00
vis2k
ee1807c85c remove empty line 2019-12-29 21:36:07 +01:00
Paul Pacheco
7258823a3c Test that OnStartServer is propagated by NI 2019-12-27 19:20:01 -06:00
Julien Heimann
3c0bc28228 feat: generate serializers for IMessageBase structs (#1353)
* Allow Weaver to add bodies to IMessageBase structs with empty de/serialize methods

* Update Assets/Mirror/Editor/Weaver/Processors/MessageClassProcessor.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* applied suggested changes

* adjusted empty method check

* Update Assets/Mirror/Editor/Weaver/Processors/MessageClassProcessor.cs

formatting

Co-Authored-By: vis2k <info@noobtuts.com>

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
2019-12-27 10:12:28 -06:00
MrGadget
b34ae51965 Replace License.txt (#1360) 2019-12-26 09:51:56 -06:00
vis2k
4cc4279d7d fix: #1359. Revert "Destroy objects owned by this connection when disconnecting (#1179)"
This reverts commit 8931944005.
2019-12-26 13:43:02 +01:00
MrGadget
8e77da3424 Call OnClientConnect in FinishLoadScene (#1357) 2019-12-26 10:07:37 +01:00
MrGadget
ba3f855c98 Add Meta Files (#1358) 2019-12-26 10:07:08 +01:00
Paul Pacheco
d7a58d25d4
fix: destroy owned objects (#1352)
* fix: destroy owned objects

fix #1346
Broken in PR #1206

alternative to #1351

* fix nre

* Simplify
2019-12-23 19:25:16 -06:00
Paul Pacheco
d83efbbd8d Test connect and send 2019-12-23 19:06:14 -06:00
Paul Pacheco
e7abf4e7c7 Test transport events 2019-12-23 18:06:00 -06:00
Paul Pacheco
fe39459181 Test ClientSend 2019-12-23 17:44:03 -06:00
Paul Pacheco
ad115af845 Test ClientDisconnect 2019-12-23 17:37:50 -06:00
Paul Pacheco
947c473a3d Test ClientConnected 2019-12-23 17:23:58 -06:00
Paul Pacheco
3e0802607a Test connecting with uri 2019-12-23 16:44:40 -06:00
Paul Pacheco
1eff4ed4e6 Test connect 2019-12-23 16:36:13 -06:00
Paul Pacheco
caece9ecde Fully initialize multiplex for testing 2019-12-23 16:29:40 -06:00
Paul Pacheco
a132a9c47a Test available method 2019-12-23 16:26:25 -06:00
Paul Pacheco
c6af3c39f7 Add NSubstitute 2019-12-23 16:19:03 -06:00
Paul Pacheco
b55cf957a8 refactor: move ninja websocket in it's own assembly 2019-12-23 16:03:09 -06:00
Paul Pacheco
885e1f4c73
test: Mocking library for testing (#1350)
* Include mocking libraries

* reimported nsubstitute dlls

* Only include as part of test assemblies
2019-12-23 14:51:20 -06:00
Paul Pacheco
9f2dca56f0 refactor: compatibility with 2019.3 2019-12-23 13:40:16 -06:00
Paul Pacheco
a800064d8a test: Test packing floats into ushort 2019-12-23 12:52:39 -06:00
Paul Pacheco
ad2bee222a test: removing pair test 2019-12-23 12:25:14 -06:00
Paul Pacheco
f12fa2f51a test: Simplify tests 2019-12-23 12:21:50 -06:00
Paul Pacheco
60cfea0d14 test: copyto tests 2019-12-23 11:37:53 -06:00
MrGadget
abd2af9001 Made loadingSceneAsync public (#1349) 2019-12-23 08:32:15 +01:00
MrGadget
58f573729f Allow Custom Scene Handling (#1329) 2019-12-22 19:59:35 +01:00
MichalPetryka
3d94f4b6c7 Remove trailing whitespace and fix encodings (#1342) 2019-12-22 11:58:52 +01:00
vis2k
307f129bd7 remove trailing whitespaces 2019-12-22 11:13:18 +01:00
vis2k
4c6805cf86 update comment 2019-12-22 11:12:45 +01:00
vis2k
45a8e6367b Telepathy updated to latest version 2019-12-22 09:33:26 +01:00
vis2k
93d3511266 add comment 2019-12-22 09:24:31 +01:00
vis2k
54498403a5
fix: potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes when using FallbackTransport. (#1331) 2019-12-22 09:18:51 +01:00
Paul Pacheco
9926472d98
feat: Chat example (#1305)
* Add chat example

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Change package to chat

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* UI FIxes

* Lighting

* Fixed ScrollView

* Fixed username assignment

* removed commented line

* Layout refinement

* remove empty lines

Co-Authored-By: MrGadget <chris@clevertech.net>

* fixed which element was enabled

* Strip unprintable characters

* reverted ASCI filter

Co-authored-by: MrGadget <chris@clevertech.net>
2019-12-21 13:22:02 -06:00
vis2k
b3127beb89 fix: MultiplexTransport GetMaxMessageSize NullReferenceException when called on server. And fixes potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes. (#1332) 2019-12-21 08:09:33 -06:00
MrGadget
9a0127aadc Remove usings (#1327)
* Removed extraneous usings

* Removed extraneous usings

* Removed extraneous usings
2019-12-21 10:26:22 +01:00
MrGadget
ea4fc93159 Add return to ClientConnect(Uri) (#1326) 2019-12-20 21:46:52 +01:00
MrGadget
0e705d4aa0 Remove all extraneous blank lines (#1325) 2019-12-20 21:46:16 +01:00
MrGadget
b479b8ee51 Put the return back in ClientConnect (#1324) 2019-12-20 21:16:45 +01:00
MrGadget
1be4de3f63 Adjust cameras for server view (#1318) 2019-12-19 08:06:00 +01:00
Chris Langsenkamp
a5d369f96c fixed comment 2019-12-18 16:53:09 -05:00
MrGadget
abf5cdcf36 feat: Add roomPlayer parameter to OnRoomServerCreateGamePlayer (#1317)
* Adds roomPlayer parameter to OnRoomServerCreateGamePlayer

* fixed template
2019-12-17 10:16:14 +01:00
vis2k
6fb8a32f5b
remove NetworkIdentityEditor because it's not really needed after removing local player authority (which required special checks to only show one option at a time). Also fixes #1289 (#1309) 2019-12-16 08:50:47 +01:00
Paul Pacheco
a2e17108b6 display the whole connection 2019-12-13 08:03:15 -06:00
Paul Pacheco
dbe064393a
fix: error when there are no network behaviors (#1303)
Use the lazy network behaviors cache everywhere, so this can never be null
2019-12-12 20:28:31 -06:00
MrGadget
ca4ff9b6b2 Fix Delayed Disconnect (#1302) 2019-12-12 20:02:23 -06:00
MrGadget
3684033f6a Restore clientAuthorityCallback (#1298) 2019-12-12 19:31:11 -06:00
MrGadget
c6678eb3f1 No point in calling this here (#1300) 2019-12-12 19:30:40 -06:00
MrGadget
a18d6b5eaa Unused field (#1299) 2019-12-12 19:11:20 -06:00
Paul Pacheco
e4a701ed4e feat: fallback transport now supports uri (#1296) 2019-12-10 17:13:32 +01:00
Paul Pacheco
c206f9ad97 feat: Multiplex based on url (#1295)
If the multiplex transport receives an url for connection,
try all the underlying transports until it finds a suitable one

For example,  let's say you configure a multiplex transport with telepathy and websocket,  if you try:
```cs
NetworkManager.StartClient("tcp4://host:port");
```

then the multiplex transport will use telepathy.

if we pass:
```cs
NetworkManager.StartClient("ws://host:port");
```

then the multiplex transport will select websocket
2019-12-10 07:36:42 +01:00
Paul Pacheco
7865a840b6 feat: LLAPI transport can receive port from uri (#1294)
* feat: LLAPI transport can receive port from uri

* Refactor to use the original method
2019-12-09 21:52:50 +01:00
Paul Pacheco
c8ad118d50 feat: websocket can receive port in url (#1287)
* feat: websocket can now receive port and encryption setting from uri

* check for ws or wss scheme
2019-12-09 16:52:39 +01:00
Paul Pacheco
06946cf37f feat: telepathy can now receive port from uri (#1284)
* feat: telepathy can receive port from uri

* Use configured port if the url does not have one

* use tcp4 as scheme for telepathy

* don't change default port

* Update TelepathyTransport.cs

* Update TelepathyTransport.cs
2019-12-08 19:48:26 +01:00
vis2k
e766f7b511 Update list server header text 2019-12-08 09:08:35 +01:00
Tor Esa Vestergaard
a0425e4e84 fix: Draw SyncVar label for Unity objects inline (#1291)
* SyncVar label for Unity objects is now drawn inline instead of on the next line

* Made syncVarIndicatorContent static

Did it since there's no need to have that allocation per editor instance.
2019-12-07 14:29:14 +01:00
MrGadget
c8aabd246a Fix Inspector Refresh (#1290) 2019-12-07 09:20:31 +01:00
MrGadget
7843b12f7f Make startPositionIndex public (#1288)
* Make startPositionIndex public

startPositions is a public list, so the index should be too.

* Update NetworkManager.cs

* Update NetworkManager.cs
2019-12-06 06:55:38 +01:00
Paul Pacheco
f9d34d5863
feat: Mirror now supports message inheritance (#1286)
* test: child messages should serialize parent's data

* feat: Mirror now supports inheritance for messages
2019-12-05 11:21:42 -06:00
Paul Pacheco
7e4023246b fix: Don't set asset id for scene objects
Fixes this warning:
```
SetDynamicAssetId object already has an assetId <68fb15ce5f2e7eb44a8ac123d853b91a>
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Mirror.NetworkIdentity:set_assetId(Guid) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkIdentity.cs:165)
Mirror.ClientScene:ApplySpawnPayload(NetworkIdentity, SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\ClientScene.cs:470)
Mirror.ClientScene:OnSpawn(SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\ClientScene.cs:529)
Mirror.<>c__DisplayClass35_0`1:<RegisterHandler>b__0(NetworkConnection, SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkClient.cs:400)
Mirror.<>c__DisplayClass7_0`1:<MessageHandler>b__0(NetworkMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\MessagePacker.cs:163)
Mirror.NetworkConnection:InvokeHandler(Int32, NetworkReader, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkConnection.cs:271)
Mirror.NetworkConnection:TransportReceive(ArraySegment`1, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkConnection.cs:325)
Mirror.NetworkClient:OnDataReceived(ArraySegment`1, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkClient.cs:149)
UnityEngine.Events.InvokableCall`2:Invoke(ArraySegment`1, Int32)
UnityEngine.Events.UnityEvent`2:Invoke(ArraySegment`1, Int32)
Mirror.TelepathyTransport:ProcessClientMessage() (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\Transport\TelepathyTransport.cs:79)
Mirror.TelepathyTransport:LateUpdate() (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\Transport\TelepathyTransport.cs:106)
```
2019-12-05 05:15:43 -06:00
Paul Pacheco
00b51364ac improve warning message 2019-12-05 05:12:44 -06:00
Paul Pacheco
7c3622cfae feat: new way to connect using uri (#1279)
* feat: new way to connect using uri

* set the host name when starting by url
2019-12-05 11:57:24 +01:00
Paul Pacheco
0e1bc8110f
fix: ReplacePlayer now calls OnStartLocalPlayer (#1280)
* fix: ReplacePlayer now calls OnStartLocalPlayer

fixes #962

* fix: replace player cannot steal another player
2019-12-04 14:54:50 -06:00
MrGadget
b23cfc739d Fix ServerChangeScene (#1281) 2019-12-04 14:49:33 -06:00
MrGadget
555d0d9cc0 Add true for keepAuthority (#1277) 2019-12-03 08:49:11 +01:00
vis2k
13e2dcccd9
breaking: SyncList.Callback passes old and new entries instead of only passing one entry which is sometimes the old, sometimes the new entry. This is more consistent and it's very useful to know the previous value in a hook for OP_SET and OP_DIRTY. (#1273)
* feature: SyncList.Callback passes old and new entries instead of only passing one entry which is sometimes the old, sometimes the new entry. This is more consistent and it's very useful to know the previous value in a hook for OP_SET and OP_DIRTY.

* update tests

* update docs
2019-12-03 08:35:41 +01:00
vis2k
97e838b932 SyncDictionary: remove unused OP_DIRTY operations 2019-12-03 08:17:55 +01:00
vis2k
4b9dcbf9f4 SyncList: remove unused OP_DIRTY operations 2019-12-03 08:16:44 +01:00
vis2k
c5079ada6c
remove SyncDictionary.Dirty function because it's unused and we removed it for SyncList already too (#1272) 2019-12-03 08:12:12 +01:00
Paul Pacheco
ad724fe23c fix: replace player (remove authority by default) (#1261)
* fix: remove authority properly in replace player

This is an alternative to #1257

Now the user can pass a parameter to ReplacePlayer to indicate
that the old player should remain attached to the connection.

Note the user could simply pass true and then call RemoveAuthority themselves
which was the approach in #1257

Personally I would prefer #1257,  but this is at least better than
master because authority is removed the proper way.

* Update NetworkServer.cs
2019-12-03 08:11:39 +01:00
MrGadget
8012972b0e Removed non-implemented overload (#1276) 2019-12-03 08:01:52 +01:00
vis2k
1eae07fa2c remove unused SyncList.Dirty function 2019-12-02 11:50:18 +01:00
MrGadget
7898dc2347 Restore Room Player Authority (#1267) 2019-12-02 08:48:27 +01:00
MrGadget
1ed12dba79 Require Network Transform (#1269) 2019-12-02 06:41:07 +01:00
MrGadget
42a4a7cb00 Add Return button to Room Manager (#1268)
* Add Return button to Room Manager

* Simplified GUI

* Fixed height
2019-12-02 06:40:55 +01:00
MrGadget
cddef72b41 Move scoring to PlayerScore (#1266) 2019-12-02 06:40:11 +01:00
MrGadget
e6f8f3c46f Improve Turn and Jump (#1265) 2019-12-02 06:39:56 +01:00
Paul Pacheco
8899d20712
fix: Additive scene can respawn objects safely (#1270)
* fix: Additive scene can respawn objects safely

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: MrGadget <chris@clevertech.net>
2019-12-01 22:48:08 -06:00
Paul Pacheco
c753089478
fix: don't call OnStartLocalPlayer twice (#1263) 2019-12-01 09:55:57 -06:00
Paul Pacheco
4d373c5071
fix: call OnStartClient only once in room (#1264) 2019-12-01 09:55:38 -06:00
Paul Pacheco
2195fee81c fix: set authority when replacing the player 2019-11-30 07:09:06 -06:00
Paul Pacheco
c58ead16a6 Remove unused method 2019-11-29 23:10:25 -06:00
MrGadget
e8841a3c1d
Merge pull request #1259 from paulpach/fix2clients
fix: issue with more than 1 client
2019-11-29 19:58:07 -05:00
Paul Pacheco
095b54752a isClient is already true, so make sure to initialize the objects 2019-11-29 18:23:46 -06:00
Paul Pacheco
ab73fbcf7a
Simplify isServer (#1258) 2019-11-29 18:06:44 -06:00
Chris Langsenkamp
55dabf2755 Updated Templates 2019-11-29 18:44:55 -05:00
Paul Pacheco
4816f0ead1
Spawn host objects via spawn, just like clients (#1248)
* Spawn host objects works via messages just like clients

* fix spawning local player

* Do not call OnStartClient twice
2019-11-29 17:25:32 -06:00
Paul Pacheco
b8618d356f Revert "fix: replacing the player does not mean giving up authority (#1254)"
This reverts commit a2c273ecd1.
2019-11-29 16:04:06 -06:00
Paul Pacheco
fb26d0023f
fix: isLocalPlayer is true during OnStartClient for Player (#1255)
related to #1250 but for client mode.

Before:

```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

After:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
2019-11-29 15:40:38 -06:00
Paul Pacheco
a2c273ecd1
fix: replacing the player does not mean giving up authority (#1254) 2019-11-29 15:02:55 -06:00
Paul Pacheco
9acde20b0a
fix: isLocalPlayer works in host mode onStartServer (#1253)
See #1250

Before:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

after

```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=True
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=True
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

Note it is not possible to fix Awake because it gets called before we
have any chance of setting any property
2019-11-29 14:34:07 -06:00
Paul Pacheco
d00c95bb55
fix: isClient now reports true onStartServer in host mode (#1252) 2019-11-29 14:10:46 -06:00
Paul Pacheco
2f19c7ca89
fix: hasAuthority is now visible in all overrides (#1251)
See #1250

Before:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

After:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=True isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
2019-11-29 13:09:46 -06:00
Paul Pacheco
7aa7815754 fix: Call hooks when initializing objects OnStartServer on host (#1249) 2019-11-29 15:12:06 +09:00
Paul Pacheco
7119dd15f8
fix: Do not call InternalAddPlayer twice (#1246) 2019-11-28 13:47:31 -06:00
MrGadget
4c0fb9ba34 Simplified Spawner (#1244) 2019-11-28 10:35:23 -06:00
MrGadget
d0c0f394f7 Auto Assign Character Controller (#1245) 2019-11-28 10:34:18 -06:00
MrGadget
d963e29d95 Made RandomColor a Separate Component (#1240)
* Made RandomColor a separate component

* Adjusted Prefab

* Simplified OnValidate

* Reverted unrelated changes
2019-11-28 09:42:46 -06:00
Chris Langsenkamp
c89ba52e3d Change to using Color32 2019-11-27 21:32:25 -05:00
Paul Pacheco
a282c32394 clearer comment 2019-11-27 18:18:59 -06:00
Paul Pacheco
9a2ff84440 space in comment 2019-11-27 18:17:32 -06:00
Paul Pacheco
888e46c685 fix: OnSetHostVisibility can now check if it has authority 2019-11-27 17:53:30 -06:00
vis2k
d2075002ca improve comment 2019-11-25 19:15:04 +09:00
vis2k
91fc3c25db remove trailing whitespace 2019-11-25 19:11:55 +09:00
vis2k
ba88ca6ab5 explain the special case in RebuildObservers 2019-11-25 19:11:47 +09:00
Chris Langsenkamp
fad50818bf Added AddComponentMenu empties and namespace 2019-11-24 14:35:19 -05:00
Chris Langsenkamp
37e5b49f28 Removed extraneous comments 2019-11-24 09:46:41 -05:00
Chris Langsenkamp
210540b669 Fixed Obsolete comment 2019-11-24 08:38:47 -05:00
Paul Pacheco
3b9414f131 perf: spawn with client authority only takes 1 message (#1206)
* perf: spawn with client authority only takes 1 message now

* Fix javadocs and warning

* Rename parameters

* Make sure we spawn players with authority
2019-11-24 10:22:43 +09:00
Paul Pacheco
5b04836bb2 fix: spawnwithauthority works again in host mode 2019-11-24 10:16:15 +09:00
Paul Pacheco
92d0df7b39 feat: SyncToOwner now works with authority (#1204)
* WIP redoing authority

* Local client also handles authority

* Remove unused callback

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Rename pendingOwner

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>
2019-11-23 15:07:00 +09:00
Paul Pacheco
24d8368b38 refactor: reuse connectionToClient for authority (#1200)
* refactor: reuse connectionToClient for authority

* Fix compilation issue

* Make PR easier to read

* Better error message

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: MrGadget <chris@clevertech.net>
2019-11-23 15:00:53 +09:00
Paul Pacheco
876da8bbcd refactor: Simplify spawning 2019-11-23 14:54:37 +09:00
MrGadget
1e96cb7a8a Replaces SpawnWithClientAuthority with Spawn Overloads (#1233)
* Replaces SpawnWithClientAuthority with Spawn Overloads

* Cleaned up comments and log messages
2019-11-23 14:26:27 +09:00
vis2k
e847344bde syntax 2019-11-23 11:59:04 +09:00
vis2k
f0cf4e7e14 Replace 'local client' naming with 'host' to be less confusing. This breaks NetworkProximityChecker.OnSetLocalVisibility because it needs to be renamed to OnSetHostVisibility
* rename parameter

* obsolete

* rename parameter
2019-11-23 11:34:47 +09:00
Paul Pacheco
1d4b1faac2 docs: fix link to spawn custom player 2019-11-23 11:03:27 +09:00
Paul Pacheco
0bc151bb27 Obsolete built in messages 2019-11-23 11:03:18 +09:00
Paul Pacheco
c669ff155d perf: avoid allocation for error messages 2019-11-23 11:03:08 +09:00
vis2k
1c7c54305d add missing meta file 2019-11-23 11:00:49 +09:00
Chris Langsenkamp
638b445744 Update Prefabs After LocalPlayerAuthority Removed 2019-11-23 10:59:52 +09:00
MrGadget
8cf6a0707e feat: Script Templates (#1217)
* Add Script Templates

* Moved serialization section down

* Added comments to Awake & Start

* Capitalization

* meta files

* Added doc links and XML comments
2019-11-23 10:59:38 +09:00
Chris Langsenkamp
477028913a Update Prefabs After LocalPlayerAuthority Removed 2019-11-23 10:59:21 +09:00
Chris Langsenkamp
1699335aaa fixed comment 2019-11-23 10:59:12 +09:00
Paul Pacheco
d741baed78 feat: Pass all information to spawn handler (#1215) 2019-11-23 10:57:52 +09:00
ZacNorthBigBox
701f4f4183 fix: Pass the name of the invoking class and desired command when an object has no authority. (#1216) 2019-11-23 10:57:45 +09:00
Paul Pacheco
2c58902357 Code style 2019-11-23 10:57:40 +09:00
Paul Pacheco
2081a757ea Remove unused connection id cache
Good find by MrGadget
2019-11-23 10:57:32 +09:00
Paul Pacheco
2d4d4109bb Make list cache readonly 2019-11-23 10:57:25 +09:00
Paul Pacheco
c2096d0fb7 Available transport is determined at connection time (#1213)
* Available transport is determined at connection time

* Update MultiplexTransport.cs
2019-11-23 10:57:11 +09:00
Paul Pacheco
ce305d95fc Removed unused code 2019-11-23 10:57:09 +09:00
Paul Pacheco
15e03d9bbf Removed unused code 2019-11-23 10:57:06 +09:00
Paul Pacheco
7ba4bc3590 use C# formatter 2019-11-23 10:56:53 +09:00
Paul Pacheco
09f6892c55 feat: An authenticator that times out other authenticators (#1211)
* feat: An authenticator that times out other authenticators

* Clean up some spaces

* Add tooltip for timeout
Disable timeout with 0

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Remove space

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* use float for time

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs
2019-11-23 10:56:51 +09:00
Chris Langsenkamp
d821013deb Added HelpURL to NetworkBehaviour 2019-11-23 10:56:22 +09:00
Chris Langsenkamp
e33f2e84cb Updated summary comments 2019-11-23 10:56:04 +09:00
Paul Pacheco
bf9eb610dc feat: NetworkConnection is optional for handlers (#1202)
* feat: NetworkConnection is optional for handlers

* make NetworkConnction optional in handlers
2019-11-23 10:52:24 +09:00
Paul Pacheco
12fd2ae6fc Remove redundant namespace 2019-11-23 10:52:12 +09:00
Paul Pacheco
236dcb6734 remove redundant type parameter 2019-11-23 10:52:02 +09:00
Paul Pacheco
1531281516 Enforce proper type for connectionToClient 2019-11-23 10:51:50 +09:00
vis2k
db99dd7b3d fix: when modifying a prefab, Unity calls OnValidate for all scene objects based on that prefab, which caused Mirror to reset the sceneId because we only checked if a prefab is currently edited, not if THIS prefab is currently edited 2019-11-03 14:33:59 +01:00
vis2k
188b74edd6
Fallback Transport (#1198)
* Fallback Transport

* doc

* doc

* help URL

* exception

* fixed help url
2019-11-03 00:04:59 +01:00
Paul Pacheco
f70a2ac702 refactor: Simplify spawn message (#1195)
* refactor: Simplify spawn message

* Update Assets/Mirror/Runtime/Messages.cs

* fix brainfart

* consolidate spawning logic

* simpler find

* remove unnecesary private keyword

* Remove redundant else
2019-10-31 10:07:37 +01:00
vis2k
6765da2387 Make Transport.Available() abstract (#1194)
* Make Transport.Available() abstract

* better
2019-10-30 13:02:07 -07:00
vis2k
7fe8888df5 perf: MultiplexTransport: avoid Linq allocations that would happen on every packet send because Send calls .ServerActive() each time 2019-10-30 20:18:02 +01:00
Paul Pacheco
40f50ac908 breaking: Remove localPlayerAuthority (#1192)
* breaking: Remove localPlayerAuthority (#1188)

* breaking: Remove localPlayerAuthority

This flag does not do anything useful in anything but NetworkAnimator
so NetworkAnimator can keep it's own flag.

* Add tooltip with explanation

* Editor should no longer access localPlayerAuthority property
2019-10-30 18:13:25 +01:00
Paul Pacheco
7df3ce37d1 fix: Don't throw exception getting address 2019-10-30 09:30:58 -07:00
Paul Pacheco
6cbef06e00 Simplify editor a bit 2019-10-30 05:49:04 -07:00
vis2k
d9afbfe4c9
rename 'owner' to 'isLocalPlayer' to prepare to be less confusing (#1185) 2019-10-27 16:30:06 +01:00
vis2k
27daf3fb0b remove old comment 2019-10-27 15:01:21 +01:00
Paul Pacheco
8931944005 Destroy objects owned by this connection when disconnecting (#1179)
* Destroy objects owned by this connection when disconnecting

* How did this get here?

* Simplify keeping track of owned objects
2019-10-27 14:55:12 +01:00
Paul Pacheco
4d9e5809ee tests: unit test local connections (#1184) 2019-10-27 14:47:06 +01:00
Paul Pacheco
f94adbf09b refactor: local connections maintain their own queue (#1183)
* refactor: local connections maintain their own queue

* pass message to the counterpart connection

* Update LocalConnections.cs

* Update LocalConnections.cs
2019-10-27 14:09:54 +01:00
MrGadget
2d13512642 Remove redundant force authority (#1180) 2019-10-26 10:38:29 +02:00
Paul Pacheco
8d886ecf69 Remove leftover xmldoc parameter 2019-10-25 23:38:33 -05:00
Paul Pacheco
2ae5f0ddfc Make sure we use a connection to client for clientAuthorityOwner 2019-10-25 23:09:19 -05:00
Paul Pacheco
24a7968cc2
refactor: Split NC for clients and servers (#1175)
NetworkConnection has been broken down into:

NetworkConnection

NetworkConnectionToClient
NetworkConnectionToServer
This way each class does one thing only, instead of trying to accommodate client and server functionality in the same class.

I can't go any further than this without breaking a lot of code. Ideally we would move the connectionId down to NetworkConnectionToClient, but that will result in a lot of breaking changes.
2019-10-25 23:01:54 -05:00
MrGadget
51653ed811 Remove Authority Set (#1178) 2019-10-25 13:13:57 +02:00
Paul Pacheco
1ec8910575
perf: allocation free syncdict foreach, fix #1172 (#1174) 2019-10-23 08:40:55 -05:00
Paul Pacheco
13e4e6fe3a refactor: make it clearer that connection id is 0 or possitive 2019-10-23 07:21:20 -05:00
Paul Pacheco
035e6307f9 perf: allocation free enumerator for syncsets, fixes #1171 (#1173) 2019-10-23 11:36:52 +02:00
Paul Pacheco
ade7e76f45 This method should never be used by users 2019-10-22 20:23:48 -05:00
Paul Pacheco
745ef89e8c make it clearer that connection id can't be -1
It was already impossible for he connection id to be -1
So make it clear.
Also make sure the connection id cannot change
2019-10-22 19:48:51 -05:00
Paul Pacheco
c0a7c8a6db Users should never be creating NetworkConnections directly 2019-10-22 19:44:54 -05:00
Paul Pacheco
9dea4856ac obsolete: Players should not really use connectionId 2019-10-22 18:46:36 -05:00
MichalPetryka
4ffd5a2e06 perf: Custom IEnumerator for SyncLists to avoid allocations on foreach (#904)
* Custom IEnumerator for SyncLists to avoid allocations on foreach

* add comments and benchmark

* remove unnecessary 'private'

* syntax
2019-10-22 17:41:09 +02:00
Paul Pacheco
60b2dcb94b
refactor:use ToString() to display connections (#1170) 2019-10-22 08:34:19 -05:00
vis2k
0a22e61787 add comment 2019-10-22 15:10:25 +02:00
Paul Pacheco
94eda38803 feat: Remove Command shortcut for host mode (#1168) 2019-10-22 10:13:27 +02:00
Paul Pacheco
22b45f7a11 perf: Use RemoveAt to remove elements from lists 2019-10-21 02:20:51 -05:00
vis2k
12c5a8fdc3 Revert "feat: Add Timeout to NetworkAuthenticator (#1091)"
This reverts commit e8cc9ba27b.
2019-10-20 20:12:14 +02:00
MrGadget
e8fac8aba5 fix: Suspend server transport while changing scenes (#1169)
* Suspend transport

* fixed typo
2019-10-20 11:54:43 -05:00
MrGadget
e8cc9ba27b feat: Add Timeout to NetworkAuthenticator (#1091)
* Add timeout to NetworkAuthenticator

* Added back the using Vis removed

* updated doc

* Typo
2019-10-20 11:23:34 -05:00
MrGadget
1fc1ed2708 fix: Don't give host player authority by default (#1158)
* Don't give host player authority by default

* Same when removing authority
2019-10-20 18:01:00 +02:00
Paul Pacheco
eb51da0b72 simplify tests 2019-10-19 11:29:52 -05:00
Lymdun
8be06fc453 Fix comments (#1167) 2019-10-19 10:06:30 -05:00
Paul Pacheco
2db9520b54 Cleaned up some tests 2019-10-19 10:05:30 -05:00
MichalPetryka
0fde090bf2 SyncList custom Equality Comparer support (#1146) 2019-10-19 16:02:08 +02:00
Paul Pacheco
9cb309e5bc feat: Users may provide custom serializers for any type (#1153)
* feat: Users may provide custom serializers for any type

* Relax rules for rpc parameters to support user provided serializers

* Improve error messages

* Fixed component types

* Adjusted tests
2019-10-19 16:00:27 +02:00
MrGadget
ae5c92b40c Rename includeSelf to includeOwner (#1163)
* Rename includeSelf to includeOwner

* Renamed isSelf too
2019-10-19 09:47:17 +02:00
MrGadget
11b3cce123 Refresh Data For Preview Window (#1161) 2019-10-19 09:41:06 +02:00
MrGadget
0295522d5a Prevent NRE (#1162) 2019-10-19 09:39:46 +02:00
MrGadget
039abfcc81 Remove unnecessary virtuals (#1156) 2019-10-18 08:09:27 -05:00
MrGadget
c3fcf9117c
Update NetworkClient.cs
updated comment
2019-10-18 00:27:34 -04:00
Paul Pacheco
d8ce80fe0e fix: don't call hook in host if no change, fixes #1142 (#1143)
* fix: don't call hook in host if no change,  fixes #1142

* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarProcessor.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* avoid hook calls for GO and NI in host

* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarProcessor.cs

* Remove check from SetSyncVarGameObject
2019-10-17 09:31:31 +02:00
Paul Pacheco
34c419ee07 Update NI and GO fields for ease of use (#1154) 2019-10-17 09:30:29 +02:00
MrGadget
61428382f4 Make playerData public to get rid of Unity's warning (#1152) 2019-10-16 21:16:46 +02:00
MichalPetryka
0f951858c5 feat: SyncSet custom Equality Comparer support (#1147) 2019-10-15 09:07:15 -05:00
MichalPetryka
84555bc9d0 Fix invalid exception usage (#1148) 2019-10-14 19:39:00 +02:00
MrGadget
fd43c67d68 fix: Prevent Compiler Paradox (#1145)
* Prevent Compiler Paradox

* Change platform to Editor Only

* added new line at EOF
2019-10-14 07:32:24 -05:00
Paul Pacheco
ae2f5cb7d8 Make field readonly 2019-10-14 07:23:40 -05:00
Paul Pacheco
85faddfdd0 Remove unused, obsolete private method 2019-10-14 07:20:47 -05:00
Paul Pacheco
ec5434b087 Method should be static 2019-10-13 16:20:56 -05:00
Paul Pacheco
95138427f3
perf: avoid boxing for getting message id (#1144)
* perf: avoid boxing for getting message id

* Update Assets/Mirror/Runtime/MessagePacker.cs

Co-Authored-By: MichalPetryka <35800402+MichalPetryka@users.noreply.github.com>

* Update Assets/Mirror/Runtime/NetworkConnection.cs

Co-Authored-By: MichalPetryka <35800402+MichalPetryka@users.noreply.github.com>
2019-10-13 15:57:39 -05:00
Chris Langsenkamp
d5e3e56c78 Fixed HelpURL 2019-10-09 01:41:54 -04:00
MrGadget
bcc6af8527 Simplify Jump and reset player prefabs (#1140) 2019-10-08 09:35:08 +02:00
Chris Langsenkamp
98b6328f76 Merge branch 'master' of https://github.com/vis2k/Mirror 2019-10-07 06:41:35 -04:00
Chris Langsenkamp
86b5f565d0 updated comments 2019-10-07 06:41:12 -04:00
vis2k
231a384881 Telepathy updated to latest version 2019-10-07 10:43:47 +02:00
Chris Langsenkamp
1f2ff6b2c9 Code formatting 2019-10-05 10:13:13 -04:00
Chris Langsenkamp
d177df8f35 Changed to OnStartServer 2019-10-04 04:42:48 -04:00
Chris Langsenkamp
24052428e0 Removed unused Players object from scene 2019-10-04 04:25:18 -04:00
Paul Pacheco
c85d0df533
fix: webgl build fix #1136 (#1137) 2019-10-03 01:05:28 -05:00
MrGadget
5dfc85931f Obsoletes OnServerAddPlayer (#1134)
* Obsoletes OnServerAddPlayer(NetworkConnection conn, AddPlayerMessage extraMessage)

* Fixed NetworkManager

* Fixed Pong

* Fixed Room

* Wrapped call in warning suppressors

* Improved comments
2019-10-02 10:26:19 +02:00
MrGadget
e73185932a Updated Basic Example (#1135)
* Updated Basic Example

* Added more comments

* addes more comments
2019-10-01 21:52:36 -05:00
Paul Pacheco
77ec19c0dd docs: update links to new add player documentation 2019-10-01 11:56:43 -05:00
Paul Pacheco
c0417e3788 docs: explain what TargetRpcProcessor does 2019-10-01 06:58:13 -05:00
Paul Pacheco
af6be4fe41 docs: explain what RpcProcessor does 2019-10-01 06:58:13 -05:00
Paul Pacheco
b0a67041d8 docs: explain what CommandProcessor does 2019-10-01 06:58:13 -05:00
vis2k
ed572da6a0 fix: NetworkBehaviourInspector wouldn't show SyncMode if syncvars / syncobjects were only private 2019-10-01 11:47:12 +02:00
Paul Pacheco
c24a73f6c9
fix: syncvars in commands work again (#1131)
* fix: syncvars in commands work again
2019-09-30 22:13:34 -05:00
Paul Pacheco
fb15c56d39 refactor: we no longer replace methods 2019-09-30 21:23:44 -05:00
Paul Pacheco
5ecd646134
fix: TargetRpc now works accross assemblies (#1130)
similar to #1128 but for TargetRpc
2019-09-30 21:19:32 -05:00
Paul Pacheco
13dbcb9f35
fix: ClientRpc methods now work accross assemblies (#1129)
Similar to #1128 but for client rpc
2019-09-30 21:17:30 -05:00
Paul Pacheco
d8a98d8d99
fix: Cmds can be called from child classes in other assemblies
fix #1108
2019-09-30 20:51:34 -05:00
vis2k
3831cbddbe fix: Telepathy fix a bug where calling Disconnect while connecting to a dead end would freeze Unity because .Join would wait forever. Interrupt fixes it. 2019-09-30 19:30:13 +02:00
Chris Langsenkamp
82ebf44ae6 updated xml comments 2019-09-29 20:19:20 -04:00
Chris Langsenkamp
5f034bf3da Added XML comments 2019-09-29 20:14:32 -04:00
Chris Langsenkamp
8e3f3c75de Fixed XML comments 2019-09-29 18:08:24 -04:00
Paul Pacheco
32c75fe14c Describe cleaner way to add customizable character (#1090)
* Describe cleaner way to add custom characters

* Update doc/articles/Guides/CustomPlayer.md

* Update doc/articles/Guides/CustomPlayer.md

* make example code clearer

* Update doc/articles/Guides/CustomPlayer.md

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update doc/articles/Guides/CustomPlayer.md

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update doc/articles/Guides/CustomPlayer.md

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update doc/articles/Guides/CustomPlayer.md

* Update doc/articles/Guides/CustomPlayer.md

* Apply suggestions from code review
2019-09-29 14:28:18 +02:00
vis2k
4ef6077d65
breaking: allocation free sends (#1103)
* so far

* websocket alloc free send

* keep old Pack name

* syntax

* LLAPI allocation free sends

* use ServerSend(list) for all

* multiplex send(list) based on https://github.com/vis2k/Mirror/pull/1118/files

* new mirror define
2019-09-29 13:34:15 +02:00
Paul Pacheco
c9f317ddee
feat: Websockets now give client address, fix #1121 (#1125) 2019-09-28 18:27:46 -05:00
Paul Pacheco
2cd36c8b58 Fix async warnings 2019-09-28 18:03:21 -05:00
Paul Pacheco
6402ecdf90 Fix xml docs 2019-09-28 17:52:46 -05:00
Paul Pacheco
dbafb2c56a Get rid of warning 2019-09-28 17:49:27 -05:00
Paul Pacheco
5649cc6977 feat: profiler info is available in production builds 2019-09-28 16:54:22 -05:00
Paul Pacheco
65d81d6fb4
Transports now give the channel when receiving message (#1124)
* Transports now give the channel when receiving message

* Profile inbound messages channel id
2019-09-28 14:01:45 -05:00
vis2k
680d14338b xmldocs too 2019-09-28 19:29:17 +02:00
vis2k
bc7e116a6e
feat: Transport can send to multiple connections at once (#1120)
* so far

* consider local conn

* internal Send(list) to avoid obsolete later

* typo

* empty line
2019-09-28 19:08:58 +02:00
vis2k
3c9459b60c NetworkConnection.ValidatePacketSize 2019-09-28 17:02:06 +02:00
vis2k
e6a20a5ef0 just Send 2019-09-28 16:13:07 +02:00
vis2k
55698162c9 merge it (#1119) 2019-09-28 09:02:19 -05:00
Paul Pacheco
2696ee20f4 Use local connection send method 2019-09-26 19:09:22 -05:00
Paul Pacheco
15098d59ea Add todo comment 2019-09-26 19:06:18 -05:00
Paul Pacheco
55c9bb625a fix: pack works if message is boxed 2019-09-26 18:54:11 -05:00
MrGadget
9bce5a84e8 Remove Host Migration cruft (#1114)
* Remove Host Migration cruft

* Deprecated instead of removed.
2019-09-25 18:49:25 -05:00
MrGadget
85e607088a Make RemoveClientAuthority easier to use (#1113)
* Make RemoveClientAuthority easier to use

* Added back the returns...oops
2019-09-25 13:45:18 -05:00
Paul Pacheco
db2e1488c1 fix #1096 move xmldocs to docs 2019-09-24 22:42:02 -05:00
MrGadget
7dfaf05cee Unity 2018.4.9 changes (#1111) 2019-09-24 15:48:41 -05:00
Paul Pacheco
db8310f838
fix: Sync full netAnimator for new clients, fix #980 (#1110) 2019-09-24 09:35:24 -05:00
Paul Pacheco
d91b387bb2 fix(weaver): fix #796, reload assemblies after initial import (#1106)
* fix: fix #796, reload assemblies after initial import

* Do not weave assemblies that aren't compiled yet

* Update CompilationFinishedHook.cs

* Update CompilationFinishedHook.cs

* Use SessionState instead of env variable
2019-09-24 08:43:55 +02:00
Chris Langsenkamp
043cf29d0a Fixed list items in comments 2019-09-23 03:26:41 -04:00
Chris Langsenkamp
97848e56fc Updated links 2019-09-21 23:43:06 -04:00
vis2k
958fc256be remove unused import 2019-09-21 22:44:55 +02:00
vis2k
633f7825ed NetworkAuthenticator: OnStartServer/OnStartClient made virtual because not all authenticators need them. 2019-09-21 22:42:14 +02:00
vis2k
c3917cdf0b NetworkAuthenticator: OnStartClient moved into client region 2019-09-21 22:41:07 +02:00
vis2k
a498bff511 syntax 2019-09-21 21:29:26 +02:00
vis2k
3a803c1c39 fix typo 2019-09-21 21:26:56 +02:00
MrGadget
99652b24f0 Reorder NetworkManager (#1105) 2019-09-21 11:50:55 -05:00
MrGadget
3e92f53a36 Update NetworkRoomPlayer.cs (#1094)
CmdChangeReadyState needs to be public
2019-09-21 09:25:01 -05:00
Paul Pacheco
a351879f91 perf: avoid boxing if there is no profiler 2019-09-21 08:19:07 -05:00
vis2k
4a13773dbc remove old comment 2019-09-21 10:47:34 +02:00
Chris Langsenkamp
760b5284b9 Fixed obsoletes and comments 2019-09-20 20:31:41 -04:00
Paul Pacheco
5985e6d641 GetRpcMethod does not need an instance 2019-09-19 23:31:43 -05:00
Paul Pacheco
bc87649be6 Don't report out messages if there are no recipients 2019-09-19 23:27:34 -05:00
Paul Pacheco
e742ffad4b Messages must be public for profiler 2019-09-19 23:26:50 -05:00
Paul Pacheco
838d4f019f
fix: Fix error scene error message in host mode
When using online scene and starting host mode,  users were getting:

```
Closing connection: 0. Received message Mirror.SceneMessage that required authentication
```
2019-09-18 18:13:26 -05:00
MrGadget
e88316f336 Rename NetworkConnection.playerController to identity (#1092)
* change playerController to identity

* improved obsolete

* Obsolete comment
2019-09-18 10:32:26 +02:00
Chris Langsenkamp
9f09c21680 Revert "Remove add component from deprecated components (#1087)"
This reverts commit 8a99ab16e8.
2019-09-17 23:23:13 -04:00
Chris Langsenkamp
6e4409b786 Fixed double-spaced bullets in docs 2019-09-17 20:34:26 -04:00
MrGadget
958e2ad612 Redefine SceneMessage (#1093)
* Redefine SceneMessage

* Add obsolete method

* Removed SceneLoader
2019-09-17 22:59:16 +02:00
Paul Pacheco
7ac43cd56a feat: Secure messages that require authentication, fixes #720 (#1089)
* feat: Secure messages that require authentication, fixes #720

* Rename the parameter for clarity

* Update Assets/Mirror/Runtime/MessagePacker.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/MessagePacker.cs

Co-Authored-By: MrGadget <chris@clevertech.net>
2019-09-17 22:16:37 +02:00
MrGadget
56bcb02c15 feat: Authentication Framework (#1057)
* Component-based Authentication

* Capitalized IsAuthenticated

* Added isAuthenticated to NetworkConnection

* Removed activeAuthenticator as unnecessary

* Removed unnecessary using

* Added more comments

* Documentation

* Added cs to code blocks in doc

* fixed typo in doc

* Doc improvements

* Fixed another typo in doc

* Removed HideInInspector

* Updated doc and image

* Fixed comment

* Added inspector header and tooltips

* Fixed typo

* Add AuthenticationData object

* Add a bullet point in the doc about AuthenticationData

* Updated screenshot image

* Added HelpURL attribute

* Added Initializers for both Server and Client

* Fixed doc grammar and phrasing

* Forgot to add the ClientInitialize in StartHost

* Updated doc with info about the initializers

* Changed initializers from bool to void.

* Eliminated the abstract model and renamed to NetworkAuthenticator and made all methods virtual

* Fixed comment

* Fixed typo

* Doc cleanup

* Doc Cleanup

* authenticator RemoveAllListeners in StopServer and StopClient

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Changes requested by Vis

* reverted conflicting change

* Revert "reverted conflicting change"

This reverts commit f65870e073.

* UnityEditor.Undo.RecordObject

* made the name camelCase

* Added internal methods and On prefix to methods

* Reverted this change so it can be done in a separate PR

* Moved authenticator calls to after runInBackground

* Add built-in timeout feature

* Changed UnityEditor.Undo.RecordObject to use gameobject

* Convert to Abstract, add Basic Authenticator, update docs.

* Removed timeout, against my better judgement.

* Removed the rest of timeout, still against my better judgement

* Fixed event listener mappings

* Renamed and consolidated methods

* updated doc and image

* made OnClientAuthenticate and OnServerAuthenticate abstract

* Updated Debug log msgs

* changed to authenticator != null

* Renamed to NetworkAuthenticator
2019-09-17 10:41:04 +02:00
Paul Pacheco
e67035e971 Add profiler hooks (#1086)
* Add profiler hooks

* Polish API a bit

Now if we want to add more fields,  we can do so without
breaking profilers

* Provide documentation for the profiler data

* Use -1 channel until we implement this feature

* Use C# events instead of UnityEvent

* Simplify message info structure

* Renamed class

* Send -> OnSend
Receive -> OnReceive

* Update Assets/Mirror/Runtime/NetworkConnection.cs

* Update Assets/Mirror/Runtime/NetworkDiagnostics.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update NetworkDiagnostics.cs
2019-09-17 08:45:51 +02:00
MrGadget
8a99ab16e8 Remove add component from deprecated components (#1087) 2019-09-16 22:14:02 -05:00
vis2k
229e5e8d6e remove trailing whitespace 2019-09-15 19:04:33 +02:00
vis2k
524abfc5e8 fix: NetworkManager OnValidate wouldn't properly save the automatically added Transport before because Undo.RecordObject is needed for that now. 2019-09-15 19:04:33 +02:00
Paul Pacheco
5a9e14c79e
Expose methods for profiler (#1083) 2019-09-15 09:43:36 -05:00
vis2k
06c3385e7d fix comment 2019-09-14 13:19:17 +02:00
vis2k
dcafadfdba fix #1073 sync components with different intervals and add test (#1077) 2019-09-12 07:56:59 -05:00
vis2k
245dcfd1d9 forgot internal 2019-09-12 14:23:11 +02:00
MrGadget
d5e6bbc552 Clear Handlers on NetworkClient.Shutdown (#1069)
* Clear handlers on Shutdown

* Update NetworkClient.cs

* Update NetworkClient.cs
2019-09-12 13:35:08 +02:00
vis2k
414fa9cfb9 forgot to make internal for test 2019-09-12 11:52:24 +02:00
vis2k
811f3f63c3 Add test for ClearAllComponents and syncInterval 2019-09-12 11:49:43 +02:00
vis2k
aae0a72143 add comment 2019-09-12 11:40:11 +02:00
vis2k
4eedae1d91 rename to ClearAllComponentsDirtyBits 2019-09-12 11:36:49 +02:00
vis2k
ce5484742b remove trailing whitespace 2019-09-12 11:21:12 +02:00
vis2k
f65f9e47db add comment 2019-09-12 11:21:04 +02:00
vis2k
81bb208d1d rename NetworkIdentity.ClearDirtyBits to ClearAllDirtyBits because that's what it does. It doesn't just clear some, it always clear all no matter what. 2019-09-12 11:20:27 +02:00
vis2k
584cda0508 consistent indentation with comment below 2019-09-12 10:45:27 +02:00
MrGadget
1b37a2160e Room Game Player Camera Restore (#1075)
Restore camera when Game Player is destroyed
2019-09-12 10:15:01 +02:00
MrGadget
5b9752558e Put all RoomPlayer's in DDOL (#1074)
* Put all RoomPlayer's in DDOL

* Simplify by using pattern matching
2019-09-12 10:14:44 +02:00
MrGadget
0bd898dc32 doc: Add XML comments to Custom Attributes (#1071)
* Add XML comments to Custom Attributes

* We don't throw errors,  just display them
2019-09-11 23:23:33 -05:00
MrGadget
650f9caa50 Remove privates (#1072) 2019-09-11 23:07:44 -05:00
MrGadget
4ac4c06135 Don't reload offline scene (#1066)
* Don't reload offline scene

Check if we're already in the offline scene before calling ClientChangeScene to the offline scene.

* Update NetworkManager.cs
2019-09-11 10:07:35 +02:00
MrGadget
0e95016e95 Lobby to Room (#1065)
* Change Lobby to Room with Obsoletes

* Changed folder from Lobby to Room

* Updated docs

* reverted leftover debu.log line

* Fixed OfflineGUI

* Changed the obsolete classes to inherit from the new ones.

* Fixed SyncVar hook
2019-09-11 10:06:25 +02:00
MrGadget
b3030aff85 Add check for sceneMode (#1054)
* Add check for sceneMode

* Added comment
2019-09-10 17:36:02 +02:00
vis2k
913d503fda Revert "Inserted blank lines where appropriate"
This reverts commit af84a1730b.
2019-09-05 19:45:25 +02:00
MrGadget
c84c3892bc Reset Start Position Index (#1058) 2019-09-05 10:45:23 -05:00
MrGadget
da8b2f1d59
Updated xml comments 2019-09-05 09:55:08 -04:00
MrGadget
af84a1730b
Inserted blank lines where appropriate 2019-09-05 09:52:49 -04:00
Paul Pacheco
87385628f0
fix: code generation works with il2cpp again (#1056) 2019-09-04 10:26:06 -05:00
Paul Pacheco
c00bb2d81d
No need to read symbols (#1055)
Should speed up build slightly.
If user has old symbols we don't care, so don't give an error.
2019-09-04 10:25:53 -05:00
MrGadget
ddd51e577e Don't call Ready if we're ready already (#1049)
* Fix typo

* Check ClientScene.ready
2019-09-04 10:29:48 +02:00
Paul Pacheco
5aac362f07 Remove unused usings 2019-09-03 20:39:30 -05:00
Paul Pacheco
463bdfa2fa Remove unnecesary usings 2019-09-03 20:37:11 -05:00
Paul Pacheco
4ef680a474 fix: suppress warning on standalone build #1053 2019-09-03 18:09:30 -05:00
Paul Pacheco
13ca6b6542 Remove unnecesary using 2019-09-03 18:01:17 -05:00
Paul Pacheco
34e1f45615 Remove redundant tostring 2019-09-03 18:00:45 -05:00
Paul Pacheco
e939b9734d Remove redundant castings 2019-09-03 18:00:18 -05:00
Paul Pacheco
00eb23aa01
fix: error with missing assemblies (#1052)
* fix: error with missing assemblies

During first import,  the weaver will be called before all assemblies
are built.  No need to look for custom readers and writers if the assemblies
are not built.

fixes #1051

* forgot using
2019-09-02 23:46:27 -05:00
Paul Pacheco
74faf2a95b fix: missed ushort reader/writer 2019-09-02 12:17:56 -05:00
MrGadget
68ce6327bc Updated Pong 2 (#982)
* Turned off Simulated & Set Transform Interval to zero

* Set sync interval to zero

* Removed ballPrefab field

* Cached RigidBody & simplified FixedUpdate

* Cached RigidBody and Moved Start code to OnStartServer

* Scene file updated

* Updated Scene file again

* Moved comments and fixed typos

* Eliminated GetComponent in code

* Assigned Rigidbody2d in inspector of prefabs
2019-09-02 19:06:04 +02:00
Paul Pacheco
b45afad641 feat: custom reader/writer via extension methods (#1047)
* Remove hardcoded writers from weaver

* Remove hardcoded readers from weaver

* Remove unused stuff

* cleanups

* Cleanup some comments

* remove unused import

* Update Assets/Mirror/Editor/Weaver/Processors/ReaderWriterProcessor.cs

* Improve comments a bit

* small cleanups

* Remove redundant private keyword

* Remove unnecesary blank space

* Remove unused field

* Measure how long it takes to find the readers and writers

* Find all extension methods for readers and writers

* Get rid of debugging log

* Don't comment obvious stuff

* Don't swallow exception

* only scan static classes for extension methods

* Add unit test for custom readers and writers

* Update Assets/Mirror/Editor/Weaver/Weaver.cs

* Update Assets/Mirror/Runtime/NetworkWriterExt.cs

* Update ReaderWriterProcessor.cs

* Renamed to avoid abreviations

* Move the extensions inside the same .cs

* Update NetworkReader.cs

* Update NetworkWriter.cs
2019-09-02 18:57:45 +02:00
Paul Pacheco
e0b66db335 Link to non obsolete methods in xmldocs 2019-08-31 16:12:25 -05:00
Paul Pacheco
a61635424f Remove unncesary casting 2019-08-31 14:48:59 -05:00
Paul Pacheco
4638342168 Remove unnecesary casting 2019-08-31 14:47:19 -05:00
Paul Pacheco
32b72c959d use compound assignment 2019-08-31 14:46:12 -05:00
Paul Pacheco
42b635346a linting 2019-08-31 14:44:53 -05:00
Chris Langsenkamp
438dbfdf03 Fixed typo 2019-08-31 13:12:30 -04:00
Paul Pacheco
ae7fd90f1f use array segment for reading string 2019-08-30 23:16:30 -05:00
Paul Pacheco
7f8840c9b6 refactor to use arraysegment 2019-08-30 23:12:51 -05:00
Paul Pacheco
702b183034 Removed more unused variables 2019-08-30 21:49:26 -05:00
Paul Pacheco
bd44d35bae Use dfault uint64 writer 2019-08-30 21:46:12 -05:00
Paul Pacheco
cab08b1b5a Use default int32 writer 2019-08-30 21:42:53 -05:00
Paul Pacheco
3181b4a5d4 Use default uint64 reader 2019-08-30 21:39:50 -05:00
Paul Pacheco
e389f62c2d Use default reader for uint32 2019-08-30 21:37:19 -05:00
Paul Pacheco
609480208c use default int32 reader 2019-08-30 21:35:00 -05:00
Paul Pacheco
a5d4f46980 test: fix invalid unit test 2019-08-30 17:56:42 -05:00
Chris Langsenkamp
4a78288c92 Updated Comments 2019-08-30 13:48:32 -04:00
vis2k
c6d86b301b
feat: component based SyncToOwner, fixes #39 (#1023)
* adjust comments

* NetworkBehaviour.syncMode

* show in Editor

* feat: component based SyncToOwner, fixes #39

* rename to Observers

* rename writers and comments too

* SendToReady old signature version

* shorter syntax

* fix segment write length

* fix NullReferenceException for local player

* update comment

* support runtime syncMode changes

* add a test

* remove comments

* UL suffix to avoid cast

* UL suffix

* remove empty line

* OnSerializeAllSafely returns how many components were written. MirrorUpdate only sends to owner/observer if anything written.

* fix tests
2019-08-26 15:21:59 +02:00
Chris Langsenkamp
9e1cb624ac Replace <T> with {T} for XML Docs Parser 2019-08-25 22:23:55 -04:00
Chris Langsenkamp
080bcb0a31 Updated HelpURL links 2019-08-25 22:10:00 -04:00
Paul Pacheco
614f4bc875 Fix xmldoc in NetworkTime 2019-08-25 08:30:44 -05:00
Paul Pacheco
4730b137cf Fix issue doc.csproj conflicting with other assemblies 2019-08-24 15:04:40 -05:00
Paul Pacheco
e1561bda02 Add mea for doc project 2019-08-24 12:36:25 -05:00
Paul Pacheco
35fee94d56
docs: switch to docfx for documentation (#1026)
* Moved doc files to docfx folder

* load csproj

* doc generation

* Run docfx

* Add docfx

* Deploy docs to mirror-networking.com

* use deploy phase

* deploy whole generated site

* Fixed the semantic release command

* Is last \ required?

* show debug log

* using lftp for site deploy

* Testing lftp

* Show current folder

* try -e command option

* Show me the files

* use plain ftp

* use choco install instead of cinst

* fix ssl certificate validation

* fix username

* Upload site to xmldocs folder

* no need to archive docs

* No need for debug output

* Fix file permissions

* show me .htaccess

* Show me contents

* Wipe out folder to fix permissions

* Set file permissions

* Fix file permissions

* complete toc list

* Migrated intro page

* Remove old docs

* Update link to docs

* Add link to github

* Only update docs for stuff in master

* This is a powershell command

* Update doc/articles/Concepts/Communications/RemoteActions.md

* Update doc/articles/Concepts/VisibilityCustom.md

* Update doc/articles/Concepts/Authority.md

* Update doc/articles/Concepts/GameObjects/SpawnObjectCustom.md

* Update doc/articles/Concepts/Authority.md

* Update doc/articles/Classes/SyncVars.md

* No need to run semver twice
2019-08-24 10:20:33 -05:00
Paul Pacheco
9e283b1f9b refactor: syntax fixes 2019-08-18 16:30:53 -05:00
Paul Pacheco
1070fee325 refactor: Unused parameter 2019-08-18 16:23:10 -05:00
Paul Pacheco
0bf6453aff refactor: fix warnings 2019-08-18 16:22:40 -05:00
Paul Pacheco
216c0cb65c docs: Document the network time class 2019-08-18 16:20:17 -05:00
Paul Pacheco
4bc4ec86ea docs: proper reference to non obsolete method 2019-08-18 16:05:49 -05:00
Paul Pacheco
12f338e142 docs: proper reference to non obsolete method 2019-08-18 16:05:03 -05:00
Paul Pacheco
325d30f42a docs: proper reference to non obsolete method 2019-08-18 16:04:30 -05:00
Paul Pacheco
d441c2faf9 refactor: unused parameters 2019-08-18 15:54:05 -05:00
Paul Pacheco
f78510a6a9 refactor: unused parameters 2019-08-18 15:53:05 -05:00
Paul Pacheco
5e2914be3c refactor: unused parameter 2019-08-18 15:52:10 -05:00
Paul Pacheco
2bae240534 doc: fix parameter name 2019-08-18 15:50:26 -05:00
Paul Pacheco
d08dd0328e refactor: handlers dictionaries should be readonly 2019-08-18 15:49:46 -05:00
Paul Pacheco
9e3ecc1ced perf: remove network transform allocation 2019-08-17 13:22:11 -05:00
vis2k
812c6434e2 remove empty line 2019-08-12 20:58:49 +02:00
vis2k
48785b594c remove empty line 2019-08-12 20:02:10 +02:00
Paul Pacheco
62d1887e62 feat: #869 support structs in other assemblies (#1022) 2019-08-12 19:25:23 +02:00
Paul Pacheco
bbe4ac8c19 Use explicit type 2019-08-11 12:56:39 -07:00
Paul Pacheco
63e958e8a8 sceneids should be readonly 2019-08-11 12:56:09 -07:00
Paul Pacheco
f79c05c109 Remove redundant field initializer 2019-08-11 12:55:40 -07:00
Paul Pacheco
ab44290ca8 refactor: remove redundant else 2019-08-11 12:54:39 -07:00
Paul Pacheco
9ef34701d9 refactor: cmdDelegate dictionary should be readonly 2019-08-11 12:53:32 -07:00
Paul Pacheco
1869c15173 doc: fix see tag 2019-08-11 12:52:32 -07:00
Paul Pacheco
75b4a276f8 Remove pending owner thing (#1018) 2019-08-11 20:28:39 +02:00
MrGadget
cd88c69df9
Update NetworkManager.cs
Added missing XML comment
2019-08-11 13:18:16 -04:00
Paul Pacheco
38ffce2c63 refactor: GetDirtyMask is more testable 2019-08-11 07:33:21 -07:00
Paul Pacheco
b6c0b86f3d refactor: simplify dirty bit cleaning 2019-08-11 06:47:02 -07:00
MrGadget
5c1440b2f0 Added virtual OnServerChangeScene just like OnClientChangeScene so devs can override to do prep before the change. (#1020) 2019-08-10 15:49:03 -07:00
Paul Pacheco
236afa3c7e
test: add test for syncvar synchronization (#1019)
* test: add test for syncvar synchronization

* made methods internal and expose internal to the tests
2019-08-10 15:32:27 -07:00
Paul Pacheco
f27fd0bdc5
fix: hooks in host mode can call each other (#1017) 2019-08-10 15:08:20 -07:00
Paul Pacheco
6dd135088b
fix: Rebuild observers when we switch scenes, fixes #978 (#1016) 2019-08-10 15:08:00 -07:00
Paul Pacheco
8c6789db0c
doc: document the transport class (#1014)
* doc: document the transport class

* Update Assets/Mirror/Runtime/Transport/Transport.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/Transport/Transport.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/Transport/Transport.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/Transport/Transport.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/Transport/Transport.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* Apply suggestions from code review

Co-Authored-By: MrGadget <chris@clevertech.net>

* Break summary into paragraphs

* Update Assets/Mirror/Runtime/Transport/Transport.cs
2019-08-10 06:38:00 -07:00
MrGadget
0283243f95 Internalize OnServerAddPlayer Safety Checks (#1002)
* Move safety checks to internal method

* Added autoCreatePlayer to the safety checks
2019-08-10 10:39:20 +02:00
Danil Gabaidullin
80e9d25e53 Animator multiple layers support. (#983)
* NetworkAnimator update. Support multiple layers.

Just added layerId to sync multiple animator layers.
1 layer = 1x performance.
2 layers = ~0.5x performance.
etc.
Also you can change int to byte to save traffic a bit :)

* Animator updated. WriteParameters(...) args fix.

* fixed variable name

* Updated writer names
2019-08-08 10:45:40 +02:00
MrGadget
2fabc59f6a
Update Readme.txt 2019-08-07 19:07:13 -04:00
MrGadget
bb45b72953 Don't increment counter in constructor (#1012) 2019-08-07 16:42:27 +02:00
MrGadget
2dc8c1ee8c Remove redundant code (#1011) 2019-08-07 06:43:35 -07:00
Matej Zajo Kralik
de61494c9e Synchronize scale with NetworkTransformBase (#1007)
* Synchronize scale with NetworkTransformBase

Previously only position and rotation were synchronized,
with this commit scale is synchronized similarly to position.

* Update NetworkTransformBase.cs
2019-08-05 15:23:06 +02:00
MrGadget
178d1336f6 Use isHeadless (#1005) 2019-08-05 11:07:42 +02:00
MrGadget
effb56fbea Additive Example Camera Fix (#1004)
* Restore Main Camera OnDisable

* Need isLocalPlayer Check
2019-08-04 19:35:48 +02:00
MrGadget
602c4f8f1a Simplify ClientChangeScene (#1003) 2019-08-04 19:35:02 +02:00
MrGadget
b9951f9ca7 Fix unused ex warnings in websockets (#1001) 2019-08-04 19:29:25 +02:00
MrGadget
2d25c4b06f
Merge pull request #995 from MrGadget1024/XMLComments
XML Summary Comments
2019-08-03 09:45:56 -04:00
Chris Langsenkamp
147341ec26 NetworkManager 2019-08-01 02:25:47 -04:00
Chris Langsenkamp
2ad0b5dd41 NetworkConnection 2019-08-01 02:18:59 -04:00
Chris Langsenkamp
4062f48561 NetworkBehaviour 2019-08-01 02:12:48 -04:00
Chris Langsenkamp
7ab23f3529 NetworkAnimator 2019-08-01 02:09:39 -04:00
Chris Langsenkamp
c23b0b89c4 NetworkIdentity 2019-08-01 02:08:11 -04:00
Chris Langsenkamp
30afb60eca NetworkIdentity 2019-08-01 01:14:35 -04:00
Chris Langsenkamp
c2195707c7 NetworkLobbyManager 2019-08-01 01:13:38 -04:00
Chris Langsenkamp
133b15eedb NetworkServer 2019-08-01 01:12:43 -04:00
Chris Langsenkamp
6508f595b1 Merge branch 'XMLComments' of https://github.com/MrGadget1024/Mirror into XMLComments 2019-08-01 01:08:45 -04:00
Chris Langsenkamp
1298148873 NetworkProximityChecker 2019-08-01 00:27:55 -04:00
Zac North
7ed4a9a1e0 feat(websocket): Re-enable native SSL (#965)
* fix(websocket): Internal implementation fixes re-enabling SSL while retaining performance

* Catch normal exceptions if they occur

* Catch another WebSocket exception

* Make sure the stream still exists before we try to write to it

* fix(websocket): Only use the new sending technique if the stream is an SslStream

* fix(websocket): Use a better path generation strategy so a leading slash is not required
2019-07-31 23:01:43 +02:00
Balázs Faludi
2ca2c488ac fix: SceneId was not set to 0 for prefab variants (#976) (#977)
* fix: SceneId was not set to 0 for prefab variants (#976)

* Update NetworkIdentity.cs
2019-07-31 10:28:34 +02:00
Paul Pacheco
246a551151 perf: AddPlayerMessage is now a value type 2019-07-30 18:01:55 -05:00
Paul Pacheco
b5b2f3e1eb perf: rpc messages are now value types (#997) 2019-07-30 14:33:44 +02:00
Paul Pacheco
f9ff44399b feat: support writing and reading array segments (#918)
* Unit tests for writing array segments

* Add tests back for ArraySegment<int>

* Work in progress trying to generate writer

* Avoid boxing

* Weaver can now generate readers and writers for ArraySegment<T>

* Added by accident

* Clarify the loop

* Explain method specializer

* Remove unused method

* Explain loop in reader
2019-07-30 10:21:43 +02:00
MrGadget
051a9e2a39
Update Assets/Mirror/Components/NetworkProximityChecker.cs
Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-07-29 19:28:26 -04:00
MrGadget
f808558f32
Update Assets/Mirror/Runtime/NetworkIdentity.cs
Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-07-29 19:27:48 -04:00
MrGadget
2549217a94
Update Assets/Mirror/Runtime/NetworkIdentity.cs
Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-07-29 19:27:38 -04:00
MrGadget
6790d9056d
Update Assets/Mirror/Components/NetworkProximityChecker.cs
Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-07-29 19:27:27 -04:00
MrGadget
4fde22c436
Update Assets/Mirror/Components/NetworkProximityChecker.cs
Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-07-29 19:27:17 -04:00
MrGadget
f8eacd8607
Update Assets/Mirror/Components/NetworkLobbyPlayer.cs
Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-07-29 19:27:02 -04:00
MrGadget
0df129f4c4 Replace Basic Example Again (#996) 2019-07-29 18:21:57 -05:00
Paul Pacheco
2d3151a5da Folder is gone 2019-07-29 17:54:38 -05:00
Paul Pacheco
40c7d97ed9 perf: SpawnSceneObjectMessage is now a value type 2019-07-29 17:53:05 -05:00
Paul Pacheco
a44efd1f92 perf: SpawnPrefabMessage is now a value type 2019-07-29 17:52:06 -05:00
Chris Langsenkamp
9ffc6f2e44 NetworkLobbyPlayer 2019-07-29 18:20:51 -04:00
Chris Langsenkamp
96f4e2cc28 NetworkLobbyManager 2019-07-29 18:15:20 -04:00
MrGadget
2ba6847276 Correct scene for Basic Example (#994) 2019-07-30 00:05:46 +02:00
Chris Langsenkamp
8128adfca8 ClientScene 2019-07-29 17:39:24 -04:00
Chris Langsenkamp
ecdbf9a6b9 NetworkServer 2019-07-29 17:15:35 -04:00
Chris Langsenkamp
ed90b7dc3d NetworkTransformChild 2019-07-29 17:15:03 -04:00
Chris Langsenkamp
44863fdab3 NetworkServer 2019-07-29 17:12:46 -04:00
Chris Langsenkamp
9666f361cf NetworkStartPosition 2019-07-29 16:26:19 -04:00
Chris Langsenkamp
55decc95f7 NetworkProximityChecker 2019-07-29 16:22:22 -04:00
Chris Langsenkamp
b790ec38e8 NetworkManagerHUD 2019-07-29 16:13:12 -04:00
Chris Langsenkamp
d2b007e481 NetworkManager 2019-07-29 13:04:42 -04:00
Chris Langsenkamp
f6a441438e NetworkClient 2019-07-29 12:55:38 -04:00
Chris Langsenkamp
99682a43bc NetworkBehaviour 2019-07-29 12:52:03 -04:00
Chris Langsenkamp
e76a41011d NetworkConnection 2019-07-29 12:49:21 -04:00
Chris Langsenkamp
5d860786ae NetworkManager 2019-07-29 12:12:01 -04:00
Chris Langsenkamp
872da7ed34 NetworkManager 2019-07-29 11:54:00 -04:00
Chris Langsenkamp
976dadc1a6 NetworkManager 2019-07-29 11:53:17 -04:00
Paul Pacheco
407b36acb7 perf: SceneMessage is now a value type (#989) 2019-07-29 15:52:46 +02:00
Paul Pacheco
f99e71ebdf perf: update vars is now a value type (#990) 2019-07-29 15:52:35 +02:00
Paul Pacheco
a32c5a9456 perf: objdestroy message is now a value type (#993) 2019-07-29 15:52:19 +02:00
Paul Pacheco
a49d938fbe perf: ObjHideMessage is now a value type (#992) 2019-07-29 15:52:08 +02:00
Paul Pacheco
d071438d01 perf: ClientAuthorityMessage is now a value type (#991) 2019-07-29 15:51:43 +02:00
Paul Pacheco
145edaa50b perf: empty messages are value types now 2019-07-29 08:18:17 -05:00
Paul Pacheco
35b9919d91 Revert "New Basic Example (#985)"
This reverts commit 66f7693855.
2019-07-29 08:07:06 -05:00
Paul Pacheco
81d915eb73 perf: use value types for empty messages (#988) 2019-07-29 15:04:56 +02:00
Paul Pacheco
12437ba9c2 fix: don't use obsolete method 2019-07-29 08:00:03 -05:00
Paul Pacheco
633fb19f8d perf: messages should be value types (#987) 2019-07-29 14:50:18 +02:00
Paul Pacheco
7c7c910a5e perf: avoid allocation with message structs (#939)
* avoid allocation with message structs

* Use ternary operator instead of if

* Explain witchcraft
2019-07-29 14:50:09 +02:00
Paul Pacheco
b4077c1112 feat: safer and consistent writers names (#979)
* WriteUInt16

* WriteUInt16 weaver

* WriteUInt32

* WriteUInt64

* WriteByte

* WriteSbyte

* WriteChar

* WriteBoolean

* WriteInt16

* WriteInt32

* WriteInt64

* WriteDouble

* WriteDecimal

* WriteString

* WriteBytes

* WriteVector2

* WriteVector3

* WriteVector4

* WriteVector2Int

* WriteVector3Int

* WriteColor

* WriteColor32

* WriteQuaternion

* WritePlane

* WriteRay

* WriteMatrix4x4

* WriteGuid

* WriteNetworkIdentity

* WriteTransform

* WriteGameObject

* Keep consistent line breaks

* add new define so asset maintainers can tell if the new methods are available
2019-07-29 14:44:08 +02:00
vis2k
abf06df25d fix: Telepathy updated to latest version. connectionId counter is properly reset after stopping server. 2019-07-29 14:36:18 +02:00
Chris Langsenkamp
be70684cf6 NetworkManager 2019-07-29 06:23:18 -04:00
Chris Langsenkamp
1b8d436b0a NetworkAnimator 2019-07-29 04:34:53 -04:00
Chris Langsenkamp
678eb5a715 NetworkConnection 2019-07-29 04:30:14 -04:00
Chris Langsenkamp
f4ab3e853c NetworkIdentity 2019-07-29 04:24:22 -04:00
Chris Langsenkamp
01d144bc62 NetworkConnection 2019-07-29 03:56:42 -04:00
Chris Langsenkamp
42f27dbc95 NetworkAnimator 2019-07-29 03:28:54 -04:00
Chris Langsenkamp
b196ea7367 NetworkBehaviour 2019-07-29 03:26:09 -04:00
Chris Langsenkamp
091c79b429 NetworkBehaviour 2019-07-29 03:21:30 -04:00
Chris Langsenkamp
572aaf4eba NetworkClient 2019-07-29 03:01:54 -04:00
Chris Langsenkamp
40c8e4ba59 NetworkBehaviour 2019-07-29 02:39:47 -04:00
Chris Langsenkamp
88bd33a478 NetworkAnimator 2019-07-29 02:17:34 -04:00
MrGadget
66f7693855 New Basic Example (#985) 2019-07-28 18:13:38 -05:00
Paul Pacheco
eb4c00f8e4 Use array initializer 2019-07-24 20:09:10 -05:00
Paul Pacheco
60dcd2acdc Syntax 2019-07-24 18:37:39 -05:00
MrGadget
45b711804b fix: Don't increment counter in Awake (#971)
Doing it in Awake and also before assigning to clients skips connection ID 1.
2019-07-21 00:13:01 +02:00
MrGadget
7fecfe3065 ForceReload is always true, and the only use of it requred it to be false, so it's no longer needed. (#970) 2019-07-20 09:22:56 +02:00
MrGadget
3fb0337f8c Lobby example update (#969)
* Updated Lobby Example

* Renamed cube to visor

* Missing files from PR 957

* Code Cleanup
2019-07-19 23:40:25 -05:00
MrGadget
43d4c7ecd7 Additive example update (#968)
* Updated Additive Example

* Renamed cube to visor

* Code Cleanup
2019-07-19 23:39:50 -05:00
Paul Pacheco
64a046803a fix: do not accumulate changes if there are no observers fixes #963 (#964)
* fix: do not accumulate changes if there are no observers #963

* Update NetworkIdentity.cs
2019-07-17 14:59:46 +02:00
vis2k
310556c430 TelepathyTransport.ServerGetClientAddress: catch IL2CPP bug to at least continue to run 2019-07-17 12:32:03 +02:00
vis2k
22931fcd84 fix: Telepathy forgot to set socket options for accepted clients on the server 2019-07-14 11:13:51 +02:00
MrGadget
b0b57a23cc Lobby example update (#960)
* Updated Lobby Example

* Renamed cube to visor

* Missing files from PR 957
2019-07-12 09:04:30 +02:00
MrGadget
7f966c9afb Updated Additive Example (#956)
* Updated Additive Example

* Renamed cube to visor
2019-07-11 14:54:38 +02:00
MrGadget
7490094904 Updated Lobby Example (#957)
* Updated Lobby Example

* Renamed cube to visor
2019-07-11 14:54:25 +02:00
Paul Pacheco
47ecdb58c3
Use NetworkWriterPool in Message packing (#958) 2019-07-11 07:23:16 -05:00
Paul Pacheco
454c6ade47 Don't swallow stack trace 2019-07-03 07:38:46 -05:00
Paul Pacheco
97432169ea perf: Recycle argument writer to avoid allocations (#945)
* Recycle argument writer

* Get a pooled networkwriter for argumens

* Use pool,  not static variable

* Use explicit type

* Remove blank space

* Recycle writer in the weaver where it is allocated
2019-07-02 18:39:18 +02:00
Paul Pacheco
d2381ce892 perf: remove allocations during syncvar sync (#946) 2019-07-01 23:12:02 +02:00
Florimondable
3ee87fe7de Initialize Unity event objects in Transport. (#940) 2019-07-01 09:54:47 +02:00
vis2k
d6389e68be
fix: properly stop client and server in OnApplicationQuit so that clients still get a chance to send then 'quit' packet instead of just timing out. Also fixes a bug where OnStopServer/OnStopClient were not called when stopping the Editor. (#936) 2019-06-28 19:22:40 +02:00
MichalPetryka
7181cd9ca1 perf: use 0 for null strings (#926)
* Use 0 for null strings

* Fix test

* No need for special case for ""

* No need for special case for ""

* Update Assets/Mirror/Runtime/NetworkReader.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-06-27 08:01:57 -05:00
vis2k
6bc65d500a Telepathy.dll dummy file to overwrite old Telepathy.dll for people that update via Asset Store 2019-06-25 18:39:09 +02:00
MichalPetryka
21ca49d1be perf: Use 0 for null byte arrays (#925)
* Use 0 for null byte arrays

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* Update comments

* Update Assets/Mirror/Runtime/NetworkReader.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* Update Assets/Mirror/Runtime/NetworkReader.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>
2019-06-25 13:53:43 +02:00
vis2k
5f05e2fd02 Don't always log scene index hash message on start anymore. SceneIds work fine now. 2019-06-25 11:03:24 +02:00
vis2k
8a190bfd17 fix: TelepathyTransport.ToString UWP exception 2019-06-25 10:34:26 +02:00
vis2k
c4a18cd8a4 Telepathy source drop-in for easier debugging 2019-06-24 17:49:01 +02:00
vis2k
315508dec0 NetworkWriterPool meta file 2019-06-24 17:47:52 +02:00
Paul Pacheco
f5e93180a1 feat: network writer pool to avoid expensive allocations (#928) 2019-06-24 14:49:42 +02:00
Paul Pacheco
ced36906bc perf: return the contents of the writer as an array segment (#916)
* Return the contents of the writer as an array segment

* Use a safer ToArraySegment method and add some comments

* refactor: for readability and debuggability

* Test that ToArraySegment works

* Updated with master

* Update NetworkWriter.cs
2019-06-23 21:19:48 +02:00
Paul Pacheco
7b3e82a1fc perf: remove BinaryWriter, it allocates like crazy (#929)
* perf: remove BinaryWriter,  it allocates like crazy

* useless comment

* Update NetworkWriter.cs
2019-06-23 20:43:39 +02:00
Paul Pacheco
b2ba5896fa
perf: remove syncvar boxing (#927) 2019-06-23 10:02:30 -05:00
MichalPetryka
9e911b9d5e Add byte array test (#922) 2019-06-21 22:58:36 +02:00
vis2k
488446ae04 fix: Telepathy already supports IPv6, but can no also connect to IPv4-only servers again (e.g. Mirror Booster) 2019-06-21 12:15:52 +02:00
Paul Pacheco
87b6ddf0e9 Use local variable instead of static variable 2019-06-20 18:03:08 -05:00
MichalPetryka
981ba7c2b3 fix: ArraySegment<byte> work in Messages (#919)
Add ArraySegment<byte> tests and make them pass
2019-06-20 13:11:06 -05:00
Paul Pacheco
81fb419840 Syntax simplification 2019-06-20 08:33:39 -05:00
Paul Pacheco
493f9c20c6 Remove unnecesary using 2019-06-20 08:30:57 -05:00
Paul Pacheco
4ebebabf9c Remove unnecesary using 2019-06-20 08:30:37 -05:00
Paul Pacheco
ee5a3e946e remove unused field 2019-06-20 08:28:15 -05:00
Paul Pacheco
1a26c78059 Removed unused fields 2019-06-20 08:25:42 -05:00
Paul Pacheco
072a049bfa Add unit tests for array writer 2019-06-20 07:36:04 -05:00
Paul Pacheco
31b104d194 Order modifiers 2019-06-19 08:17:13 -05:00
Paul Pacheco
c8e18a1086 Made field readonly 2019-06-19 08:16:47 -05:00
Paul Pacheco
a2fc1f810b Removed unused parameter 2019-06-19 08:16:26 -05:00
Paul Pacheco
68bebf9d6b string comparison is culture independent 2019-06-19 08:14:13 -05:00
Paul Pacheco
c2aa934046 Class should be static 2019-06-19 08:11:20 -05:00
Paul Pacheco
4608b6f9a2 Remove unused parameters 2019-06-19 08:08:07 -05:00
Paul Pacheco
2b108f3f12 Remove unused parameters 2019-06-19 08:05:18 -05:00
vis2k
11750a9e7a
perf: Avoid allocation when reading message payload (#912)
* so far

* syntax

* add test

* more tests

* more tests

* convert messages

* use arraysegment in serialization and handle null case too
2019-06-19 14:11:17 +02:00
Paul Pacheco
dd758cac05 fix: don't convert null arrays to empty array (#913)
* fix: don't convert null arrays to empty array

* Add comments with generated code

* Document array reader

* Improve comments a little bit
2019-06-19 12:03:06 +02:00
vis2k
5ae379d6bb Make ReadBytesAndSize more readable 2019-06-18 19:17:32 +02:00
vis2k
ac5d52062c Rename new Write/Read segment functions to avoid redundant names with Write/ReadSegment that only writes the segment without the size 2019-06-18 19:12:43 +02:00
vis2k
18f035d268
perf: Networkreader nonalloc (#910)
* so far

* write and read strings

* move max to writer

* better

* readchar

* ReadDecimal

* improve ReadDecimal

* remove unused

* BENCHMARK

* add char test

* Update Assets/Mirror/Runtime/NetworkReader.cs

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* remove unnecessary return

* simplify char

* reuse ReadByte

* arraysegment support

* fix test

* EndOfStreamException like before

* disable test

* remove test

* add benchmark

* reset scene changes

* read/write decimals without allocating

* remove unused test

* remove FloatConversion class. Use converters directly.

* less magic

* 2 longs instead of 4 ints

* sort

* fix comment

* update error

* update errors

* update error

* syntax

* syntax

* write checks size after getbytes

* syntax

* syntax

* ReadBytes array.copy directly

* adjust error message

* check passed buffer

* better

* better

* ReadString directly from buffer without using a separate stringBuffer

* fix typo

* fix comment
2019-06-18 17:00:27 +02:00
vis2k
535b4d40fa fix: Telepathy updated to latest version (IPv6 fix again) 2019-06-17 17:02:28 +02:00
Paul Pacheco
ff1a2346b4 perf: Optimize interest management (#899)
* perf: Optimize interest management

* Update NetworkIdentity.cs

* Update NetworkIdentity.cs

* Use explicit type

* Cache this set

* Update NetworkIdentity.cs
2019-06-17 16:16:36 +02:00
vis2k
2761ff23f4 fix: Telepathy updated to latest version: Correctly support IPv4 and IPv6 sockets 2019-06-17 10:42:56 +02:00
Paul Pacheco
70a532b5db perf: eliminate string concat during remote method calls (#908)
* perf: eliminate string concat during remote method calls

* perf: params causes an array allocation

* refactor: simpler method hash calculation

* Update NetworkBehaviour.cs
2019-06-17 10:00:51 +02:00
Paul Pacheco
1c18743788 perf: eliminate small allocation on remote calls (#907)
* perf: eliminate small allocation on remote calls

* Update NetworkBehaviour.cs
2019-06-17 09:57:56 +02:00
Paul Pacheco
8f6d4cb22e perf: eliminate boxing with lists (#901) 2019-06-17 09:54:43 +02:00
vis2k
cc6e4f696d fix: Updated Telepathy to latest version to fix IPAddress.Parse error for "localhost" 2019-06-16 11:08:28 +02:00
MichalPetryka
3eaaa773b3 feat: Implement IReadOnlyList<T> in SyncLists (#903) 2019-06-14 08:41:14 -05:00
Paul Pacheco
9d81d49add
refactor: determine element type inside GenerateArrayWriter and Reader (#902) 2019-06-14 07:56:27 -05:00
MichalPetryka
e5eecbff72 feat: support sending and receiving ArraySegment<byte> (#898)
Add ArraySegment<byte> support to the weaver
2019-06-13 09:03:54 -05:00
Paul Pacheco
954a3d594d feat: user friendly weaver error (#896) 2019-06-09 09:02:23 +02:00
vis2k
f39cdede98 Telepathy updated to latest version (IPv6 support) 2019-06-06 20:44:18 +02:00
gyststarblayze
3ec3d02362 fix: #840 by allowing Mirror to respect the forceHidden flag (#893)
* fix: #840 by allowing Mirror to respect the forceHidden flag on NetworkProximityChecker

* Update NetworkProximityChecker.cs
2019-06-06 08:39:35 +02:00
vis2k
9ff7feda9a NetworkTransform.DrawLineBetweenDataPoints actually uses the color parameter now 2019-06-04 10:56:38 +02:00
vis2k
36be83d6fd NetworkTransform: use local position and rotation for VR support. Fixes #779 2019-06-04 10:56:38 +02:00
vis2k
cb3d3dba72 Fix: TelepathyTransport.GetMaxPacketSize uses the new configurable max size 2019-06-04 10:07:24 +02:00
Alexander Seeck
fc181cb4ab ASMDEF for Examples (#850)
* updated readme

* added asmdefs

* removed wrong change
2019-05-29 16:41:14 +02:00
Tom KRIKORIAN
d65bdde956 Spawn objects in local space instead of world space for VR support (#875)
* Spawn objects in local space instead of world space

Allow games where world origin is different for each players (Augmented reality for example) to spawn objects at the right position in the scene.

* Update ClientScene.cs

* Update NetworkServer.cs
2019-05-29 16:25:15 +02:00
MichalPetryka
55b6167061 Rename types according to Microsofts naming (#882) 2019-05-25 08:33:43 -05:00
MichalPetryka
b0426f90d3 Set parent in initialize (#884) 2019-05-24 09:24:37 +02:00
MichalPetryka
42a8f2afab Remove conditional accesses on unity objects (#880) 2019-05-24 09:11:38 +02:00
Zac North
3c60b08762 fix(websocket): Remove send queues (they never worked) and SSL (temporarily) (#879) 2019-05-20 10:11:07 +02:00
vis2k
46eddc01ec fix: (again) Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) 2019-05-15 10:23:52 +02:00
vis2k
98d3fb0c31 fix: Telepathy updated to latest version (Send SocketExceptions now disconnect the player too) 2019-05-14 13:40:23 +02:00
Tom KRIKORIAN
691583e844 fix(NetworkManager) : properly load scene on clients using new load parameters (#867)
* fix : properly load scene on clients using new load parameters

* revert change to ClientChangeScene to avoid conflict

* Simplified code for NetworkManager method ClientChangeScene
2019-05-07 17:49:28 +02:00
Coburn
6fd3fb4ca3 This fixes NetworkManager not switching to the correct server scene when onlineScene is not the same as offlineScene. 99.99% sure it'll fix issue #865 (#866) 2019-05-07 17:33:01 +02:00
Gabe Brown
6af979c967 Logging Improvements (#864) 2019-05-07 09:34:32 +02:00
MrGadget
e9f2f538ca Add channelId to Send Method (#862)
This is to achieve parity with NetworkConnection:

```cs
public virtual bool Send<T>(T msg, int channelId = Channels.DefaultReliable) where T: IMessageBase
{
    // pack message and send
    byte[] message = MessagePacker.Pack(msg);
    return SendBytes(message, channelId);
}
```
2019-05-06 18:46:24 +02:00
Paul Pacheco
d4595df2ca clear resharper error (#861) 2019-05-05 15:45:46 +02:00
vis2k
23e440bd0b fix #857: Revert "fix(websocket): Use a buffer for most WS messages in WebGL client resulting in 0 alloc for most messages (#848)"
This reverts commit 8967a20244.
2019-05-05 09:24:46 +02:00
Zac North
1dc45f5376 Fix missing semicolon in NetworkBehaviour.cs (#856) 2019-05-05 00:36:46 +02:00
uwee
d48a3757da feat(scene): Add support for scene loading params (#644)
* add scene and physics mode to SceneMessage

* Change variable names. Added comments. Changed type from struct to byte

* updated test to match

* added overrides to support scene params

* simplified param useage

* fixed types with proper casting

* forgot to add in Server side of code

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-Authored-By: uweenukr <uweenukr@gmail.com>

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-Authored-By: uweenukr <uweenukr@gmail.com>

* serialize as byte
2019-05-04 17:45:26 +02:00
Zac North
8967a20244 fix(websocket): Use a buffer for most WS messages in WebGL client resulting in 0 alloc for most messages (#848)
* fix(websocket): Use a buffer for most WS messages resulting in 0 alloc for most messages

* Use a configurable maximum message size

* Use the maximum message size on the server too

* Use <= instead of < for buffer.Length

* Show lengths in Exception message

Co-Authored-By: Katori <znorth@gmail.com>

* Show lengths in close message

Co-Authored-By: Katori <znorth@gmail.com>

* Allow messages of messagesize

Co-Authored-By: Katori <znorth@gmail.com>

* Allow messages of maxMessageSize

Co-Authored-By: Katori <znorth@gmail.com>

* Show message lengths in close message

Co-Authored-By: Katori <znorth@gmail.com>

* Don't initialize buffer if already done

Co-Authored-By: Katori <znorth@gmail.com>

* Always allocate buffer size on client construction

* Use a non-static buffer to avoid allocation issues
2019-05-04 12:08:23 +02:00
MichalPetryka
e22f527eef Fix ?? (#854)
* Fix ??

?? doesn't work on unitys objects

* Update NetworkBehaviour.cs
2019-05-04 11:30:45 +02:00
MrGadget
f618e17366 Avoid memory leak from cloned materials (#853) 2019-05-01 19:47:53 +02:00
MrGadget
a18ab9db8f
Update README.md
Revised information in case MainScene was inadvertently changed without proper setup.
2019-05-01 09:50:30 -04:00
vis2k
227cc62475 Telepathy updated to latest version (removed send header & payload allocations) 2019-04-29 14:18:31 +02:00
vis2k
30ee71a6f8 Telepathy updated to latest version (removed header allocations) 2019-04-29 12:58:47 +02:00
vis2k
77bee450b9 perf: Transports now give ArraySegment<byte> instead of byte[] (based on #569 and #846)
perf: Transports now give ArraySegment<byte> instead of byte[] (based on #569 and #846)
2019-04-28 21:08:19 +02:00
vis2k
6c4b34ba06 fix: ListServer Ping not found in WebGL 2019-04-28 20:49:20 +02:00
vis2k
e8a8e77016 Telepathy updated to latest version (Message converted to struct to minimize GC) 2019-04-28 13:36:28 +02:00
vis2k
1f07af0cae fix: Revert "refactor: consolidate prefab and spawn handlers (#817)" to fix a bug where if editor=host, build=client, we receive scene object not found when walking out of and back into an observer's range
This reverts commit b4c9c6fdc8.
2019-04-24 17:04:28 +02:00
vis2k
5480548ffa add comment 2019-04-24 13:11:36 +02:00
vis2k
f56507f2fc fix: Revert "NetworkIdentity.observers dictionary is always created, but always empty on clients. Gets rid of all null checks." to fix server-only bug not allowing movement on client, e.g. in uMMORPG
This reverts commit e8d9d852e3.
2019-04-24 13:08:10 +02:00
Zac North
0484a50e6d Use queue for Ping and Pong messages as well (#841) 2019-04-24 09:28:34 +02:00
Zac North
5aa7148c60 Use message queue instead of SemaphoreSlim - SemaphoreSlim was severely bottlenecking performance (#839) 2019-04-23 10:23:47 +02:00
Coburn
2695da4e2a LLAPI Transport not available on WSA/UWP (v2) (#838)
* LLAPITransport will not be available for WSA/UWP applications with this patch. (LLAPI never was to begin with).

* v2 of the not allowing LLAPI Transport to be available on UWP/WSA games
2019-04-22 11:15:17 +02:00
Coburn
7058de2364 LLAPITransport will not be available for WSA/UWP applications with this patch. (LLAPI never was to begin with). (#837) 2019-04-22 09:34:36 +02:00
vis2k
92a9903b0d Disable sceneid assignment message 2019-04-22 09:23:36 +02:00
Zac North
2d682b5fad fix(websocket): #829 fix InvalidOperationException with wss:// (#830)
* fix(wss): Use a queue on the server to avoid "InvalidOperationException: Invalid nested call."

* Remove unnecessary "private"

Co-Authored-By: Katori <znorth@gmail.com>

* Remove unnecessary "private"

Co-Authored-By: Katori <znorth@gmail.com>

* Update Server.cs

* comment: explain what is going on here

* comments:  better comment

* Move queue into WebSocketImplementation instead of Server-specific

* Remove unused variables in Server

* Use a SemaphoreSlim instead of queue system
2019-04-21 10:33:07 +02:00
vis2k
52625923b2
fix: Mono.CecilX namespace to work around Unity 2019 Cecil namespace collision (#832)
* fix: Mono.CecilX namespace to work around Unity 2019 Cecil namespace collision

* rename dlls

* change asmdef guid for conflict with hlapi

* rename assemblynames too

* fix: invalid scene id in 2019.1 by ignoring prefabs in NetworkScenePostProcess

* rename projects too
2019-04-20 21:01:10 +02:00
vis2k
203a823b19 fix: invalid scene id in 2019.1 by ignoring prefabs in NetworkScenePostProcess 2019-04-20 20:39:44 +02:00
vis2k
b20c0d91f7 syntax 2019-04-19 09:28:39 +02:00
MrGadget
bcd3424c0e refactor: Simplify GetStartPosition (#828)
* Simplify GetStartPosition

- Early out if startPositions.Count = 0
- Reduces the normal returns to single LOC each
- Only resets startPositionIndex if it reaches int.MaxValue
- Uses modulo and increment-after against count to pick round robin index
- Eliminates unnecessary last return that could never be reached

* Per Paul's request
2019-04-18 15:20:08 -05:00
MrGadget
8ebda0fa21 fix: Respect Player Prefab Position & Rotation (#825)
Respect Player Prefab Position & Rotation
2019-04-18 07:13:38 -05:00
vis2k
e8d9d852e3 NetworkIdentity.observers dictionary is always created, but always empty on clients. Gets rid of all null checks. 2019-04-17 23:04:52 +02:00
vis2k
aa4a91bcce remove whitespace 2019-04-17 22:42:56 +02:00
Paul Pacheco
b4c9c6fdc8 refactor: consolidate prefab and spawn handlers (#817) 2019-04-17 16:00:03 +02:00
vis2k
b5ff43ada3 feat: SyncList.FindIndex added (#823) 2019-04-17 06:18:23 -05:00
MichalPetryka
2327498b31 Remove vars (#819) 2019-04-16 12:38:48 +02:00
MichalPetryka
6eaea267d5 Remove useless out (#820) 2019-04-16 12:38:22 +02:00
MichalPetryka
3b5fa051c1 Inline out (#818) 2019-04-16 12:38:01 +02:00
vis2k
3452915a4e NetworkConnection.TransportReceive: don't try to invoke if unpacking failed. 2019-04-15 15:08:55 +02:00
Paul Pacheco
1352334747 fix: non ready connections should not observe objects 2019-04-15 07:32:41 -05:00
Paul Pacheco
e69c0976a2 refactor: Simplify nested if 2019-04-15 06:30:41 -05:00
Paul Pacheco
97f8bf6b26 refactor: use null propagation operator 2019-04-14 11:04:23 -05:00
Paul Pacheco
af0f79be14 refactor: removed unreachable if 2019-04-14 10:17:29 -05:00
Paul Pacheco
7417b68671 fix: check event prefix 2019-04-14 10:06:36 -05:00
Paul Pacheco
2598389036 refactor: use null propagation operator 2019-04-14 07:58:53 -05:00
MichalPetryka
fea09a6b74 Improve SceneID generation via RNGCryptoServiceProvider (#812)
* Improve SceneID generation

* Update NetworkIdentity.cs
2019-04-14 14:17:25 +02:00
vis2k
b9247a78b6 out syntax 2019-04-14 12:43:05 +02:00
vis2k
f3f0ef299e clear sceneid if it was a duplicate 2019-04-14 12:40:16 +02:00
vis2k
3ebd4981a4 only use generated sceneId if not duplicate 2019-04-14 12:39:48 +02:00
MrGadget
705194023c Remove all "private" (#807) 2019-04-14 09:43:03 +02:00
MrGadget
08cc3236a1 Fix Additive Example Scene Lighting (#808) 2019-04-13 21:41:46 +02:00
c6burns
3a50ca6352 fix: added new read/write symbol params (#806)
fix: added new read/write symbol params
2019-04-12 16:00:46 -05:00
vis2k
27b7e250a0 perf: OnDeserializeSafely without GC (#804) 2019-04-12 08:38:23 -05:00
vis2k
19a9995501 remove whitespace 2019-04-12 15:31:05 +02:00
vis2k
a82367b2c6 remove caching to keep it simple for now 2019-04-12 11:57:47 +02:00
vis2k
80d72c804d remove empty whitespace 2019-04-12 11:55:22 +02:00
vis2k
7e79dfad38 disable 'Weaving succeeded' message now that everything works 2019-04-12 11:55:09 +02:00
c6burns
3ba546e133 fix: #791 corrected assembly paths passed to weaver (#803)
* fixed incorrect assembly paths

* Update CompilationFinishedHook.cs
2019-04-12 11:52:35 +02:00
vis2k
2eb247a6d2 Cecil StackOverflow fix without breaking API (https://github.com/vis2k/cecil/commits/TypeReference_Resolve_StackOverFlow_Fix) 2019-04-12 11:23:44 +02:00
vis2k
0f1522229e remove empty whitespace 2019-04-11 22:09:25 +02:00
vis2k
eb4b2f40c5 Weaver.ImportCorLibType: avoid MixIn exception when calling ImportReference with a null type. Log the type that we failed to resolve instead. 2019-04-11 22:09:14 +02:00
vis2k
286983a8f8 Fix StackOverflowException for NetStandard in Mono.Cecil by using https://github.com/vis2k/cecil/tree/TypeReference_Resolve_StackOverFlow_Fix 2019-04-11 21:57:14 +02:00
vis2k
9f67b4761f Rebuild Cecil 0.10.3 DLLs from scratch via net4_0_Release mode 2019-04-11 20:10:43 +02:00
c6burns
9d4b96975e minimum changeset for cecil 0.10.3 (#795)
* added fixes for cecil 0.10.3

* added missing meta

* fix typo'd asmresolver

* accept paul's suggestion, on behalf of c6

Co-Authored-By: rodolphito <rodol@rivalrebels.com>
2019-04-11 19:59:37 +02:00
vis2k
ec5ceb1149 update CompilationFinishedHook comment about cecil bug 2019-04-11 18:52:41 +02:00
Chris Langsenkamp
d46334d2eb Add meta files for dummies 2019-04-11 11:22:40 -05:00
MrGadget
534a5a5834 Dummy NetworkAnimatorEditor 2019-04-11 07:22:01 -05:00
MrGadget
1dfd2dad6e Dummy SyncListInitializer.cs 2019-04-11 07:21:44 -05:00
MrGadget
75e4f159e5 fix: Dummy file for SyncListStructProcessor.cs (#798)
Dummy file for SyncListStructProcessor.cs to avoid breaking compilation
2019-04-11 06:55:35 -05:00
MrGadget
b7e94d9e5a
Fixed typo 2019-04-11 07:44:41 -04:00
vis2k
bdbbed8b9d
Remove OwnerMessage to fix a bug where isLocalPlayer isn't reliable when checking it in Start() because OwnerMessage was received after SpawnFinished message (#793) 2019-04-11 00:01:31 +02:00
Paul Pacheco
97e9ac2483 perf: Reduce enum bandwidth (#794)
enums are serialized according to their size.
if enum extend byte,  they use 1 byte
if enum extend short, they use 2 bytes
if enum extend int,  they are varinted
if enum extend long, they are varinted

So on average,  most enums will take 1 byte.   Previously they always required 4 bytes
2019-04-11 00:01:09 +02:00
Paul Pacheco
f00c8e5e62 refactor: simplify enum logic a bit 2019-04-10 16:21:21 -05:00
Paul Pacheco
7b57830e6c fix: #791 stack overflow in the weaver (#792)
remove unnecessary manual dispose calls in weaver
2019-04-10 16:58:49 +02:00
vis2k
5c850aa9ca fix: workaround for #791 2019-04-10 16:03:37 +02:00
MrGadget
531e202bbe fix: Round Robin Spawning by Hierarchy Order (#790)
Fixes #724
2019-04-10 12:34:14 +02:00
rodolphito
f46f32df55 Hide this obsoleted thing (#786) 2019-04-09 23:38:16 +02:00
MrGadget
69cb0389b0 Fixed ListServer example (#785)
Added EditorBrowsable(EditorBrowsableState.Never)
2019-04-09 22:02:15 +02:00
MrGadget
fd292e21bc Obsoleted IsHeadless
IsHeadless() was just added in Feb. 2019, so I wouldn't expect wide usage so quickly, but since there have been 3 asset store publishes since then, it should be obsoleted for a bit.

Also made it `isHeadless` camelCase now that it's a property, which made obsoleting it possible.
2019-04-09 10:41:59 -05:00
MrGadget
e33581fa90 Simplify IsHeadless (#782) 2019-04-09 14:56:21 +02:00
Paul Pacheco
4644bc4b77 fix: Don't set framerate in host mode 2019-04-09 05:50:02 -05:00
vis2k
a2cc14bd20 fix: update NetworkIdentityEditor FindProperty to renamed variables 2019-04-09 11:40:59 +02:00
rodolphito
9d064c8013 These methods arent used, they should be commented along with the other error generator parts. (#764)
* These methods arent used, they should be commented along with the other error generator parts.

* Delete the comment
2019-04-09 10:01:57 +02:00
rodolphito
959be9338a These should have been obsoleted with Paul's Message<T> PR (#754)
* These should have been obsoleted with Paul's Message<T> PR

* Do what vis says
2019-04-09 10:01:05 +02:00
rodolphito
cc3b4aaa6d Simplify NetworkIdentity (#752)
* Simplify NetworkIdentity

* style: variable in separate line

Most of the code keeps the variables and attributes in separate lines.
2019-04-09 10:00:39 +02:00
rodolphito
7762158585 This should be readonly (#778) 2019-04-09 09:59:57 +02:00
rodolphito
07e355a3a3 Renamed networkBehaviours to networkBehavioursCache to reduce confusion (#780) 2019-04-09 09:56:28 +02:00
rodolphito
68433660ca Make Weaver variable naming consistent (#781)
* Rename netViewTmp

* Rename UBehaviourIsServer

* Better name for IsServer
2019-04-09 09:55:56 +02:00
Rodol Phito
98d6e667b0 Added string binary compat test 2019-04-08 17:04:12 -05:00
Rodol Phito
dc0e07a851 Added string truncation test. 2019-04-08 17:04:12 -05:00
rodolphito
ca96e2a03f Fix issue 763 by only catching while message decoding, and not during handling. (#767) 2019-04-08 15:53:45 +02:00
Paul Pacheco
fff765c96b perf: use bitshift operations instead of division in varint 2019-04-08 06:18:56 -05:00
rodolphito
f0a8b5dea8 feat(telepathy): Split MaxMessageSize to allow setting a different value for client and server (#749)
* Split MaxMessageSize to allow setting a different value for client and server

* Rename fields to follow naming conventions, use using System;.
2019-04-08 09:53:46 +02:00
rodolphito
e8cae28258 This method isnt actually used anywhere. (#674) 2019-04-08 09:52:29 +02:00