Commit Graph

4768 Commits

Author SHA1 Message Date
vis2k
3d6c41a595
fix: #3122 DestroyAllClientObjects now also resets after unspawn handler was called (#3124) 2022-03-23 23:54:58 +08:00
MrGadget
cca7afdd08 MultipleMatches example fixed 2022-03-23 07:19:36 -04:00
MrGadget
3024427933 Fixed comments 2022-03-23 07:19:36 -04:00
vis2k
2c138c5d71 hasAuthority comment updated 2022-03-22 22:51:48 +08:00
vis2k
012d7a5d1e Tests: runtime clientscene tests simplified and they don't rely on host mode anymore 2022-03-22 22:51:35 +08:00
vis2k
4b207d2994 fix: NetworkStatistics Unity 2019 support (part two) 2022-03-19 01:45:13 +08:00
vis2k
8f357d5961 fix: NetworkStatistics Unity 2019 support 2022-03-15 00:23:11 +08:00
vis2k
f4ceb067c9 perf: NetworkTime ExponentialMovingAverage .Value & .Var as fields instead of properties to avoid call overhead 2022-03-12 20:26:40 +08:00
vis2k
d979880c5f perf: NetworkTime.time inlined 2022-03-12 20:26:20 +08:00
vis2k
18170d16b8 perf: NetworkTime.localTime inlined 2022-03-12 20:26:02 +08:00
vis2k
45e1afc812 perf: inline GetIndexFromFunctionHash because it's called for every RPC 2022-03-12 19:46:00 +08:00
vis2k
5fcbd1d550 perf: CompressVarInt uses WriteByte instead of Write<T> to avoid Action call overhead 2022-03-12 19:20:00 +08:00
vis2k
a868368eca
perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119)
* perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt)

* tests
2022-03-12 18:26:00 +08:00
vis2k
5515eae4e8 perf: HandleRemoteCall passes componentIndex as byte to avoid extra < 0 check 2022-03-11 23:55:35 +08:00
vis2k
b6a9a95572 align NetworkStatistics exactly below NetworkManager HUD 2022-03-11 13:33:36 +08:00
vis2k
3d03146699
feature: NetworkStatistics (#3118)
* feature: NetworkStatistics

* better UI
2022-03-11 13:29:39 +08:00
vis2k
b100307929 feature: Transport.OnClient/ServerDataSent events += (prepares for NetworkStatistics) (#3117)
* feature: Transport.OnClient/ServerDataSent events += (prepares for NetworkStatistics)

* comments
2022-03-11 13:19:24 +08:00
vis2k
dc5162099e
feature: allow hooking into Transport events via += -= (prepares for NetworkStatistics) (#3116) 2022-03-11 13:10:12 +08:00
vis2k
0499dc0503 Tests: ShutdownCleanup test cleanup to prepare for Transport events += -= hooking 2022-03-10 22:19:21 +08:00
vis2k
e71f0e1cc4 script icons .meta 2022-03-10 20:29:41 +08:00
vis2k
9686c68bb7 base Transport moved to Runtime folder; Transport folder renamed to Transports 2022-03-10 20:25:49 +08:00
vis2k
99c3c0ded6 perf: NetworkConnection.Send() inlining 2022-03-10 19:57:35 +08:00
vis2k
24142b085b comments 2022-03-10 19:50:08 +08:00
vis2k
3643679ec5 comments 2022-03-10 19:46:42 +08:00
vis2k
70bd831bd8 NetworkWriterPooled moved into separate file 2022-03-10 19:45:37 +08:00
vis2k
d92dbe1572 NetworkReaderPooled moved into separate file 2022-03-10 19:45:03 +08:00
vis2k
0402d31eb2 breaking: PooledNetworkReader/Writer renamed to NetworkReader/WriterPooled 2022-03-10 19:44:13 +08:00
vis2k
f0c9a81c10
breaking: NetworkReader/WriterPool API simplified: GetReader/Writer => Get; Recycle => Return; (#3112)
* breaking: NetworkReader/WriterPool API simplified: GetReader/Writer => Take; Recycle => Return;

* rename Take() to Get()

* Pool<T> Take() => Get()
2022-03-10 19:37:21 +08:00
vis2k
006efa090e fix test 2022-03-09 16:40:31 +08:00
vis2k
926761c452 fix test 2022-03-09 16:33:34 +08:00
vis2k
70e40b88b5 test for #3106 OnStartLocalPlayer being called twice from ReplacePlayerForConnection 2022-03-09 16:25:28 +08:00
vis2k
f6df4edaae fix: #3106 NetworkClient.ChangeOwner now uses .isLocalPlayer flag to check if OnStopLocalPlayer should be called.
previously it used localPlayer static identity, but that's error prone because in this case it was set by another function before already. added test to guarantee it never fails again.
2022-03-09 16:21:43 +08:00
vis2k
e2d1ad0b5e better comment 2022-03-09 16:18:40 +08:00
vis2k
fedb6002b6 not necessary 2022-03-09 16:04:30 +08:00
vis2k
1423bee9d2 comment 2022-03-09 16:03:46 +08:00
vis2k
35ec47d213 Tests: guarantee OnStopLocalPlayer is called when using RemovePlayerForConnection. for #3106 2022-03-09 16:02:24 +08:00
vis2k
5846045122 comments 2022-03-09 15:55:05 +08:00
vis2k
303b66247e ChangeOwner comments 2022-03-09 15:54:27 +08:00
vis2k
8bef2bf864 TODO 2022-03-09 15:52:07 +08:00
vis2k
c14566c731 comments 2022-03-09 15:51:12 +08:00
vis2k
a34cb00eb2 comment 2022-03-09 15:49:53 +08:00
vis2k
401074fc67 syntax 2022-03-09 15:47:43 +08:00
vis2k
376494e7f5 syntax 2022-03-09 15:46:50 +08:00
vis2k
7e19881630 MIRROR_65_0_OR_NEWER 2022-03-07 20:26:11 +08:00
MrGadget
a51bc743a8 syntax 2022-02-26 15:02:16 -05:00
MrGadget
3a1d9822bd Updated Authenticators 2022-02-26 14:53:25 -05:00
vis2k
66eff281c7 breaking: removed unnecessary 'initialize' parameter from InterestManagement.OnRebuildObservers 2022-02-26 15:26:04 +08:00
MrGadget
c1e05d9df4 fix: NetworkAuthenticator methods virtual
- abstract throws an error for derived classes that wrap server methods in UNITY_SERVER or similar as missing required override.
2022-02-25 09:47:35 -05:00
MrGadget
44dfce94b1 fix: Chat Example Authenticator 2022-02-24 08:22:33 -05:00
MrGadget
a88b03739f fix: NetworkConnectionToClient in Authenticators 2022-02-23 14:57:25 -05:00
Robin Rolf
d67dc74bbd
feat: Allow generic NetworkBehaviour<T> subclasses (#3073)
* feat: Allow generic NetworkBehaviour subclasses

It's only generic SyncVars (via attribute) and rpcs/cmds we don't want to deal with and that aren't supported.
Even generic SyncVar<T> works

* Generate IL2CPP compatible base calls

see cf91e1d547

* Make SyncVar field/hook references generic too

Fixes bad IL

* Update Extensions.cs

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

Co-authored-by: vis2k <info@noobtuts.com>
2022-02-23 12:50:15 +08:00
James Clancey
7670271bf1
fix: Android multicast Discovery. Fixes #2878 (#2887)
* Added Android multicast support for Discovery Fixes #2878

This will add support for turning on and off Multicast for Android devices.
It also contains an Android manifest editor that will add the appropriate permissions.

* Reset the lock state once you end it.

* Update NetworkDiscoveryBase.cs

* Update AndroidManifestHelper.cs

Co-authored-by: vis2k <info@noobtuts.com>
2022-02-17 19:39:20 +08:00
vis2k
c804efd731 ClientSceneTests: remove redundant ApplyPayload tests. we have higher level (and more simple) tests that already guarantee this. 2022-02-17 13:08:15 +08:00
vis2k
1bbd2bbad7 MirrorTest: CreateNetworkedAndSpawnPlayer<T, U> 2022-02-17 12:55:31 +08:00
vis2k
d91f43a486 MirrorTest: guarantee isServer/isClient 2022-02-17 00:02:49 +08:00
vis2k
a07eb1bbba Tests: use explicit NetworkConnectionToClient 2022-02-17 00:02:02 +08:00
vis2k
fa1e5184c1 Tests: TooManyComponents improved to prepare for SyncDirection 2022-02-16 23:05:35 +08:00
vis2k
e0bdca7532 Tests: TooManyComponents improved to prepare for SyncDirection 2022-02-16 23:02:14 +08:00
vis2k
d99652873b corrected the answer 2022-02-16 21:46:52 +08:00
vis2k
baf5002560 "life is all about setup" 2022-02-16 21:41:42 +08:00
vis2k
61a98fd97b Tests: SerializationException cleanup to prepare for SyncDirection 2022-02-16 21:38:54 +08:00
vis2k
a45d3adf42 unused import 2022-02-16 21:25:01 +08:00
vis2k
5420cd084d Tests: OnSerializeAndDeserializeAllSafely cleanup 2022-02-16 21:24:44 +08:00
vis2k
b64a170b24 syntax 2022-02-16 16:36:26 +08:00
vis2k
f042933334 perf: NetworkReader: ReadBytes cleanup. copy buffer directly instead of generating segment first. 2022-02-16 16:33:41 +08:00
vis2k
c26c75485a NetworkReader: move extensions into separate file 2022-02-16 16:11:17 +08:00
vis2k
0f77fe342d NetworkWriter: move extensions into separate file 2022-02-16 16:09:52 +08:00
vis2k
c3ac08203a NetworkWriter: runtime resizing comment 2022-02-16 15:50:51 +08:00
vis2k
2ea328750c
[SyncVar] OnDeserialize moved to C# to reduce headaches (#3103) 2022-02-16 12:24:01 +08:00
vis2k
533c054408 GenerateNewActionFromHookMethod helper function for future reuse in OnDeserialize 2022-02-15 17:31:28 +08:00
vis2k
72973f484a
fix: host mode [SyncVar] setter hooks now support virtual / overwritten functions again (#3102) 2022-02-15 17:30:56 +08:00
vis2k
4e91833c7d
fix: host mode [SyncVar] setter hooks now support static functions again (#3101)
* fix: host mode [SyncVar] setter hooks now support static functions again

* Tests: [SyncVar] setter in host mode static hook test for https://github.com/vis2k/Mirror/pull/3101
2022-02-15 14:42:39 +08:00
vis2k
e41edfae2f better comment 2022-02-13 22:21:36 +08:00
James Frowen
e250d4eb6f
feat: updating to SimpleWebTransport v1.3 (#3099)
- Allowing max message size to be increase to int32.max
- fixing minor bugs (see change log)
2022-02-13 17:01:04 +08:00
MrGadget
9e45ce869b
breaking: Make clientLoadedScene protected (#3098)
- users shouldn't be messing with this
- it does need to be available in an override of OnClientConnect
2022-02-13 16:56:54 +08:00
MrGadget
8394190b11 explicit type 2022-02-12 19:44:04 -05:00
MrGadget
faf8f15a59 Comments 2022-02-12 16:12:15 -05:00
MrGadget
4db8da0b6a Comments 2022-02-12 16:03:15 -05:00
vis2k
791a9b907d test comments 2022-02-11 19:40:40 +08:00
vis2k
0b4787d3d9 SyncVarAttributeTest: use MirrorTest's ProcessMessages() instead of manual serialize/deserialize for consistency 2022-02-09 13:07:13 +08:00
vis2k
9271990cae SyncVarAttributeHookTest: use MirrorTest's ProcessMessages() instead of manual serialize/deserialize for consistency 2022-02-09 13:05:24 +08:00
vis2k
f962f7fb47 GetSerializationAtTick: disable tick based serialization caching during tests. fixes [SyncVar] changes not serializing in tests because Time.frameCount would never increase during tests, so the original spawn serialization would always be reused. 2022-02-09 12:48:12 +08:00
vis2k
d5af1c6407 GeneratedSyncVarSetter: add comments 2022-02-09 01:58:04 +08:00
vis2k
2610dfc1b3
Tests: Mirrortest isClient check and make sure it's actually set (#3094)
* Tests: guarantee isClient == true

* fix
2022-02-08 20:44:56 +08:00
vis2k
39632fc5e5 NetworkClient.SpawnSceneObject: don't rely on SpawnMessage 2022-02-08 00:01:07 +08:00
MrGadget
46e6c61da6
fix: Match & Team Int Mgmt OnCheckObserver (#3089) 2022-02-06 08:30:03 -05:00
MrGadget
4e4e001c92 fix: Missed a couple NetworkConnectionToClient changes 2022-02-06 07:14:12 -05:00
MrGadget
b117b92d08
fix: Updated Templates (#3090) 2022-02-06 06:25:08 -05:00
MrGadget
c94ee5222f
breaking: Use NetworkConnectionToClient (#3088)
* fix: Use NetworkConnectionToClient

* Revert change to MatchInterestManagement

* Revert change to Basic Example scene

* Revert change to Basic Example Player prefab

* Interest Management too

* Updated MultipleMatches example

* Updated RoomManager and Room example
2022-02-06 14:03:55 +08:00
vis2k
f26797a7d7
breaking: NetworkConnection cleanup (#3086)
* breaking: NetworkManager: use strong typed OnConnect/OnDisconnect events

* breaking: NetworkConnection server code moved to NetworkConnectionToClient (it shouldn't be in base class, otherwise it would be in client code's NetworkConnectionToServer as well)

* InterestManagement.OnCheckObserver: use NetworkConnectionToClient
2022-02-06 13:24:38 +08:00
vis2k
db1c7e3e28 TODO 2022-02-05 18:19:46 +08:00
vis2k
6cc293b12d NetworkBehaviour.connectionToClient type changed to NetworkConnectionToClient, just like NetworkIdentity 2022-02-05 18:03:12 +08:00
vis2k
d56da0ed02 NetworkServer.OnConnected/Disconnected/ErrorEvent: strong typing 2022-02-05 13:12:55 +08:00
vis2k
770dfc838a use NetworkConnectionToClient for NetworkServer.RegisterHandler registered handlers. allows for further NetworkConnection cleanups, enforces actual type, does not break anything 2022-02-05 13:12:55 +08:00
vis2k
c556b23543 NetworkServer.RegisterHandler: allow passing NetworkConnectionToClient instead of NetworkConnection base class.
both work now; old code does not break; but still allows for new code NetworkConnection cleanups
2022-02-05 13:12:55 +08:00
vis2k
eafaa2cf32 syntax 2022-02-05 00:51:50 +08:00
vis2k
bf2350030b breaking: NetworkServer.NoExternalConnections => HasExternalConnections to avoid double negative checks as usual 2022-02-05 00:47:24 +08:00
vis2k
7488aac1d6 syntax 2022-02-05 00:37:48 +08:00
vis2k
8e03cee673 remove old comment 2022-02-05 00:32:06 +08:00
vis2k
3cf595ff30 MessagePackingTest: don't rely on scene feature 2022-02-04 13:26:16 +08:00