Commit Graph

5398 Commits

Author SHA1 Message Date
vis2k
7a1c5774a3 rename 2022-01-25 01:14:19 +08:00
vis2k
212ec448fb Test to prevent SyncVar.value = X throwing invalid IL 2022-01-25 01:11:03 +08:00
vis2k
f30429dbd2 Test to prevent SyncVar ldflda replacement issues as reported by imer
https://github.com/vis2k/Mirror/pull/2957#issuecomment-1020061244
2022-01-24 21:05:48 +08:00
MrGadget
5c48971d8e Updated SyncListWithUserData 2022-01-22 19:35:56 -05:00
MrGadget
be8cf781d9 Updated SyncListWithUserData 2022-01-22 18:19:04 -05:00
MrGadget
61eec62de9 Updated SyncListWithUserData 2022-01-22 12:23:35 -05:00
MrGadget
76843e6c30 Updated SyncListWithUserData 2022-01-21 21:42:15 -05:00
MrGadget
1bfa2dae52 Added SyncListWithUserData 2022-01-21 09:57:19 -05:00
vis2k
9956c1620a Revert "fix: Duplicate IL2CPP hashes when building to WebGL (#3061)"
This reverts commit d33c7cb247.

because remoteattributetests deadlock on 2021.2.8
2022-01-21 18:11:23 +08:00
vis2k
657a06bbc8 remove leftover comment 2022-01-21 16:11:17 +08:00
cooper
d33c7cb247
fix: Duplicate IL2CPP hashes when building to WebGL (#3061)
* change to tryget

* Update DistanceInterestManagement.cs

* Update MethodProcessor.cs

* GenerateMethodName

* Update MethodProcessor.cs

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

* Update Weaver.cs

Co-authored-by: vis2k <info@noobtuts.com>
2022-01-21 12:47:16 +08:00
MrGadget
238c80dc33
fix: added / updated AddComponent attributes (#3062)
* fix: added / updated AddComponent attributes

* fix: Added / Updated AddComponent attirbutes

* Update Assets/Mirror/Components/Discovery/NetworkDiscoveryHUD.cs
2022-01-20 11:58:27 -05:00
MrGadget
d1543d5943 Removed using from ChatAuthenticator 2022-01-19 19:33:15 -05:00
MrGadget
9dbba89c0d
Merge branch 'vis2k:master' into master 2022-01-19 14:18:07 -05:00
tuf
171d3543be
Fixed everything that's wrong with Mirror (#3059) 2022-01-19 14:07:52 -05:00
MrGadget
fab9961436 Mirror 60.2.0 2022-01-19 09:48:55 -05:00
MrGadget
ffabc3e802
Merge branch 'vis2k:master' into master 2022-01-19 09:48:04 -05:00
MrGadget
fe8893dd3a
feat: NT uses Cmd/Rpc overloads (#3058) 2022-01-19 22:25:36 +08:00
MrGadget
9c7f7f849f Removed Tests 2022-01-19 07:22:12 -05:00
MrGadget
0d30a0b102
Merge pull request #2 from vis2k/master
Mirror 60.1.0
2022-01-19 07:21:14 -05:00
MrGadget
140691e744 Added Tests 2022-01-19 07:20:57 -05:00
vis2k
30a7e1d576 feature: remote call overloads are now allowed for [TargetRpc] too. they are possible now due to 0cdeccbe71 using .FullName instead of .Name 2022-01-19 18:43:05 +08:00
vis2k
b6f4c641de feature: remote call overloads are now allowed for [ClientRpc] too. they are possible now due to 0cdeccbe71 using .FullName instead of .Name 2022-01-19 18:43:05 +08:00
MrGadget
85e86bd4a0 fix: Network Manager Template singleton 2022-01-18 11:56:55 -05:00
vis2k
f79166dd6c Weaver: remove unused .Resolver 2022-01-19 00:10:41 +08:00
vis2k
508cc7ec1a comments 2022-01-19 00:00:11 +08:00
vis2k
1328dcb7ea comment 2022-01-18 17:27:34 +08:00
vis2k
1eca5fe9b4 breaking: RemoteCalls.RegisterCommand/RpcDelegate renamed to RemoteCalls.RegisterCommand/Rpc to keep it simple 2022-01-18 17:22:15 +08:00
vis2k
131e854479 RemoteCalls: CheckIfDelegateExists cmdHash renamed to functionHash 2022-01-18 17:17:43 +08:00
vis2k
c675cfe2b0 syntax 2022-01-18 17:14:09 +08:00
vis2k
3792e23f2f remove old code 2022-01-18 17:12:33 +08:00
vis2k
45438b5e91 feature: remote call overloads are now allowed. they are possible now due to 0cdeccbe71 using .FullName instead of .Name 2022-01-18 17:10:37 +08:00
vis2k
a797c9733a syntax 2022-01-18 16:50:00 +08:00
vis2k
8647efc297 add comments 2022-01-18 16:45:36 +08:00
vis2k
739dfb361e RemoteCalls.Invoker.invokeClass renamed to componentType because that's what we use it to check for 2022-01-18 16:44:15 +08:00
vis2k
11ca6a542f RemoteCalls: add comment 2022-01-18 16:42:34 +08:00
vis2k
0418f1c9d2 RemoteCalls.Invoker.remoteCallType renamed to callType for simplicity 2022-01-18 16:38:57 +08:00
vis2k
1242fb1356 RemoteCalls: InvokeHandlerDelegate renamed to Invoke for simplicity. 2022-01-18 16:36:21 +08:00
vis2k
ad2d0560a3 RemoteCalls.Invoker.invokeFunction renamed to function for simplicity 2022-01-18 16:33:05 +08:00
vis2k
d1d2523b75 syntax 2022-01-18 16:31:23 +08:00
vis2k
a83786f884 syntax 2022-01-18 16:30:52 +08:00
vis2k
40333bb784 syntax 2022-01-18 16:28:49 +08:00
vis2k
c55e42f7e2 perf: NetworkServer.OnCommandMessage doesn't requires NetworkIdentity.CommandRequiresAuthority check anymore.
Remote calls are now hashed based on full name, so we don't need to find & compare the particular component anymore.
2022-01-18 16:19:54 +08:00
vis2k
3a78a2fca5 comment 2022-01-18 16:17:07 +08:00
vis2k
262c7f8898 RemoteCalls GetCommandInfo + CommandInfo struct replaced with a simple CommandRequiresAuthority bool 2022-01-18 16:04:35 +08:00
vis2k
10f7d4c34a syntax 2022-01-18 15:57:51 +08:00
vis2k
0aa70d8e61 syntax 2022-01-18 15:55:16 +08:00
vis2k
308e995ad5 syntax 2022-01-18 15:52:49 +08:00
vis2k
a4e6163f9f syntax & comments 2022-01-18 15:51:16 +08:00
vis2k
6989f21817 syntax 2022-01-18 15:46:52 +08:00
vis2k
effad42399 syntax 2022-01-18 15:45:52 +08:00
vis2k
94c319746b RemoteCalls: GetInvokerForHash simplified 2022-01-18 15:45:22 +08:00
vis2k
c4828251e6 comment 2022-01-18 15:44:03 +08:00
vis2k
48b368a0dd syntax 2022-01-18 15:43:03 +08:00
MrGadget
34bf98b9d0 MIRROR_58_0_OR_NEWER 2022-01-18 00:57:24 -05:00
vis2k
fdd3041d68 breaking: SendTargetRpcInternal removed now unnecessary invokeClass parameter from NetworkBehaviour and Weaver 2022-01-18 13:54:19 +08:00
vis2k
99dd9fdafb breaking: SendRpcInternal removed now unnecessary invokeClass parameter from NetworkBehaviour and Weaver 2022-01-18 13:54:19 +08:00
vis2k
d0b2ecf7ed breaking: SendCommandInternal removed now unnecessary invokeClass parameter from NetworkBehaviour and Weaver 2022-01-18 13:54:19 +08:00
vis2k
0cdeccbe71 breaking: RemoteCalls simplified: Weaver now passes full function name instead of Type + function.Name.
makes everything easier, allows us to remove GetMethodHash(Type invokeClass, string methodName).
also allows for two [Command]s/[Rpc]s with same name but different type parameters now.
2022-01-18 13:54:19 +08:00
vis2k
05e62388d4
breaking: Obsolete Experimental NetworkTransform
* breaking: obsolete old experimental NetworkTransform components

* Update Assets/Mirror/Components/Experimental/NetworkTransform.cs

* Update Assets/Mirror/Components/Experimental/NetworkTransformChild.cs

* Update Assets/Mirror/Components/Experimental/NetworkTransformBase.cs

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

BREAKING: Obsolete Experimental NetworkTransform
2022-01-18 00:24:30 -05:00
vis2k
e192dae48e RemoteCalls: cmdHandlerDelegates renamed to remoteCallDelegates because it's not just for Commands 2022-01-18 13:09:16 +08:00
vis2k
6b9eccd9e1 RemoteCalls: add comment 2022-01-18 12:55:53 +08:00
Robin Rolf
a828f5a983 fix: NetworkTransform syncs initial position/rotation/scale #3048 (#3051)
* fix: NT syncs initial position/rotation/scale

fixes #3048

* Update NetworkTransformBase.cs

* Update NetworkTransformBase.cs

* Update NetworkTransformBase.cs

* Update NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2022-01-18 12:55:40 +08:00
vis2k
c15a137209 ifdef 2022-01-18 12:55:30 +08:00
vis2k
8a3771b0a1 GUIConsole now pops up on warnings too for easier debugging 2022-01-18 12:55:23 +08:00
vis2k
3c7f358c4f breaking: RemoveProcedureCalls renamed to RemoteCalls to fit the Namespace 2022-01-18 11:37:35 +08:00
vis2k
92ce96d5bd Delegate, not Deligate 2022-01-18 11:37:35 +08:00
vis2k
f39586a477 breaking: MirrorInvokeType renamed to RemoteCallType 2022-01-18 11:37:35 +08:00
vis2k
7af0d541f2 MirrorInvokeType moved from Utils to RemoteProcedureCalls 2022-01-18 11:37:35 +08:00
vis2k
6738ede014 breaking: CmdDelegate renamed to RemoteCallDelegate 2022-01-18 11:37:35 +08:00
vis2k
40b8886c48 breaking: RemoteCallHelper renamed to RemoteProcedureCalls 2022-01-18 11:37:35 +08:00
vis2k
94985eef40
perf: NetworkServer.BroadcastToConnection ClearDirtyComponentsDirtyBits() moved into NetworkIdentity.GetSerializationAtTick. O(N*M) => O(N) (#3049)
=> previously per broadcast it was called for each connection, for each entity.
=> now per broadcast it is called for each entity once.
2022-01-18 11:36:45 +08:00
vis2k
bfbcef6a54
perf: NetworkTime.localTime uses Unity 2020 Time.timeAsDouble instead of stopwatch if available. Makes IsDirty() check a lot faster. (#3050) 2022-01-18 11:36:23 +08:00
MrGadget
7d974fbdbe
Merge branch 'vis2k:master' into master 2022-01-17 13:16:09 -05:00
MrGadget
f4397e1ef7 Removed leftover counter 2022-01-17 12:28:14 -05:00
MrGadget
f4449ceb8f
Merge branch 'vis2k:master' into master 2022-01-17 05:29:46 -05:00
vis2k
00dec7e498 LocalConnections.cs split into LocalConnectionToClient/Server.cs 2022-01-16 23:10:17 +08:00
vis2k
34756d648f update comments 2022-01-16 17:09:29 +08:00
MrGadget
bd357e479c
Merge branch 'vis2k:master' into master 2022-01-16 01:31:03 -05:00
MrGadget
88770f87c6 Updated NetworkManager Template 2022-01-16 01:30:13 -05:00
MrGadget
bcb0f54405
Merge branch 'vis2k:master' into master 2022-01-16 00:53:30 -05:00
MrGadget
ffc990e4d8 Mirror 57.0.2 2022-01-16 00:52:39 -05:00
vis2k
e6c9fce37f ClearDirtyComponentsDirtyBits comments 2022-01-16 13:16:08 +08:00
MrGadget
ba51aa8e52 Mirror 57.0.1 2022-01-16 00:04:15 -05:00
MrGadget
2277921ba6
Merge branch 'vis2k:master' into master 2022-01-16 00:02:32 -05:00
MrGadget
5fbf78bf96 Restored Test 2022-01-15 23:54:20 -05:00
vis2k
dd1555ab96 remove unused import 2022-01-16 12:52:28 +08:00
vis2k
b54d086901
perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (based on #2441, #3036). This time with Android fix. (#3047)
* NetworkWriter.WriteBlittable with Android support

* NetworkReader.ReadBlittable with Android support

* link issue

* credits

* don't need thos eanymore
2022-01-16 12:42:51 +08:00
vis2k
edd06ec7e2 Test for #3044 (unaligned writes) 2022-01-16 12:20:05 +08:00
vis2k
ca9ca0a58c Mirror asmdef: allow unsafe code 2022-01-16 12:10:10 +08:00
vis2k
c25016465e Tests: don't need to check EndOfStreamException exact message as it differs between regular and blittable writers 2022-01-16 12:02:44 +08:00
cooper
8a93034fae
fix: Use TryGetComponent in DistantInterestManagement (#3046)
* change to TryGetComponent 
* Update DistanceInterestManagement.cs
2022-01-15 08:38:17 -05:00
MrGadget
b78dfc88cb Added version file 2022-01-14 05:16:19 -05:00
MrGadget
8bcbb98073 Delete Tests folder 2022-01-14 05:07:38 -05:00
MrGadget
257dd0dc70 Restored NetworkWriterTest 2022-01-14 05:06:22 -05:00
vis2k
e3abcd1d14 MIRROR_57_0_OR_NEWER 2022-01-14 03:40:31 -05:00
vis2k
16cd38b4c8 add Read/WriteBlittable comments for next time 2022-01-14 03:40:31 -05:00
vis2k
c030574345 fix: #3044 Revert "perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (based on #2441) (#3036)"
This reverts commit 4cf0554ae1.
2022-01-14 03:40:31 -05:00
vis2k
80a3d4b13b perf: kcp 2K V1.17 [2022-01-09]
- perf: server MaximizeSendReceiveBuffersToOSLimit option to set send/recv
  buffer sizes to OS limit. avoids drops due to small buffers under heavy load.
2022-01-14 03:40:14 -05:00
vis2k
3c26e92806 MIRROR_57_0_OR_NEWER 2022-01-13 12:25:58 +08:00
vis2k
bee3701897 add Read/WriteBlittable comments for next time 2022-01-13 12:03:07 +08:00
vis2k
2b441d181e fix: #3044 Revert "perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (based on #2441) (#3036)"
This reverts commit 4cf0554ae1.
2022-01-13 11:55:34 +08:00
MrGadget1024
563d7c8532 Removed Empty folders 2022-01-11 11:51:41 -05:00
MrGadget1024
d35a59d72f Updated Kcp and Telepathy AsmDef's to exclude WebFL 2022-01-11 11:51:07 -05:00
MrGadget1024
a52f8adbd8 Deleted Examples folder 2022-01-09 05:35:28 -05:00
MrGadget1024
e34164b31d Delete Tests folder 2022-01-09 05:33:40 -05:00
vis2k
5523499e33 perf: kcp 2K V1.17 [2022-01-09]
- perf: server MaximizeSendReceiveBuffersToOSLimit option to set send/recv
  buffer sizes to OS limit. avoids drops due to small buffers under heavy load.
2022-01-09 12:22:26 +08:00
MrGadget1024
4b8b7f8405 refined chat example 2022-01-08 08:44:22 -05:00
MrGadget1024
ed8cfdf18d Removed Resetting Statics log 2022-01-07 01:42:06 -05:00
vis2k
2cacb89fae breaking: fix: kcp2k V1.16
- fix: SendUnreliable respects ArraySegment.Offset
- fix: potential bug with negative length (see PR #2)
- breaking: removed pause handling because it's not necessary for Mirror anymore
2022-01-06 20:49:59 +08:00
vis2k
7e0f649f59 Tests: MessagePacking.GetId<T> 2022-01-06 20:06:32 +08:00
vis2k
35be99c5d9 missed an interest management obsolete 2022-01-06 14:17:59 +08:00
vis2k
76fe9759c6 remove unnecessary unsafe keyword 2022-01-06 13:22:23 +08:00
vis2k
dde8cc48f3 string interpolation 2022-01-06 13:19:25 +08:00
vis2k
e14da7a2a0 breaking: removed legacy NetworkVisibility system 2022-01-06 12:59:46 +08:00
vis2k
04a73b94a3 syntax 2022-01-06 12:52:14 +08:00
vis2k
8d00436a8d syntax 2022-01-06 12:27:37 +08:00
vis2k
90ee471bb8 simplify OnSerialize 2022-01-06 12:26:38 +08:00
vis2k
f77396b404 VarInt: remove redundant check 2022-01-06 12:22:38 +08:00
vis2k
eff3687a19 Revert "fix: NetworkManagerHUD use NetworkManager.singleton"
This reverts commit 294011803b.
2022-01-05 17:56:53 +08:00
vis2k
d17f91c447 syntax 2022-01-05 17:54:38 +08:00
MrGadget1024
893cb4590a fix: InterestManagement Awake
- Don't check for active server or client
- static `aoi` must always be set
2021-12-29 08:19:27 -05:00
MrGadget1024
294011803b fix: NetworkManagerHUD use NetworkManager.singleton 2021-12-28 16:06:58 -05:00
MrGadget1024
b659bde111 fix: fixed warnings 2021-12-28 16:05:35 -05:00
MrGadget1024
502d0913d4 fix: fixed warnings 2021-12-28 15:56:18 -05:00
MrGadget1024
473b9f1760 fix: RuntimeInitializeOnLoadMethod BeforeSceneLoad
- RuntimeInitializeLoadType.BeforeSceneLoad is requred so methods with this attribute fire BEFORE Awake
2021-12-28 15:13:19 -05:00
MrGadget1024
e7cec4f943 fix: Fixed PlayerCamera scripts in examples
- can't unparent camera in OnDisable
- Player may be in a subscene so put camera in active scene after unparenting so it's not lost if additive is unloaded.
- Moving player object between subscenes unexpectedly fires OnDisable & OnEnable...who knew?
2021-12-27 07:58:12 -05:00
MrGadget1024
78275ab558 fix: SetClientNotReady must always notify client
- Client may have locally set itself ready
- OnServerReady may be overridden so Server may have the conn as not ready (desync)
2021-12-27 07:48:17 -05:00
MrGadget1024
d5cc5e089c syntax 2021-12-26 06:23:34 -05:00
MrGadget1024
e0016e815a fix: Improved Portal script
- SyncVar for labelText
- Regex for pretty name
2021-12-26 06:14:21 -05:00
MrGadget1024
29fec273cb fix: NetworkStartPosition use Start instead of Awake
- NetworkManager::ResetStatics fires after scene object's MonoB.Awake and wipes the static list
2021-12-25 10:06:09 -05:00
MrGadget1024
9c8f89aec1 fix: MultiSceneNetManager first client in first subscene 2021-12-25 10:01:08 -05:00
MrGadget1024
c18d15fd16 fix: moved MirrorIcon to Editor folder
- excludes it from builds
2021-12-25 09:12:47 -05:00
MrGadget1024
a5245d2317 fix: Updated Player prefabs in examples
- Added PlayerCamera component
  - sepatates camera setup from movement controller
- Lowered max turn speed
- Reset NT components
2021-12-25 09:11:53 -05:00
vis2k
cf94a9b563 syntax 2021-12-21 12:04:22 +01:00
vis2k
dabb01a2f6 syntax 2021-12-21 11:57:24 +01:00
vis2k
759bd14833 NetworkReader/Writer: Read/WriteBlittableNullable to remove redundant code 2021-12-21 11:53:03 +01:00
vis2k
0cdfbf2446 remove unused UIntFloat/Double/Decimal 2021-12-21 11:51:30 +01:00
vis2k
723c5cd441 NetworkWriterTest: add little endian check to guarantee Write/ReadBlittable behaviour 2021-12-21 11:50:58 +01:00
vis2k
4cf0554ae1
perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (based on #2441) (#3036)
* ReadBlittable

* WriteBlittable

* use ReadBlittable everywhere

* use WriteBlittable everywhere

* char is not blittable

* adjust test
2021-12-21 11:47:30 +01:00
MrGadget
bfb7041ca5
feat: Reader Writer support for Sprite (#3034) 2021-12-21 09:31:10 +01:00
MrGadget
02b8a29914
fix: Use IsNullOrWhiteSpace instead of IsNullOrEmpty (#3033)
- IsNullOrWhiteSpace covers null, empty, and just whitespace.
2021-12-17 23:38:55 +01:00
MrGadget1024
65d99c7a2c moved SyncVar up 2021-12-17 17:22:33 -05:00
MrGadget1024
6d50a5647e moved ResetStatistics up 2021-12-17 17:20:59 -05:00
MrGadget1024
c730ec18c6 Added ResetStatics to Player in Chat example 2021-12-17 14:57:42 -05:00
MrGadget1024
279962579c feat: Updated Chat Example
- Now uses Network Authenticator
- ChatUI is now a networked object with Cmd/Rpc
- Player is much simplified
- LoginUI is a separate canvas
- Login and server HUD combined into one panel
2021-12-17 14:31:42 -05:00
MrGadget1024
de45f8d199 fix: Fixed Debug.Log lines 2021-12-17 11:57:54 -05:00
MrGadget1024
57dfc401c0 syntax 2021-12-17 11:01:19 -05:00
MrGadget1024
942a0383b0 Updated Authenticator Template 2021-12-17 10:26:08 -05:00
MrGadget1024
5a430d3606 Updated Authenticator Template 2021-12-17 10:08:51 -05:00
MrGadget
d92c1cbded
feat: Support Fast Enter Playmode (#3028)
* feat: Support Fast Enter Playmode
- Uses [RuntimeInitializeOnLoadMethod] to reset statics

* fixed namespace

* Added comment

* Don't clear cmdHandlerDelegates

* Don't set aoi null

* renamed Init to Reset in static classes

* renamed method to ResetStatics

* renamed one too many

* marked NetworkServer.Shutdown with RuntimeInitializeOnLoadMethod

* Added RuntimeInitializeOnLoadMethod to NetworkClient.Shutdown

* renamed NetworkTime.Reset to ResetStatics

* reverted changes to Player
- Will be changing Chat example in master

* Renamed NetworkManager.Shutdown to ResetStatics

* fixed comment

* NetworkServer now calls NetworkIdentity.ResetStatics from its Shutdown

* Updated NetworkManagerTest::ShutdownTest

* Updated NetworkServerTest::ShutdownCleanup

* Updated NetworkServerTest::ShutdownCleanup

* Updated NetworkClientTest::ShutdownCleanup

* comments

* Call NetworkIdentity.ResetStatics from NetworkClient.Shutdown
2021-12-16 18:37:20 +01:00
vis2k
82d42591b6
fix: KcpTransport force disables nonalloc when building with IL2CPP (#3030) 2021-12-16 11:08:02 +01:00
MrGadget1024
16e2539efb fix: restored base method calls to NetworkRoomManager 2021-12-14 18:01:53 -05:00
MrGadget1024
78690e7c0d fix: NetworkClient.Shutdown - added all statics 2021-12-14 08:37:16 -05:00
MrGadget1024
0ab31c0c96 fix: NetworkServer.Shutdown - Reset more things 2021-12-14 07:10:54 -05:00
MrGadget1024
950c0cbbd8 fix: NetworkServer Shutdown - added OnErrorEvent = null 2021-12-14 06:57:17 -05:00
MrGadget
c237db48df
fix: Transport default channel = Reliable (#3026) 2021-12-14 09:17:52 +01:00
vis2k
0dea29d741
SnapshotInterpolation: HasEnough, HasEnoughWithoutFirst helper functions for easier understandable code and to prepare for HasEnough check improvements (#3029) 2021-12-14 09:15:54 +01:00
MrGadget1024
a5e189a8c2 syntax 2021-12-13 11:27:53 -05:00
MrGadget1024
abe7d39b65 fix: TeamInterestManagement IsNullOrEmpty checks 2021-12-13 10:48:24 -05:00
MrGadget
88fe9f9820
breaking: NetworkAuthenticator OnClientAuthenticated Changed (#3027)
- No longer passes `NetworkConnection` on Client
- Use `NetworkClient.connection` within your event hanlder

This is only breaking for users that assigned their own events to OnClientAuthenticated in the inspector. Everything else related to an Authenticator works the same with no changes needed because nearly all Authenticator mechanisms are private.

Deprecating would be worse than not in this case, since custom user-made handers would be the far uncommon case as far as I know.
2021-12-13 13:39:30 +01:00
vis2k
ad739e66ff Snapshot Interpolation HasAmountOlderThan: improve explanation 2021-12-13 09:08:38 +01:00
MrGadget1024
17da96c5d9 comments 2021-12-12 21:37:30 -05:00
MrGadget1024
ad4f30df63 Basic example: added missing namespace 2021-12-12 08:29:26 -05:00
MrGadget1024
7366ba3bff fix: fixed deprecated dates 2021-12-12 08:20:48 -05:00
MrGadget1024
985d8af5d4 additive levels - fixed timer 2021-12-12 07:53:51 -05:00
MrGadget1024
0445af105d template syntax 2021-12-12 07:45:27 -05:00
MrGadget
d6048911f2
fix: Obsolete NetworkConnection param in client callbacks (#2820)
* Obsoletes NetworkConnection param in client callbacks
- Use NetworkClient.connection instead

* fixed comments

* fixed more comments

* fixed more comments

* Restored original calls to virtuals with pragmas

* Call both old and new methods where possible

* added comments

* updated deprecated date

* fix parameters

* fixed examples

* comments
2021-12-11 12:16:26 -05:00
MrGadget1024
54756ee8d9 restored changes to NT template 2021-12-11 10:14:22 -05:00
JesusLuvsYooh
e941fd9e5b
NetworkTransform Improvements Reeeeesubmission (#3025)
* NetworkTransform Improvements Reeeeesubmission

1: Optional boolean to allow onlySyncOnChange.

2: Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

* NetworkTransform Improvements +defines

1: Optional boolean to allow onlySyncOnChange.

2: Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

Contains the bundle of latest NT adjustments from the squad.
#3013
#3021
#3019
#3018

Along with a fix for applying latest snapshot, if it exists, before applying local data.
#3024
2021-12-11 09:59:34 -05:00
vis2k
b0b01938e6 fix: #3022 kcp2k V1.15 - MaxRetransmit aka dead_link is now configurable. fixes issues where dead_link may have been too low causing premature disconnects. Default is now '40' instead of Kcp.DEAD_LINK '20'. 2021-12-11 12:55:33 +01:00
vis2k
c08ceb6a82 fix: #3024 Revert NT Bandwidth savings for now 2021-12-11 10:04:01 +01:00
MrGadget1024
4ab59248ab fix: Simplified Portal script 2021-12-10 16:50:55 -05:00
MrGadget1024
c206bb02f9 AdditiveLevels - simplified UI LookAt 2021-12-10 11:37:08 -05:00
MrGadget1024
b11f8c5710 Updated Basic Example
- Moved some code from PlayerUI to Player
- smaller data types
- organization
2021-12-10 11:12:53 -05:00
vis2k
abc521eebc add comment for clarity 2021-12-10 16:09:49 +01:00
MrGadget1024
e5ea17a452 Additive Levels refinements 2021-12-09 18:52:09 -05:00
JesusLuvsYooh
df6a241d19
perf: NetworkTransform smart sync. (#3021)
* NetworkTransform smart sync.

Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

So if someone has rotation and position turned on, but just rotates around Y, they save almost an entire pointless Vector3 position being sent.

- Again, majority of credits to Ninja.

* NetworkTransform smart sync. B

Adjusted to default(Vector3?)/Quat as requested.

Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

So if someone has rotation and position turned on, but just rotates around Y, they save almost an entire pointless Vector3 position being sent.

- Again, majority of credits to Ninja.

* NetworkTransform smart sync. C

Line break added at end of file? as requested.
Adjusted to default(Vector3?)/Quat as requested.

Checks if pos/rot/scale changed, if not, sends the value as null (1byte)

So if someone has rotation and position turned on, but just rotates around Y, they save almost an entire pointless Vector3 position being sent.

- Again, majority of credits to Ninja.
2021-12-09 22:27:53 +01:00
MrGadget
126f6339ea
fix: Explicit types for default nullables (#3020)
* fix: Explicit types for default nullables

* Added unit tests

* Improve Nullable Guid

* more tests
2021-12-09 22:25:02 +01:00
Samuel Schultze
31d2830f9b
fix(simpleWeb): ignore headers case when checking handshake key (#3016) 2021-12-08 17:22:29 +01:00
MrGadget1024
cd68d025fe syntax 2021-12-08 09:43:46 -05:00
MrGadget1024
d4918f4ca3 feat: NT Uses less bandwidth
- updated template
2021-12-08 07:30:20 -05:00
MrGadget1024
a5283ac5ce don't sync turret position 2021-12-08 07:13:21 -05:00
MrGadget1024
e15ca55426 Minor updates to Tank example 2021-12-08 07:06:26 -05:00
MrGadget
0b81f28193
Rename onlySendOnMove to onlySyncOnChange (#3019) 2021-12-08 07:02:51 -05:00
JesusLuvsYooh
b9ae34cb01
Interactable Tank Turret A (#3017)
Added NetworkTransformChild, set target as Turret
Adjust NTC and NT variables
Dragged ProjectileMount and Spot Light into Turret, so they all move together.
Added RotateTurret code
Updated current CmdFire to use projectileMount.rotation
2021-12-08 12:29:06 +01:00
JesusLuvsYooh
fececf4778
Shortened variable name. (#3018)
Shorted timeMultiplierToResetBuffers to bufferResetMultiplier as requested.
2021-12-08 06:18:07 -05:00
JesusLuvsYooh
3d78235d05
fix: onlySendOnMove for new NetworkTransform (#3013)
* onlySendOnMove for new NetworkTransform

Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform B

Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform C

- added defines by request, to easier revert or disable new addition.

Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform D

- added defines by request, to easier revert or disable new addition.
- added cachedSnapshotComparison by request.
- adjusted default variable and buffer check + thoroughly tested.
Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.

* onlySendOnMove for new NetworkTransform E

- code style => && adjusted as requested
- added defines by request, to easier revert or disable new addition.
- added cachedSnapshotComparison by request.
- adjusted default variable and buffer check + thoroughly tested.
Majority of credits to Ninja.
Check comments, tooltips, and messages us if further clarification needed.
2021-12-07 20:59:56 +01:00
vis2k
96303fc285 add TODO 2021-12-07 10:06:14 +01:00
JesusLuvsYooh
e69dfb2ee3
Optimised example game textures. (#3014)
* Optimised example game textures.

The 6 skyboxes for AdditiveLevels
Lowered from 4k .png (50 mb per image)
 to 1k .jpg (70 kb per image)

* Delete .vsconfig

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-12-06 15:12:34 -05:00
MrGadget1024
4e73489752 Added [ServerCallback] on Int. Mgmt. virtuals 2021-12-02 18:21:26 -05:00
MrGadget1024
3a1a97f759 Updated Custom Interest Mgmt Template 2021-12-02 18:20:14 -05:00
MrGadget1024
051ebd9b26 Updated NetworkRoomManager 2021-12-02 07:55:48 -05:00
MrGadget
9c95219a9b
Suppress Cmds when conn not ready (#3011) 2021-12-02 13:55:21 +01:00
MrGadget
c291932717
fix: Suppress Commands When Not Ready (#3009)
* fix: Suppress Commands When Not Ready

* typo

* reverted change to separate PR
2021-12-02 13:54:55 +01:00
MrGadget
38c641b948
feat: Added Reset to Interest Management (#3008)
* feat: Added Reset to Interest Management
- Used in Distance and Spatial to reset `lastRebuildTime`.

* Updated Template

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-12-02 13:54:39 +01:00
MrGadget1024
9862af3aa5 Updated Template 2021-12-01 12:37:40 -05:00
MrGadget1024
bd562a609b fix: NT2 - public virtual void Reset 2021-12-01 12:01:06 -05:00
MrGadget1024
be23d3a67a fix: Updated Chat example 2021-12-01 08:01:11 -05:00
MrGadget1024
65f6c09599 updated examples
- syntax
- comments
2021-12-01 06:24:04 -05:00
vis2k
ee4399b3ce fix: kcp2k V1.14 [2021-11-30]
- fix: Send() now throws an exception for messages which require > 255 fragments
- fix: ReliableMaxMessageSize is now limited to messages which require <= 255 fragments
2021-11-30 10:28:40 +01:00
MrGadget1024
dc60d0e6c8 Additive Levels Improvements
- Skybox with fog
- ground plane larger and fixed color
2021-11-29 13:17:20 -05:00
MrGadget1024
1324d59901 adjusted font 2021-11-29 11:33:22 -05:00
MrGadget1024
e4b5a8f975 removed extraneous code 2021-11-29 11:18:33 -05:00
MrGadget1024
259e61411c Disabled Debug logging in Portal script 2021-11-29 11:15:19 -05:00
vis2k
975828f3dc
fix: "Spawned object not found when handling Command message" for unreliable commands which may have arrived before spawning, e.g. for NetworkTransform (#3007) 2021-11-29 11:13:03 -05:00
vis2k
78d9f948f2 feature: NetworkServer RegisterHandler / WrapHandler version with channelId parameter 2021-11-29 16:51:14 +01:00
MrGadget1024
fb27a4f760 Added Debug logging 2021-11-29 10:32:06 -05:00
MrGadget1024
40d551fe2f fixed portal label 2021-11-29 09:18:16 -05:00
MrGadget1024
990bda659e Updated Basic Example 2021-11-29 07:51:32 -05:00
vis2k
c1ae882d76 syntax 2021-11-28 17:25:26 +01:00
vis2k
7c8d2bd944 feature: kcp2k: calculated max message sizes are now shown in Inspector (read only) for convenience 2021-11-28 17:10:08 +01:00
vis2k
0a1bfade25 fix: kcp2k V1.13
- uncorks max message size from 144 KB to as much as we want based on
  receive window size.
    fixes https://github.com/vis2k/kcp2k/issues/22
    fixes https://github.com/skywind3000/kcp/pull/291
- feature: OnData now includes channel it was received on
- fixes #2989
2021-11-28 16:58:01 +01:00
MrGadget
52111d1cb8
feat: Support more nullable types (#3005)
* feat: Support more nullable types
- NetworkWriter was also slightly rearraged to match NetworkReader

* fixed code smells

* fixed WriteVector4Nullable

* Got some of them working

* Couple more

* Couple more

* Added the rest

* reverted accidental change
2021-11-27 10:31:16 +01:00
MrGadget1024
8b363d11e9 formatting 2021-11-26 10:46:30 -05:00
MrGadget1024
6a85da7667 Removed obsolete PersistNetworkManagerToOfflineScene
- This was added exclusively for BigBox and they've sold to FB and are version locked now.
2021-11-26 10:43:38 -05:00
MrGadget1024
296236ff0c syntax & formatting 2021-11-25 11:50:49 -05:00
MrGadget1024
c8d97b9063 added ServerCallback 2021-11-25 04:04:14 -05:00
MrGadget1024
f1d26e7b73 Updated Rigidbody example 2021-11-25 04:02:57 -05:00
JesusLuvsYooh
c939903ff8
Update NetworkLerpRigidbody.cs (#3004)
Changed targetPosition to target.position
2021-11-25 10:00:45 +01:00
MrGadget1024
5a3499087e Removed recursion 2021-11-23 15:33:11 -05:00
MrGadget1024
76b456565e breaking: Removed obsolete ConfigureServerFrameRate
- Use ConfigureHeadlessFrameRate instead.
2021-11-23 14:57:59 -05:00
MrGadget1024
a47e826802 indention 2021-11-23 14:51:01 -05:00
MrGadget
f44d8bf8a7
feat: Device Authenticator (#3003)
* feat: Device Authenticator
Uses `SystemInfo.deviceUniqueIdentifier` for authentication.
2021-11-23 11:30:34 -05:00
MrGadget1024
1853f352ef Added HelpURL to Basic Authenticator 2021-11-23 03:12:22 -05:00
MrGadget1024
ce9931da01 set visRange to max value of slider 2021-11-22 01:53:13 -05:00
MrGadget1024
e89a27edb3 syntax 2021-11-21 23:08:08 -05:00
MrGadget1024
e34941267b Added ClientConnect(Uri uri) to KcpTransport 2021-11-17 13:20:09 -05:00
MrGadget1024
a6f038f717 Changed NTv2 Transport settings in examples 2021-11-17 13:19:40 -05:00
MrGadget
749c4b7e75
feat: Added Additive Levels example (#2994)
* feat: Added Additive Levels example
Demonstrates Additive scenes with custom transition, portals, respawning players

* Portal waitForSeconds calculated

* added ReadMe
2021-11-16 08:25:06 +01:00
MrGadget1024
2290b2f059 AdditiveScenes example: updated namespace 2021-11-15 12:18:44 -05:00
MrGadget
3092c005ae
fix: Set previousLocalPlayer null in NI.Reset (#2993)
Calling RemovePlayerForConnection followed by AddPlayerForConnection with the same player object fails to call OnStartLocalPlayer again because previousLocalPlayer was't properly reset to null.
2021-11-15 07:23:06 +01:00
MrGadget
2710a95a0c
fix: NT checks NetworkClient.ready (#2992)
* fix: NT checks NetworkClient.ready
NT should not be calling Cmd's when client isn't ready.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-11-15 07:13:14 +01:00
MrGadget1024
f18ca61242 added comment 2021-11-12 13:53:01 -05:00
MrGadget1024
d1fc2aaa76 Revert "moved setting networkAddress up for readablity"
This reverts commit 06f753d9c0.
2021-11-12 13:49:40 -05:00
MrGadget1024
06f753d9c0 moved setting networkAddress up for readablity 2021-11-12 13:37:29 -05:00
Justin Nolan
b2ce3421e5
fix: networkmanager undo and move some validation into Reset() (#2990)
* Fix network manager undo and move some validation code into Reset()

* Add comments
2021-11-11 07:47:33 +01:00
MrGadget1024
d6d0ec88d0 fix: SendChangeOwnerMessage robustness
- Check netid == 0
- Check conn is observing the identity

Fixes #2988
2021-11-09 09:10:05 -05:00
MrGadget1024
b854a8a6f1 summary comment 2021-11-09 09:04:50 -05:00
Erik Nilson
af28f27427
Pass connection when spawning scene objects so that authority is not lost (#2987)
* Pass connection when spawning scene objects so that authority is not lost

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-11-05 01:35:01 +08:00
MrGadget
7c389fefd2
feat: Add rotation to NTv2 teleport (#2986)
* feat: Add rotation to NTv2 teleport

* Updated script template

* Forgot Cmd/Rpc can't do overloads...fixed

* overload OnTeleport

* updated comments
2021-11-03 12:11:36 +08:00
MrGadget1024
6067308ff6 Commented out noisy Debug.Logs 2021-10-31 17:19:23 -04:00
MrGadget
803e804d87
fix: Added HashSet for disconnecting connections (#2981)
* fix: Added HashSet for disconnecting connections

* fixed code smells
2021-10-31 10:12:18 -04:00
MrGadget1024
f83ed02a83 fixed typos in Network Transform Script Template 2021-10-30 12:59:39 -04:00
MrGadget1024
429e80dde3 feat: Added Network Transform Script Template 2021-10-30 12:33:19 -04:00
MrGadget1024
74f7cb168f fix: Network Room Manager Update
- Deprecated Network Connection param from client overrides
- Use NetworkClient.connection instead
- Script Template updated
2021-10-30 05:12:37 -04:00
MrGadget1024
c6e23590c5 updated deprecation date 2021-10-30 04:36:12 -04:00
MrGadget1024
f1bfadcc6e updated deprecation dates 2021-10-30 04:34:39 -04:00
MrGadget1024
5c7fced099 Indention 2021-10-30 04:25:25 -04:00
MrGadget1024
52d1445091 Made Update internal in Int Mgmt Components
- also standardized on using [ServerCallback]
2021-10-30 02:47:26 -04:00
MrGadget
895279ee79
fix: Check NetworkServer.active in DestroyObject (#2982)
* fix: Check NetworkServer.active in DestroyObject
- Fixes #2977

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-10-30 13:05:08 +08:00
vis2k
efab1424a0
feature: SyncVar<T> (#2951)
* feature: SyncVar<T>

* remove unused import

* SyncVarNetworkBehaviour<T> to support explicit hooks of <T> and to prepare for Weaver [SyncVar] internal replacement

* only call hook on client for compatibility with original [SyncVar]

* show SyncVar<T> label to make it obvious what type it is. useful to distinguish weaver replacements later
2021-10-30 12:04:28 +08:00
MrGadget1024
afabdf2c7d feat: Added Custom Interest Management script template 2021-10-29 23:18:45 -04:00
MrGadget1024
f73cc91af1 fix: Replaced obsolete warnings on NetworkVisibility components
- also removed a couple unused usings
- changed DistanceInterestManagementCustomRange for future unit test (required by CreateNetworked)
2021-10-29 21:33:57 -04:00
MrGadget
1a43b79fc5
feat: Team Interest Management (#2979)
* feat: Team Interest Management

* meta file

* Added forceShown

* Code Smells

* code smell

* simplified
2021-10-29 00:33:32 -04:00
MrGadget1024
cf76d0374e made dirtyMatches readonly (code smell) 2021-10-28 23:50:00 -04:00
MrGadget1024
1d4631a221 Move NetworkMatch to MatchInterestMgmt folder 2021-10-28 15:23:46 -04:00
MrGadget1024
a72d24ff73 fix: NetworkBehaviour.OnStopClient Called Twice
Fixes #2976
2021-10-27 11:46:08 -04:00
Justin Nolan
d4c2bb9136
Stop NetworkAuthenticator from assigning itself to the NetworkManager on change and fix the undo (#2973)
* Stop NetworkAuthenticator from adding itself on change and fix the undo

* Update NetworkAuthenticator.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-10-22 10:11:02 +08:00
MrGadget
9184d56eec
Fix ReplacePlayerForConn isLocalPlayer (#2969)
- Moved `ChangeOwner` down below `OnChangeOwner`
- Added `isLocalPlayer` bool to `ChangeOwnerMessage`
- Added handling for `isLocalPlayer to `ChangeOwner`
- Added call to `SendChangeOwnerMessage` to `ReplacePlayerForConnection` for when `keepAuthority` is true
- Fixes #2968
2021-10-21 10:43:12 +08:00
vis2k
282c843ad1 MIRROR_53_0_OR_NEWER 2021-10-20 12:11:10 +08:00
MrGadget1024
64db341662 Revert "Call OnClientSceneChanged for host client"
This reverts commit 6f5c651493.
2021-10-19 21:54:28 -04:00
MrGadget1024
6f5c651493 Call OnClientSceneChanged for host client 2021-10-16 21:21:00 -04:00
MrGadget1024
66b50c97c1 Updates to PlayerController in examples 2021-10-16 14:05:13 -04:00
MrGadget1024
53e526c08e Updates to PlayerController in examples 2021-10-16 14:03:37 -04:00
MrGadget1024
96105b8590 simplified RegisterHandler<ChangeOwnerMessage> 2021-10-15 08:04:50 -04:00
MrGadget1024
b9ad577971 Basic Example: Syntax 2021-10-09 09:53:05 -04:00
MrGadget1024
2dca328fff Basic Example: Syntax 2021-10-09 09:32:10 -04:00
MrGadget1024
c7a3310b20 Basic example: syntax 2021-10-09 08:20:35 -04:00
vis2k
9dbd45c9d8 Test simplified 2021-10-09 14:58:24 +08:00
vis2k
512f60a3ef comments 2021-10-09 14:56:29 +08:00
vis2k
91f2c19c2d Test improved 2021-10-09 14:54:34 +08:00
vis2k
304f2b6f53 Test: SyncVar Hook only called on client 2021-10-09 14:51:49 +08:00
vis2k
d54ecd3410 Tests: remove old hacky test with manual serialization magic 2021-10-09 14:19:24 +08:00
vis2k
b4d7b355fc Weaver: improve 'no default constructor' error message 2021-10-08 10:58:34 +08:00
MrGadget
e6e910916e
breaking: componentIndex changed to byte in CommandMessage and RpcMessage (#2963) 2021-10-07 19:46:24 +08:00
MrGadget1024
7bc7b31df4 Minor changes to Room example 2021-10-02 13:21:05 -04:00
hyouuu
b0311a5aa3
Add optional writer & reader for color (#2956)
* Add optional writer for color

* Merge conflicts

* typo

* Add optional color reader
2021-10-02 18:43:40 +08:00
MrGadget
532ca654dd
fix: Prevent StopClient from running twice (#2953)
* fix: Prevent StopClient from running twice
- Fixes #2940

* Added comments

* Fixed stupid mistake

* moved check to OnClientDisconnect
Still need to fire that virtual so it can be overridden.

* Added check to StopClient itself too
2021-10-02 11:11:26 +08:00
MrGadget1024
5d225bd407 NetworkMatch: Added missing attributes 2021-10-01 06:15:00 -04:00
MrGadget1024
3afd54e182 Minor updates to AdditiveScenes example 2021-09-29 11:28:56 -04:00
vis2k
1f1d13ed42 syntax 2021-09-28 16:19:55 +08:00
vis2k
c744d23797 Weaver: NetworkBehaviourProcessor: remove unnecessary parameters 2021-09-28 16:17:24 +08:00
vis2k
22dbcfb9f0 Weaver: SyncObjectInitializer: merge functions 2021-09-28 15:58:26 +08:00
vis2k
74b9c8034e Weaver: NetworkBehaviourProcessor.InjectIntoConstructor split into cctor & ctor functions 2021-09-28 15:53:16 +08:00
vis2k
d7516a8c95 Weaver: GenerateConstants renamed to InjectIntoConstructor 2021-09-28 15:51:53 +08:00
vis2k
52b8a4a756 Weaver: add comments 2021-09-28 15:51:48 +08:00
vis2k
280756e0a2 Weaver: NetworkBehaviourProcessor.GenerateConstants: reuse RemoveFinalRetInstruction 2021-09-28 15:51:33 +08:00
vis2k
073c87e8d1 Weaver: NetworkBehaviourProcessor.GenerateConstants: RemoveFinalRetInstruction helper function 2021-09-28 15:24:15 +08:00
vis2k
f83e4f4de6 Weaver: add comment 2021-09-28 15:15:51 +08:00
vis2k
332c8a1bf3
breaking: SyncObject as class instead of interface (#2947)
* breaking: SyncObject as class instead of interface

* classes inheriting from SyncObject don't all need to implement obsoleted Flush() anymore

* IsRecording default moved to base class

* OnDirty default moved to base class

* comment

* IsRecording simplified now that it's a class

* OnDirty simplified now that it's a class
2021-09-28 10:16:01 +08:00
vis2k
8b5534f51f fix: #2912 ILPostProcessor isn't used before 2020.3 because Unity bugs 2021-09-27 18:12:26 +08:00
vis2k
0d96636389 SyncDictTest: CurlyBracesCtor 2021-09-27 15:43:04 +08:00
vis2k
8233cfd368 SyncSetTest: CurlyBracesCtor 2021-09-27 15:41:37 +08:00
vis2k
81b0d89dcd SyncListTest: CurlyBracesCtor 2021-09-27 15:40:29 +08:00
vis2k
0e0e4dfe47 fix: SyncVarGameObject/NetworkIdentityEqual not being accessible by weaved NetworkBehaviour components from outside assemblies 2021-09-25 21:09:40 +08:00
vis2k
ae218c5625 revert rename. add comment for explanation this time. 2021-09-25 16:42:27 +08:00
vis2k
9aa83539bb fix: only IEnumerable SyncObjects are drawn as SyncObject Collections in Inspector now.
previously SyncVar<T> SyncObject would've been drawn as a list too.
2021-09-25 16:24:45 +08:00
vis2k
12279ef0af grammar is hard 2021-09-25 16:21:34 +08:00
vis2k
343971ad53 rename to SyncObjectCollectionDrawer 2021-09-25 16:20:17 +08:00
vis2k
e7f04d620d typo 2021-09-25 16:17:49 +08:00
vis2k
d9bdc954cf EnumerableSyncObjectDrawer: header renamed from "Sync Objects" to "Sync Collections" to be more obvious 2021-09-25 16:17:07 +08:00
vis2k
8729481366 SyncObjectDrawer renamed to EnumerableSyncObjectDrawer because it's only meant for enumerable SyncObjects 2021-09-25 16:16:19 +08:00
vis2k
8298a2556b breaking: InspectorHelper.IsVisibleSyncObject renamed to IsVisibleInInspector. universal. 2021-09-25 16:11:45 +08:00
vis2k
323b357a94 breaking: InspectorHelper.IsSyncObject made universal as ImplementsInterface<T> 2021-09-25 16:08:34 +08:00
vis2k
ab78c858da NetworkBheaviourInspector: SyncObjectDrawer class moved into separate file 2021-09-25 15:58:30 +08:00
vis2k
c8070a3cac more renaming 2021-09-25 15:56:19 +08:00
vis2k
9b6862fcbe NetworkBehaviourInspector: correct field/method naming 2021-09-25 15:49:12 +08:00
vis2k
3d8ba67d32 xml comments not needed in editor inspector 2021-09-25 15:46:35 +08:00
MrGadget
aa41c5f5e0
Make NetworkConnection.observing public (#2942)
- NetworkIdentity.observers is already public
2021-09-25 11:27:25 +08:00
vis2k
7e546cf799
fix: #2928 - Weaver now recommends 'readonly' keywords for SyncObjects (#2941)
* fix: #2928 - Weaver now recommends 'readonly' keywords for SyncObjects. prepares for SyncField<T> as well.

* fix weaver tests
2021-09-25 11:27:03 +08:00
MrGadget1024
51cf44cde7 Simplified interpolations 2021-09-24 07:21:46 -04:00
MrGadget1024
23f1b2b0a5 Remove unnecesary pragmas 2021-09-24 07:21:02 -04:00
MrGadget
60692f0373
Force Network Manager to scene root if DDOL (#2936) 2021-09-24 12:52:53 +08:00
vis2k
2d2710f60e Weaver: SyncVarProcessor renamed to SyncVarAttributeProcessor 2021-09-24 11:03:51 +08:00
vis2k
a0c3ef1c2c SyncVarTests renamed to SyncVarAttributeTests 2021-09-24 10:57:43 +08:00
MrGadget1024
83c92ce9bf Updated Pong Example
- Applied BallPhysics material to Ball
- Turned off Sync / Interp Rotation on Ball and Racket
2021-09-23 14:03:39 -04:00
MrGadget1024
f1cf841bea Added NI to PlayArea in Game scene of MultipleAdditiveScenes example 2021-09-21 06:29:12 -04:00
vis2k
ad391f2b5f breaking: NetworkBehaviour.SyncVar/GameObject/NetworkIdentity/NetworkBehaviourEqual functions made internal.
-> avoid tests exposed workarounds
-> prepares for SyncField<T>
2021-09-21 16:50:14 +08:00
vis2k
6a1f355a63 Tests: SyncVarNetworkIdentityEqual exposing simplified now that it's static 2021-09-21 16:41:02 +08:00
vis2k
d51fd23175 Weaver: SyncVarprocessor.GenerateSyncVarSetter simplified again now that all equals functions are static 2021-09-21 16:22:26 +08:00
vis2k
4cbf575a2d Weaver: NetworkBehaviour.SyncVarEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:26 +08:00
vis2k
6ff39bc0a0 Weaver: NetworkBehaviour.SyncVarGameObjectEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:21 +08:00
vis2k
e18ecf8a01 Weaver: NetworkBehaviour.SyncVarNetworkBehaviourEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:16 +08:00
vis2k
cbf9987d1a Weaver: NetworkBehaviour.SyncVarNetworkIdentityEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:10 +08:00
vis2k
fd70b2a6ad Weaver: SyncVarProcessor.GenerateSyncVarSetter: Ldarg_0, Ldarg_1 moved into if branches so that methods like SyncVarNetworkIdentityEqual can be made static
(static functions can't have 'this' as first parameter on stack)
2021-09-21 16:22:01 +08:00
vis2k
74c0f271c9 NetworkBehaviour.HasSyncObjects: internal is enough 2021-09-21 11:30:41 +08:00
vis2k
f1b8aa4fc2 feature: NetworkBehaviour: HasSyncObjects for NetworkBehaviourInspector to avoid Reflection 2021-09-21 11:28:02 +08:00
vis2k
7c28f06c8f NetworkBehaviourInspector: remove unused syncVarNames 2021-09-21 11:22:37 +08:00
vis2k
8c0bd9dca2 syntax & comments cleanup 2021-09-21 11:20:44 +08:00
MrGadget1024
7aebf4cb5a syntax 2021-09-20 13:19:53 -04:00
MrGadget
a38800b443
Refactor match int mgmt (#2935)
* fix: Eliminate potential NRE's in MatchInterestMgmt
- Scene objects with no NetworkMatch component
- Key not found in lastObjectMatch Dictionary

* Added comment, combined if's

* Added comments

* refactor Match Int Mgmt

* removed unused parameter

* removed unused parameter
2021-09-20 12:47:08 -04:00
vis2k
d9d84b6bcc explain SyncVar hook guard 2021-09-20 23:57:25 +08:00
MrGadget
f88190b756
fix: Eliminate potential errors in MatchInterestMgmt (#2934)
* fix: Eliminate potential NRE's in MatchInterestMgmt
- Scene objects with no NetworkMatch component
- Key not found in lastObjectMatch Dictionary

* Added comment, combined if's

* Added comments
2021-09-20 11:56:26 -04:00
vis2k
e0da23e45c add comment 2021-09-20 21:16:06 +08:00
MrGadget
8555048548
feat: Implemented ChangeOwnerMessage (#2924)
* Implemented ChangeOwnerMessage
- Separates ownership change from Spawn message
- NetworkIdentityTests updated

* commented log
2021-09-20 20:43:10 +08:00
MrGadget1024
c8bea97491 String interpolation in SyncVarAccessReplacer 2021-09-20 08:18:32 -04:00
MrGadget1024
4c60de6680 String interpolation in SyncVarAccessReplacer 2021-09-20 08:15:46 -04:00
MrGadget
9cab21921f
String interpolation (#2930)
* Use String Interpolation

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

* Proper case in comments

* Add a constructor overload for creating a SyncDictionary from an IDictionary (#2933)

* Add a constructor overload for creating SyncDictionary from Dictionary

* Use IDictionary and directly use the passed in value

* Use passed in value directly

* Nope: SyncDictionary should specifically use a Dictionary under the hood

Reread the docs

* comment

* syntax

* Weaver: PropertySiteProcessor renamed to SyncVarAccessReplacer and updated comments/syntax to make it easier to understand

* Weaver: WeaverLists renamed to SyncVarAccessLists because that's what it's for

* comment

* Weaver: GetSyncVarStart simplified

* comment

* fix: Obsolete SyncObject Flush method (#2931)

* fix: Obsolete SyncObject Flush method

* fixed test

Co-authored-by: vis2k <info@noobtuts.com>
Co-authored-by: Gabriel Elkind <pixelpax@users.noreply.github.com>
2021-09-20 08:07:07 -04:00
MrGadget
185a6c3815
fix: Obsolete SyncObject Flush method (#2931)
* fix: Obsolete SyncObject Flush method

* fixed test
2021-09-20 19:40:46 +08:00
vis2k
1afed306af comment 2021-09-20 19:19:20 +08:00
vis2k
9f4cf44217 Weaver: GetSyncVarStart simplified 2021-09-20 19:17:08 +08:00
vis2k
e755c2ad9a comment 2021-09-20 19:12:08 +08:00
vis2k
37af48b83e Weaver: WeaverLists renamed to SyncVarAccessLists because that's what it's for 2021-09-20 19:11:20 +08:00
vis2k
3dbab83615 Weaver: PropertySiteProcessor renamed to SyncVarAccessReplacer and updated comments/syntax to make it easier to understand 2021-09-20 19:07:39 +08:00
vis2k
c0db7fce38 syntax 2021-09-20 18:53:12 +08:00
vis2k
411a531eda comment 2021-09-20 18:51:55 +08:00
Gabriel Elkind
052cf6c183
Add a constructor overload for creating a SyncDictionary from an IDictionary (#2933)
* Add a constructor overload for creating SyncDictionary from Dictionary

* Use IDictionary and directly use the passed in value

* Use passed in value directly

* Nope: SyncDictionary should specifically use a Dictionary under the hood

Reread the docs
2021-09-20 11:42:34 +08:00
MrGadget1024
c120623d7d Proper case in comments 2021-09-19 15:15:16 -04:00
vis2k
af0a67d4f8 comment 2021-09-19 20:12:31 +08:00
vis2k
a848b8bb7c feature: Tanks demo health bars to test [SyncVar]s 2021-09-19 19:51:20 +08:00
vis2k
b537d423a1 use string interpolation everywhere 2021-09-19 17:00:36 +08:00
vis2k
a6d686fae1 NetworkBehaviour.SetDirtyBit renamed to SetSyncVarDirtyBit because that's what it does. avoids misconceptions. 2021-09-19 16:53:08 +08:00
vis2k
bc4224dcb7 syntax 2021-09-19 16:18:00 +08:00
vis2k
0743e73ad8 syntax 2021-09-19 15:51:06 +08:00
vis2k
d573e69e44 NetworkServer.SendToReady(identity, ...) misleading name changed to SendToObservers because it actually sends to the identity's observers, not to all ready connections 2021-09-19 15:50:32 +08:00
Robin Rolf
0828087e70
NetworkLoop needs to be public to expose events (#2925)
See ff34a50fdf and #2826
2021-09-19 15:37:13 +08:00
vis2k
272baceabb
perf: NetworkServer.Broadcast O(N) spawned iteration removed. dirty bits for spawned without observers are now cleared when adding the first observer instead (#2923)
* change test to add observer

* perf: NetworkServer.Broadcast O(N) 'remove dirty bits for all spawned entities without observers' loop removed. AddObserver clears them instead if we had no observers before.

* don't need this anymore

* set syncobj.recording

* oops

* not a TODO anymore

* fix test

* fix test

* fix test

* fix tests

* fix test

* fix tests
2021-09-19 11:09:35 +08:00
vis2k
10689d3131
feature: SyncObject IsRecording() to prepare for NetworkServer.Update not calling ClearAllComponentsDirtyBits on all spawned entities with no observers. (#2926)
* feature: SyncObject IsRecording() to prepare for NetworkServer.Update not calling ClearAllComponentsDirtyBits on all spawned entities with no observers.

* fix test
2021-09-19 11:05:40 +08:00
MrGadget
4efb0a64ff
fix: Clear hasAuthority when Unspawning (#2927)
* fix: Clear hasAuthority when Unspawning

* Added UnSpawnAndClearAuthority test
2021-09-19 10:15:42 +08:00
MrGadget1024
113d2b9cf9 fixed comment 2021-09-18 14:06:31 -04:00
vis2k
20daad4806 add TODOs 2021-09-18 23:43:47 +08:00
vis2k
c1a7920076 remove test assert that depends on the current way where changes are actually tracked and only cleared in update 2021-09-18 23:33:24 +08:00
vis2k
2df0975752 Test: SyncList/Set/Dictionary ever growing changes while no observers prevention 2021-09-18 23:23:55 +08:00
vis2k
cb46fd5ce4 SyncList.changes comments 2021-09-18 20:09:39 +08:00
vis2k
81114a498f i dont need to leave comments 2021-09-18 19:47:57 +08:00
vis2k
0ede6b9da9 NetworkIdentity.RemoveObserverInternal renamed to RemoveObserver for consistency with AddObserver (both functions are internal anyway) 2021-09-18 19:05:51 +08:00
vis2k
d2acc707ac NetworkIdentity: group observer add/remove/clear functions together 2021-09-18 19:03:50 +08:00
vis2k
de032d6edb better 2021-09-18 19:01:32 +08:00
vis2k
3a70eeccfd better 2021-09-18 18:58:15 +08:00
vis2k
6a50fd0c7f Tests: NetworkServer dirty bits if no observers clearing test 2021-09-18 18:55:10 +08:00
MrGadget1024
9727e0e7e2 updated comment 2021-09-18 06:19:01 -04:00
Devon Merner
413b612856
Prevent NetworkManager.ServerChangeScene from being called if a scene change is already in progress for that scene. (#2903) 2021-09-18 16:16:47 +08:00
vis2k
20056edc0f NetworkServer.Broadcast: explain ClearSpawnedDirtyBits better 2021-09-18 12:34:52 +08:00
vis2k
acebef0e16 NetworkBehaviour.IsDirty: OR both bitmasks instead of comparing separately. 2021-09-18 12:04:18 +08:00
vis2k
2208b6ce52
perf: breaking: SyncObjects (SyncList/SyncSet/SyncDict) Dirty Searching (O(N)) replaced with bit mask (O(1)) (#2922)
* wip

* internal field

* huh

* more

* use ondirty

* wip

* fix index

* test

* syntax

* restore old TOOD

* xml comment

* fix broken test
2021-09-18 11:56:28 +08:00
vis2k
3d624941a5 fix broken test from rename 2021-09-17 18:44:09 +08:00
MrGadget1024
1bc8232d60 Updated NetworkManager ScriptTemplate 2021-09-17 04:22:52 -04:00
vis2k
76ebb86d6d Tests: don't need to inherit from SyncList<T> anymore 2021-09-17 14:53:02 +08:00
vis2k
ccb901e708 remove strange import 2021-09-17 14:50:39 +08:00
vis2k
1a5fedf9bf Tests simplified 2021-09-17 13:37:49 +08:00
vis2k
a9c0ae014a Tests simplified 2021-09-17 13:36:18 +08:00
vis2k
8adb00bebe Tests simplified 2021-09-17 13:34:46 +08:00
vis2k
1487b2a27c Tests simplified 2021-09-17 13:33:01 +08:00
vis2k
c722f6988c breaking: SyncObject.Flush() renamed to ClearChanges() to make it more obvious.
'Flush' sounds like changes would be sent out over the wire.
When really it only clears changes.
2021-09-17 13:27:05 +08:00
vis2k
53d316bd9f syntax 2021-09-17 13:01:11 +08:00
vis2k
79f492aaf8 TODO 2021-09-17 12:48:55 +08:00
vis2k
19747954a3 fix: Weaver now allows exactly 64 SyncVars too 2021-09-16 21:50:44 +08:00
vis2k
88e1be8965 Tests: rename 2021-09-16 21:48:52 +08:00
vis2k
f01a701779 Tests: Weaver: SyncVarsExactlyMax 2021-09-16 21:48:18 +08:00
vis2k
6ebcbd8311 Tests: Weaver: SyncObjectsExactlyMax 2021-09-16 21:39:39 +08:00
vis2k
42cc181cfa syntax 2021-09-16 21:37:42 +08:00
vis2k
2e0b58c624 rename 2021-09-16 21:36:39 +08:00
vis2k
d1e60a0f62 fix: Weaver now detects and shows an error for >64 SyncObjects instead of silently not syncing them 2021-09-16 21:26:09 +08:00
vis2k
c77a50258d Too many SyncVars message improved with exact amount 2021-09-16 21:16:13 +08:00
vis2k
4daabd2fe4 syntax 2021-09-16 20:58:54 +08:00
vis2k
107e5b9f3b add comments 2021-09-16 15:13:09 +08:00
vis2k
98082c8527 comments 2021-09-16 14:50:06 +08:00
vis2k
3da14d2430 Tests: SetDirtyBit 2021-09-16 14:49:33 +08:00
vis2k
f43a29e712 NetworkBehaviour.AnySyncObjectDirty: reuse DirtyobjectBits 2021-09-16 14:42:44 +08:00
vis2k
0ad7cf7da7 Tests: IsDirty checks sync interval 2021-09-16 14:41:31 +08:00
vis2k
58ef1faaf9 Tests: IsDirty 2021-09-16 14:40:30 +08:00
vis2k
7828f25875 Tests: add SyncVars 2021-09-16 14:38:43 +08:00
vis2k
d9320b72f4 syntax 2021-09-16 14:37:06 +08:00
vis2k
cc22fabe1d syntax 2021-09-16 14:36:38 +08:00
vis2k
b5b3d33704 syntax 2021-09-16 14:35:31 +08:00
vis2k
f161fa8f43 NetworkBehaviour: DirtyObjectBits grouped to the dirty code section 2021-09-16 14:35:08 +08:00
vis2k
0954fb2b44 comment 2021-09-16 14:32:18 +08:00
vis2k
6b57e34d80 comment 2021-09-16 14:30:22 +08:00
vis2k
42e5a4d5ce NetworkBehaviourDirtyBitsTests: AnySyncObjectDirty 2021-09-16 14:28:29 +08:00
vis2k
2f2feb4d93 Tests: NetworkBehaviourDirtyBitsTests to prepare for cleanups 2021-09-16 14:21:34 +08:00
vis2k
860ee754f4 comment 2021-09-16 14:14:11 +08:00
vis2k
cf02df3a72 comment 2021-09-16 14:12:02 +08:00
vis2k
c4cc416385 comment 2021-09-16 14:11:01 +08:00
vis2k
bae099a981 syntax: NetworkBehaviour: group dirty bit code together 2021-09-16 14:10:20 +08:00
vis2k
6bd5cd7bb9 comment 2021-09-16 14:08:42 +08:00
vis2k
1b842bb168 comments 2021-09-16 14:06:29 +08:00
vis2k
e9a6b6e3d3 breaking: get/setSyncVarHookGuard renamed to Get/SetSyncVarHookGuard 2021-09-16 13:53:21 +08:00
vis2k
e4305b9d97 fix: disable weaver registered twice logs on ILPP again 2021-09-16 13:51:36 +08:00
vis2k
bb61c5324f comment 2021-09-16 13:39:25 +08:00
vis2k
f479a7404a syncVarDirtyBits comment 2021-09-16 13:38:39 +08:00
vis2k
b6fad02f13 remove unused import 2021-09-16 13:32:45 +08:00
MrGadget1024
5cde52171f formatting 2021-09-12 17:30:44 -04:00
MrGadget1024
c0dba76d35 Fixed typos in comments 2021-09-12 16:48:54 -04:00
MrGadget1024
4797007979 Removed unnecessary componet 2021-09-11 11:55:32 -04:00
vis2k
3bd30d13e2 Revert "Syntax"
This reverts commit 73c47b5fc3.
2021-09-07 11:22:42 +08:00
Justin Nolan
32f0fa47ef
Update weaver log, remove unused test and make transport send methods abstract (#2910)
* Turn on duplicate writer/reader logs in weaver

* Make Transport Client/ServerSend abstract

* Remove unused test
2021-09-07 11:20:48 +08:00
MrGadget1024
fe021f8fe7 fix: updated NetworkTransform2k test 2021-09-06 14:21:58 -04:00
MrGadget1024
73c47b5fc3 Syntax 2021-09-06 14:21:58 -04:00
vis2k
198fed4bdf comment 2021-09-07 01:16:45 +08:00
MrGadget1024
e565fce30b Updated comments 2021-09-06 13:15:36 -04:00
MrGadget1024
50ee8737a5 Moved FalbackTransport to Empty folder 2021-09-06 13:07:13 -04:00
MrGadget
8612c023a6
breaking: Remove Obsoletes (#2909)
* breaking: Remove Obsoletes
- MIRROR_47_0_OR_NEWER symbol added
- A few obsoletes with Network Visibility remain...not ready to remove just yet.

* fixed test
2021-09-07 00:10:36 +08:00
MrGadget1024
3afd3ba726 Updated deprecation dates
- We still need to replace NetworkOwnerChecker
2021-09-06 11:31:12 -04:00
MrGadget1024
9c4cc2926f fix: NTv2 interpolateScale default false, like syncScale 2021-09-06 11:15:46 -04:00
MrGadget1024
d457103850 fix: Updated NTv2 settings in examples 2021-09-06 10:01:02 -04:00
MrGadget1024
f2b3329c6f feat: Updated Additive Scenes example
- Now uses Distance Interest Management
- Adjusted position & rotation of scene objects
- Tank and Player have custom distance components
2021-09-06 09:36:55 -04:00
vis2k
1827b9558b remove unnecessary test 2021-09-06 17:25:59 +08:00
vis2k
5ab2ef0c6a Test: remove unused 2021-09-06 17:23:51 +08:00
James Clancey
8400cc46cd
Fixes a crash, if you stop discovery. (#2908)
* Fixes a crash, if you stop discovery.

* Update NetworkDiscoveryBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-09-06 17:17:34 +08:00
vis2k
d23403c0a3 NetworkTransformBase: expose IsClientWithAuthority 2021-09-05 20:20:22 +08:00
Justin Nolan
5bfc96d8ba
Remove obsolete weaver method calls (#2904)
* Weaver uses NetworkClient.connection instead of NetworkClient.readyConnection for client targetrpcs

* Update weaver tests to not use obsoletes

* Update test to expect SyncList<int> instead of SyncListInt
2021-09-05 19:30:50 +08:00
JesusLuvsYooh
7d4d5bf597
Default variables adjusted. (#2899)
- Old default variables are for 'worst case connection' types, or fine for casual social game movement.
- It should be set as minimum delay, whilst still containing some smooth buffer data by default.
- Tool tip suggests what users can change it to for non-ideal connections from the new default value.
- First impressions are vital.
2021-09-04 20:44:54 +08:00
vis2k
5128c4f987 MIRROR_46_0_OR_NEWER 2021-09-03 14:11:16 +08:00
vis2k
57f9923f78 OnTransportData: too short error changed to warning. it can happen if an attacker sends random data. 2021-09-02 19:30:37 +08:00
vis2k
f67704bbd9 UnpackAndInvoke: invalid message header errors changed to warnings. it can happen if an attacker sends random data. 2021-09-02 19:29:31 +08:00
vis2k
2026b6038b Tests for #2882 2021-09-02 19:17:56 +08:00
vis2k
0c65d29a32 NetworkServer/NetworkClient: UnpackAndInvoke disconnect responsibility moved to caller to avoid unbatcher count error. we already know what happened and we already disconnect anyway. 2021-09-02 19:10:10 +08:00
vis2k
99e0a6f401 update comments 2021-09-02 19:01:18 +08:00
vis2k
86eeecc9cf fix: #2882 UnpackAndInvoke now errors and disconnects in case of missing handler. This is necessary because messages in a batch are not length prefixed. we always need to read to the end, otherwise it overlaps into the next one, causing undefined behaviour. 2021-09-02 18:50:01 +08:00
vis2k
181267b99d add explanation to errors 2021-09-02 18:39:29 +08:00
vis2k
bce20b5f46 add comment 2021-09-02 18:36:36 +08:00
vis2k
3e4def126f fix: NetworkServer/NetworkClient batch processing now detects ever growing batches (as caused by #2882) 2021-09-02 18:31:43 +08:00
vis2k
9578deeb55 typo 2021-09-02 17:43:35 +08:00
vis2k
f6399f91db Tanks example: add GUIConsole to camera for easier debugging 2021-09-02 13:50:03 +08:00
MrGadget1024
d559d45031 fixed usings order 2021-08-31 10:45:03 -04:00
vis2k
04c364346e
fix: Weave via ILPostProcessor (Unity 2020+) fixes #2872 #2685 #1491 #2683 #2880 (#2891)
* WeaverTypes: make imported ReaderExtensions public

* WeaverTypes: import WriterExtensions too

* process reader/writer extensions

* rebase squashed previous ilpostprocessor branch

* adjust to weaver preparations changes

* fix: show strack trace

* better

* readability

* fix file not found cecilx exception

* fix rocks nto found exception

* syntax

* pass Mirror.dll to Weave()

* ILPostProcessorAssemblyResolver from paul

* comments, ifdef, syntax

* ILPostProcessorAssemblyResolver: add logging

* ILPostProcessorAssemblyResolver: add warnings on why Resolve() failed

* comments

* better warning

* rename

* use the custom resolver

* fix: ILPostProcessorReflectionImporter to fix System.Private.CoreLib not being found in Resolver

* add TODO

* comment

* fix Mirror.dll Resolve() issues in ReaderWriterProcessor when resolving from the passed Mirror.dll.
DefaultAssemblyResolver doesn't work with ILPostProcessor.

* fix comment

* check mirror assembly resolve result

* pass resolver to weaver

* fix Mirror.dll resolving Mirror.dll types NullReferenceException

* comments

* syntax

* comments

* readability

* syntax

* forgot to save

* rebase

* write

* fix self referencing Mirror.dll assembly

* disable log

* make tests work again

* comment

* comment

* fix rebase

* fix rebase

* comment

* fix: WeaverAssembler: only invoke weaver manually on mac. ILPP is invoked on windows automatically.

* this too

* remove comment

* ifdef out CompilationFinishedHook

* CompiledAssemblyFromFile

* comments

* tests assembly renamed to access compilationpipeline

* wip

* comments

* handle logs

* move file

* use WeaverTests error handling functions

* ILPP hook: don't log weaving failed errors for consistency with old method, and so that tests still work

* ILPPLogger: don't log prefix

* disable weaving succeeded log

* remove comment

* WeaverAssembly: save result to file

* move

* Weaver tests: compilationpipeline dependencies moved into Unity.Mirror.Weaver.CodeGen assembly.
so Tests assembly is actually weaved.

* disable self reference warning

* CompiledAssemblyFromFile simplified

* remove unused

* comments; run ILPP in all cases not just on mac

* ignore compilermessages on 2020+.
fixes windows tests not running.

* comment

* fix: ILPostProcessor ignore define added so WeaverAssembler can tell it not to run after being invoked by Unity after AssemblyBuilder.Build(). fixes SyncVarSyncList test failing on windows because ILPP was ran on it twice.

* typo

* comment

* comment

* static

* ifdef for 2019 support

* ifdef for 2019
2021-08-29 15:43:20 +08:00
ninjakickja
92965731d1
fix: Fix delayed movement in client authority mode (#2856)
* Fix - From !isLocalPlayer to !hasAuthority

Changed !isLocalPlayer to !hasAuthority because object might not be player object.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

* Fix - delayed movement in clients in ClientAuthority mode - NetworkTransformBase.cs

Fixed issue where clients experience delayed movement in client authority mode.
Problem: Clients update the server first, server builds buffer then moves object, and then sends server's current snapshot to all the other clients who then build their buffers first before moving. This results in delayed movement in clients.
Changed the process to pass on the snapshot which the authoritative client updates the server onwards to other clients immediately instead and added checks to ensure server only broadcasts when object is on server authority or on host client authority.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-28 23:23:57 +08:00
vis2k
aff6a8a9c9 fix: WeaverTests 'type was declared in both UnityEngine.dll and UnityEngine.CoreModule.dll' 2021-08-27 22:38:18 +08:00
vis2k
851ad16a17
breaking: Weaver: add ReaderWriterProcessor [Runtime/InitializeOnLoad] Attributes without Reflection (#2893)
* breaking: Weaver: [InitializeOnLoad] attribute is now added without using Reflection.
(possibly a breaking change according to the comment, although it's not obvious why it would break)

* breaking: Weaver: [RuntimeInitializeOnLoad] attribute is now added without using Reflection.
(possibly a breaking change according to the comment, although it's not obvious why it would break)

* comments

* fix builds
2021-08-27 21:06:22 +08:00
vis2k
e87f1cb6eb Weaver: IsEditorAssembly moved into Helpers 2021-08-26 15:38:24 +08:00
vis2k
67418620fc Weave: WeaveFromFile simplified 2021-08-26 13:16:05 +08:00
vis2k
bf5b0e36ec Weaver: FindMirrorRuntime changed to FindCompilationPipelineAssembly 2021-08-26 13:08:31 +08:00
vis2k
6d1a13fc27 syntax 2021-08-26 13:06:59 +08:00
vis2k
bb8268dd06 typo 2021-08-26 13:05:02 +08:00
Shaun He
56910a1f70
* fix: The type or namespace name 'Exception' could not be found (#2889) 2021-08-25 12:17:02 +08:00
vis2k
95b009a126 Weaver WeaveFromFile: remove unused parameter 2021-08-24 23:15:36 +08:00
vis2k
e8cf20847d Weaver: move writing out of Weave() 2021-08-24 12:45:28 +08:00
vis2k
7088938bb7 Weaver: pass AssemblyResolver to Weave() so ReaderWriterProcessor can resolve Mirror.dll from CurrentAssembly's References instead of passing the AssemblyDefinition / using reflection / opening the file from Weaver / etc.
-> prepares for ILPostProcessor which needs to use the resolver to find it
2021-08-23 19:03:50 +08:00
vis2k
5d629b0fb7 syntax 2021-08-22 21:36:28 +08:00
vis2k
41f1c7abb8 syntax 2021-08-22 21:36:04 +08:00
vis2k
ad107e3b84 comments on why reflection is used 2021-08-22 21:33:19 +08:00
vis2k
46368df7fe rename 2021-08-22 21:30:19 +08:00
vis2k
c6b9b33a47 Weaver: ReaderWriterProcessor AddRuntimeInitializeOnLoadAttribute / AddInitializeOnLoadAttribute helper functions 2021-08-22 21:30:00 +08:00
vis2k
057d765656 syntax 2021-08-22 21:08:04 +08:00
vis2k
b7ec1ebfad Weaver: Weave() now requires MirrorAssembly parameter. we resolve it in CompilationFinishedHook instead of ReaderWriterProcessor.
-> all processors can easily access the mirror assembly if necessary
-> CompilationPipeline doesn't have to be referenced anymore, which would break ILPostProcessor
-> Weaver simply weaves given assemblies now, without opening anything
2021-08-22 21:02:24 +08:00
vis2k
38e6cfb893 syntax 2021-08-22 20:56:21 +08:00
vis2k
0c698df4ca rename 2021-08-22 20:55:21 +08:00
vis2k
20be56079c syntax 2021-08-22 20:54:33 +08:00
vis2k
9db804467c syntax 2021-08-22 20:52:58 +08:00
vis2k
08fdffd6ab comments 2021-08-22 20:49:37 +08:00
vis2k
852ef64034 Weaver: syntax 2021-08-22 20:42:11 +08:00
vis2k
16579ea9e8 Weaver CompilationFinishedHook: FindMirrorRuntime returns the assembly so we can use that later 2021-08-22 20:34:54 +08:00
vis2k
98737b8863 rename and clarify 2021-08-22 17:36:07 +08:00
vis2k
8db0f34f2c Weaver: add comment 2021-08-22 17:18:20 +08:00
vis2k
265a6384e1 ReaderWriterProcessor: ProcessMirrorAssemblyReaderWriterExtensions helper function for cleaner code 2021-08-22 17:08:31 +08:00
vis2k
2420a6d18b Weaver: add comments 2021-08-22 00:30:57 +08:00
vis2k
6ba4124724 Weaver: weaverTypes doesn't need to be public anymore 2021-08-21 16:31:44 +08:00
vis2k
59b2d731ea WeaverClientServerAttributeTests: remove dependencies on Weaver.weaverTypes 2021-08-21 16:31:34 +08:00
vis2k
eb04bb4d58 syntax 2021-08-21 16:14:53 +08:00
vis2k
9d43d3c6c6 remove xml comment 2021-08-21 16:14:29 +08:00
vis2k
737a2b1b28 syntax 2021-08-21 14:44:26 +08:00
vis2k
37cfdbbcae comment 2021-08-21 14:43:58 +08:00
vis2k
32d6eb0689 typo 2021-08-21 14:42:11 +08:00
vis2k
3b756ecdc8 WeaverTestsBuildFromTestName split into separate file 2021-08-21 13:56:39 +08:00
vis2k
7d0ac8e992 comment 2021-08-21 13:52:57 +08:00
vis2k
e1f04153b1 syntax 2021-08-21 13:52:08 +08:00
vis2k
de20998dcf syntax 2021-08-21 13:51:07 +08:00
vis2k
8af6e02420 remove unused 2021-08-21 13:50:04 +08:00
vis2k
d1a7dadb40 syntax 2021-08-21 13:49:43 +08:00
vis2k
69cd7c9d85 syntax 2021-08-21 13:48:18 +08:00
vis2k
b996b52c0f comment 2021-08-21 13:47:23 +08:00
vis2k
1d298fb588 syntax 2021-08-21 13:44:13 +08:00
vis2k
cf42e303ef syntax 2021-08-21 13:43:59 +08:00
vis2k
9cf66b511d syntax 2021-08-21 13:42:02 +08:00
vis2k
e9b86cf085 syntax 2021-08-21 13:41:58 +08:00
vis2k
e32ac5b3db Weaver: ModuleDefinition.ContainsClass extension 2021-08-21 13:39:11 +08:00
vis2k
eff4736f71 syntax 2021-08-21 13:33:18 +08:00
vis2k
63af62affd Weaver: WeaveModule remove unnecessary catch and rethrow 2021-08-21 13:32:56 +08:00
vis2k
d5a8a8b5b5 syntax 2021-08-21 13:31:13 +08:00
vis2k
4a45732fe1 fix 2019 error 2021-08-21 12:43:44 +08:00
vis2k
5b86754042 Weaver as instance class 2021-08-20 22:40:37 +08:00
vis2k
54cc3de33b remove unnecessary parameter 2021-08-20 22:32:15 +08:00
vis2k
a20c7a4c93 Weaver: make more fields private 2021-08-20 22:32:15 +08:00
vis2k
18d472edf7 Readers/Writers: remove static GeneratedCodeClass references 2021-08-20 22:32:15 +08:00
vis2k
98f9dcfc94 ReaderWriterProcessor: remove static GeneratedCodeClass reference 2021-08-20 22:32:15 +08:00
vis2k
f134e0c210 syntax 2021-08-20 22:32:15 +08:00
vis2k
afc82a36a1 NetworkBehaviourProcessor: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
9fe4608532 Writers: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
7762058b86 Resolvers: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
2a1929f7f1 Readers: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
c358358f1d ServerClientAttributeProcessor: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
298a7aef58 SyncVarProcessor: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
dfafd48f08 SyncObjectProcessor: remove static WeavingFailed reference 2021-08-20 22:32:15 +08:00
vis2k
b87096d5c9 MonoBehaviourProcessor: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
64964fb169 MethodProcessor: remove static WeavingFailed references 2021-08-20 22:32:15 +08:00
vis2k
081cd1d92c add comment 2021-08-20 22:32:15 +08:00
vis2k
71eb7cb91d Weaver: group allocations together 2021-08-20 22:32:15 +08:00
vis2k
4ad2af4f74 ReaderWriterProcessor: remove static Readers/Writers state 2021-08-20 22:32:15 +08:00
vis2k
e01a796b47 SyncObjectProcessor: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
9e9b9d3303 ServerClientAttributeProcessor: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
12084f6013 NetworkBehaviourProcessor: remove more static Log references 2021-08-20 22:32:15 +08:00
vis2k
f0747c5418 MethodProcessor: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
b430e29e8b NetworkBehaviourProcessor: remove more static Log references 2021-08-20 22:32:15 +08:00
vis2k
42d33b5b7c NetworkBehaviourProcessor: remove static Log references from all instance methods 2021-08-20 22:32:15 +08:00
vis2k
ce40488f20 MonoBehaviourProcessor: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
3f721c04ae Resolvers: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
21c6bea6b1 SyncVarProcessor: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
7320cd8a2f Writers: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
20405c76f9 Readers: remove static Log references 2021-08-20 22:32:15 +08:00
vis2k
a018f5dc37 Weaver: Logger as interface with MemberReference variants to avoid static Error/Warning methods 2021-08-20 22:32:15 +08:00
vis2k
1da0744875 Weaver: remove Error() function. Use Log.Error to prepare for static removal. 2021-08-20 22:32:15 +08:00
vis2k
7481057418 restore Log class, but as instance 2021-08-20 22:32:15 +08:00
vis2k
9462499c8b rename for consistency 2021-08-20 22:32:15 +08:00
vis2k
55580ba9f3 ProperySiteProcessor: remove static weaverLists references 2021-08-20 22:32:15 +08:00
vis2k
cffc983731 SyncVarProcessor: remove static weaverLists references 2021-08-20 22:32:15 +08:00
vis2k
3ccf9c51f5 NetworkBehaviourProcessor: remove static weaverLists references 2021-08-20 22:32:15 +08:00
vis2k
7101088d40 Writers: remove static weaverTypes references 2021-08-20 22:32:15 +08:00
vis2k
4c6af1ff6f Readers: remove static weaverTypes references 2021-08-20 22:32:15 +08:00
vis2k
00357d119a ReaderWriterProcessor: remove static weaverTypes reference 2021-08-20 22:32:15 +08:00
vis2k
7b205a23bb TargetRpcProcessor: remove static weaverTypes reference 2021-08-20 22:32:15 +08:00
vis2k
5e2a22b71a SyncVarProcessor: remove static weaverTypes reference 2021-08-20 22:32:15 +08:00
vis2k
c89cbd02c5 ServerClientAttributeProcessor: remove static weaverTypes reference 2021-08-20 22:32:15 +08:00
vis2k
3f9c40cafd SyncObjectInitializer: remove static weaverTypes reference 2021-08-20 22:32:15 +08:00
vis2k
cd190de21f NetworkBehaviourProcessor: remove static weaverTypes references 2021-08-20 22:32:15 +08:00
vis2k
133c4bb181 SyncVarProcessor: remove static Weaver.CurrentAssembly references 2021-08-20 22:32:15 +08:00
vis2k
e36b39f328 Weaver: SyncVarProcessor changed to instance class to prepare for non static ILostProcessor 2021-08-20 22:32:15 +08:00
vis2k
6af792e4c5 Extensions: remove Weaver.CurrentAssembly static references 2021-08-20 22:32:15 +08:00
vis2k
f471b85dcb NetworkBehaviourProcessor: remove Weaver.CurrentAssembly static reference 2021-08-20 22:32:15 +08:00
vis2k
2f7ce58dc7 Readers: remove Weaver.CurrentAssembly reference 2021-08-20 22:32:15 +08:00
vis2k
df716572f5 Writers: remove Weaver.CurrentAssembly reference 2021-08-20 22:32:15 +08:00
vis2k
5098868c2a Weaver: Command/Rpc/TargetRpcProcessor: pass WeaverTypes as parameter instead of static access everywhere 2021-08-20 22:32:15 +08:00
vis2k
a7c892cfe1 fix rebase 2021-08-20 22:32:15 +08:00
vis2k
49d8608b7b rename field 2021-08-20 22:32:15 +08:00
vis2k
d996ef23ac comments 2021-08-20 22:32:15 +08:00
vis2k
ed9aa1431c Readers: initialize with AssemblyDefinition to remove static dependency on Weaver 2021-08-20 22:32:15 +08:00
vis2k
0cc0fb92d6 Writers: initialize with AssemblyDefinition to remove static dependency on Weaver 2021-08-20 22:32:15 +08:00
vis2k
b7c186f2b9 Weaver: Readers as non static class 2021-08-20 22:32:15 +08:00
vis2k
5fcf5eb62f Weaver: Writer as non static class 2021-08-20 22:32:15 +08:00
vis2k
0e30d2131c Weaver: static Log class removed. moved into Weaver.LogWarning/ErrorFunc 2021-08-20 22:32:15 +08:00
vis2k
a8668514ce WeaverTypes as non static class 2021-08-20 22:32:15 +08:00
vis2k
fd68a2b69f remove unused import 2021-08-20 22:32:15 +08:00
vis2k
27c09f2973 syntax 2021-08-20 22:32:15 +08:00
vis2k
5f93a7ce7e Weaver: Weave(AssemblyDefinition). WeaveFromFile code moved into CompilationFinishedHook to prepare for ILPP. 2021-08-20 22:32:15 +08:00
vis2k
ba067d30bf syntax 2021-08-20 22:14:03 +08:00
vis2k
cafd560163 WeaverAssembler: use string interpolation 2021-08-20 22:12:56 +08:00
vis2k
b40d9b24b9 WeaverAssembler: use string interpolation 2021-08-20 22:11:58 +08:00
vis2k
ee59bd10df syntax 2021-08-20 22:11:51 +08:00
vis2k
f6c1f8fad3 Weaver: separate WeavingFailed from other Logging 2021-08-19 22:03:39 +08:00
vis2k
9196bd37e1 forgot to rename back 2021-08-19 22:02:39 +08:00
vis2k
9c7c0cdd93 Weaver: separate WeavingFailed from Logging 2021-08-19 21:49:54 +08:00
vis2k
33add82042 Weaver.InvokeRpcPrefix: const instead of static state 2021-08-19 16:00:44 +08:00
vis2k
499cb72173 WeaverLists public 2021-08-19 12:51:54 +08:00
vis2k
28274f707f Weaver: WeaverLists moved into separate file 2021-08-19 12:50:44 +08:00
vis2k
625947a4cf Weaver: remove DLog and DebugEnabled. we never use it to check log files anyway. 2021-08-18 00:58:45 +08:00
vis2k
850d2bbb2b Weaver: remove unnecessary GenerateLogErrors static 2021-08-17 20:41:12 +08:00
vis2k
3c5a9de323 syntax 2021-08-17 17:18:13 +08:00
vis2k
f64b808aed syntax 2021-08-17 17:14:27 +08:00
vis2k
9a07feda28 syntax 2021-08-17 13:24:02 +08:00
vis2k
c80fbab7fa Weaver: use string interpolation instead of string.Format 2021-08-17 13:23:17 +08:00
vis2k
6a62ab9c52 Weaver: remove xml comments 2021-08-17 13:12:49 +08:00
vis2k
d0de7ed92f syntax 2021-08-17 13:09:43 +08:00
vis2k
c63152f71e Weaver: try/catch moved into Weave() to prepare reuse from ILPP 2021-08-17 13:06:49 +08:00
vis2k
2821b34398 Weaver: remove xml comments 2021-08-17 13:04:18 +08:00
vis2k
ab462a598c syntax 2021-08-17 13:01:29 +08:00
vis2k
eb3ac79bd9 Weaver: remove XML comments 2021-08-17 13:01:17 +08:00
vis2k
d329c60899 syntax 2021-08-17 12:58:20 +08:00
vis2k
d1604b5686 syntax 2021-08-17 12:57:08 +08:00
vis2k
950b439035 Weaver: remove XML comment 2021-08-17 12:56:07 +08:00
vis2k
2acc9f77ea Weaver: remove xml comments 2021-08-17 11:53:58 +08:00
vis2k
31babe6b03 Weaver: hooks moved into EntryPoint folder 2021-08-13 18:51:17 +08:00
vis2k
5d2797847e Weaver: Enter-Play-Mode check moved into separate file in Weaver folder 2021-08-13 18:45:07 +08:00
vis2k
ff34a50fdf feat: Expose NetworkEarlyUpdate/NetworkLateUpdate (see #2826) 2021-08-13 11:58:50 +08:00
vis2k
966af93e50 feat: Prevent Nested Network Managers (see #2867) 2021-08-13 11:48:41 +08:00
vis2k
8ca5203262
breaking: NetworkIdentity.spawned split into NetworkServer/Client.Spawned (#2877)
* breaking: NetworkIdentity.spawned split into NetworkServer.Spawned / NetworkClient.spawned.
WIP: 1 failing test

* clear spawned in NetworkClient.Shutdown

* MirrorTest doesn't need to clear spawned anymore. NetworkClient/NetworkServer.Shutdown already do.

* InterestManagement: use NetworkServer.spawned

* NetworkServer: use NetworkServer.spawned

* Match/SceneInterestManagement: use NetworkServer.spawned

* InterestManagementTests: use NetworkServer.spawned

* NetworkIdentity.OnStartServer: use NetworkServer.spawned

* NetworkClient: use NetworkClient.spawned everywhere; and modify OnHostClientSpawn

* NetworkIdentity.spawned: throw if server/client not active to make it more obvious why tests fail

* NetworkBehaviour GetSyncVar functions: use NetworkClient.spawned

* adjust test

* adjust test

* adjust test

* CreateNetworkedAndSpawn functions that return client object too

* adjust test

* adjust test

* adjust test

* adjust test

* adjust tests

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* adjust test

* NetworkReader.ReadNetworkIdentity adjusted
2021-08-13 11:20:32 +08:00
vis2k
a13f474243 NetworkReader.ReadNetworkBehaviour: reuse ReadNetworkIdentity 2021-08-12 18:04:20 +08:00
vis2k
4def515c9f SyncVarTest: prepare for .spawned split. this is better. 2021-08-12 15:38:39 +08:00
vis2k
cf3e7acc39 Tests: SyncVarHOokTests improved 2021-08-12 14:24:20 +08:00
MrGadget
33e77d69cb
fix: NT Base OnDrawGizmos only when playing (#2876)
* fix: NT Base OnDrawGizmos only when playing

* Update NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-12 12:25:49 +08:00
vis2k
875c78c222 improve 'No writer found' error to make it more obvious why it happens and how to solve it 2021-08-12 00:18:55 +08:00
vis2k
811f1fadfc NetworkServerTests: Command tests: use host mode to prepare for easier .spawned split 2021-08-11 19:42:59 +08:00
vis2k
a7910c0c97 SyncVarTests: use host mode for easier .spawned split 2021-08-11 19:38:09 +08:00
vis2k
e22b0c0c4e NetworkWriterTests: use host mode to prepare for easier .spawned split too 2021-08-11 19:29:46 +08:00
vis2k
b089692dab Tests: NetworkTransform2 tests use host mode for now to make .spawned split easier 2021-08-11 19:22:12 +08:00
vis2k
309761a37b Tests: fix check 2021-08-11 16:32:08 +08:00
vis2k
8902cd1b4e simplify tests 2021-08-11 15:15:21 +08:00
vis2k
23cc3b8223 Tests: reuse CreateNetworkedAndSpawn 2021-08-11 15:07:02 +08:00
vis2k
c89e119743 Tests: reuse CreateNetworkedAndSpawn 2021-08-11 15:05:39 +08:00
vis2k
d9ecd21d1e Tests: reuse CreateNetworked 2021-08-11 15:03:49 +08:00
vis2k
777fb9bfb9 syntax 2021-08-11 14:23:05 +08:00
vis2k
8b42915429 Tests simplified 2021-08-11 14:22:51 +08:00
vis2k
2328747b33 remove unnecessary line 2021-08-11 14:20:44 +08:00
vis2k
06f287176c syntax 2021-08-11 14:19:34 +08:00
vis2k
47bc75cdc8 syntax 2021-08-11 14:18:40 +08:00
vis2k
1b9aaebee1 Tests simplified 2021-08-11 14:18:21 +08:00
vis2k
2fd87a49ec comments 2021-08-11 14:15:24 +08:00
vis2k
52a560ca6d Tests simplified 2021-08-11 14:14:57 +08:00
vis2k
2fff5ef02b Tests simplified 2021-08-11 14:13:59 +08:00
vis2k
ff4bc267e0 syntax 2021-08-11 14:12:14 +08:00
vis2k
f0441738d0 Tests: reuse CreateNetworked 2021-08-11 14:11:37 +08:00
vis2k
e36a9a16fb remove unnecessary destroys. CreateNetworked does it. 2021-08-11 14:10:29 +08:00
vis2k
7b62f3c7fd NetworkServerRuntimeTest: reuse CreateNetworked 2021-08-11 14:09:30 +08:00
vis2k
7c5d453a3b Tests: remove unnecessary DestroyImmediate now that CreateNetworked tracks it anyway 2021-08-11 14:04:31 +08:00
vis2k
b949034abb Tests: simplify 2021-08-11 14:03:48 +08:00
vis2k
2c1736f29e Tests: reuse CreateNetworked 2021-08-11 14:02:43 +08:00
vis2k
4f15ba9a2e syntax 2021-08-11 14:01:02 +08:00
vis2k
6c5bee8106 syntax 2021-08-11 13:59:52 +08:00
vis2k
cf29a06bca cleanup 2021-08-11 13:59:31 +08:00
vis2k
f61dd290e3 Tests: use CreateNetworked<T> 2021-08-11 13:55:27 +08:00
JesusLuvsYooh
5c45c5cd75
Defines for OnGUI (#2875)
* Defines for OnGUI KcpTransport.cs

Related to: https://github.com/vis2k/Mirror/pull/2874
"OnGUI allocates even if it does nothing. avoid in release."

* Defines for OnGUI SpatialHashing IM.cs

Related to: https://github.com/vis2k/Mirror/pull/2874
"OnGUI allocates even if it does nothing. avoid in release."

* Update SpatialHashingInterestManagement.cs

* Update KcpTransport.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-11 12:43:31 +08:00
vis2k
9cb4c55276 simplify tests 2021-08-11 00:34:55 +08:00
vis2k
bd6f2fd31a Runtime tests: remove old transport enabled tests. transport enabled isn't needed anymore since Unbatcher GetNextMessage 2021-08-10 19:50:02 +08:00
vis2k
e342d58e5c syntax 2021-08-10 19:49:00 +08:00
vis2k
c6bdbecfda ClientSceneTests_LocalPlayer: huge cleanup 2021-08-10 19:48:01 +08:00
vis2k
96c526a7c5 remove unnecessary TearDown 2021-08-10 19:47:56 +08:00
vis2k
38d2a7e315 syntax 2021-08-10 19:38:30 +08:00
vis2k
494484ef78 ClientSceneTest_LocalPlayer_AsHost: huge cleanup 2021-08-10 19:36:58 +08:00
vis2k
4925f1397a Tests: merge HostSetup into the only class that inherits from it 2021-08-10 19:19:14 +08:00
vis2k
87478178e9 MirrorTests: CreateNetworkedAndSpawnPlayer without <T> helper function 2021-08-10 19:11:05 +08:00
vis2k
881d90f539 Tests: remove unused FakeSpawnServerClientIdentity function 2021-08-10 19:07:06 +08:00
vis2k
080cd184c5 remove unused import 2021-08-10 19:02:41 +08:00
vis2k
47a948b87f NetworkIdentityTests: remove old HandleRpc test 2021-08-10 19:02:27 +08:00
vis2k
d094c70588 NetworkWriterTests: use CreateNetworkedAndSpawn everywhere instead of manually adding to spawned 2021-08-10 18:58:53 +08:00
vis2k
281b200a69 SyncVarHookTests: use CreateNetworkedAndSpawn everywhere instead of manually adding to spawned 2021-08-10 18:55:49 +08:00
vis2k
f146ca8b87 SyncVarTests: use CreateNetworkedAndSpawn everywhere instead of manually adding to spawned 2021-08-10 18:52:28 +08:00
vis2k
3d350f3320 GetSyncVarNetworkIdentityOnClient Test: use CreateNetworkedAndSpawn instead of manually adding to spawned 2021-08-10 18:45:07 +08:00
vis2k
4591bde5e3 GetSyncVarGameObjectOnClient Test: use CreateNetworkedAndSpawn instead of manually adding to spawned 2021-08-10 18:43:48 +08:00
JesusLuvsYooh
bafe8832f6
NTB.cs defines for OnGUI (#2874)
* NTB.cs defines for OnGUI

#if UNITY_EDITOR || DEVELOPMENT_BUILD for OnGUI() added.
Related to this post, and discord discussion: https://github.com/vis2k/Mirror/issues/2871

"OnGUI calls allocate gc even when not doing anything"
This should give developers a mini optimisation, and means no manual editing needed of NTB.cs for their final releases.

* NTB.cs defines for OnGUI + Gizmos

#if UNITY_EDITOR || DEVELOPMENT_BUILD for OnGUI() added.
Related to this post, and discord discussion: #2871

"OnGUI calls allocate gc even when not doing anything"
This should give developers a mini optimisation, and means no manual editing needed of NTB.cs for their final releases.

Will apply to the other components, if accepted/good idea.

+ Added Gizmos section by request.

* Update NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-10 14:46:11 +08:00
ninjakickja
ae622bfa57
Changes to validation of catchupThreshold - NetworkTransform2k - NetworkTransformBase (#2853)
* Changes to validation of catchupThreshold.

catchupThreshold needs to be at least 4, or it will interfere/conflict with checking if we have at least 3 old enough buffers. Catchup will decrease buffer while check needs at least 3 older.
catchupThreshold should also at least be bufferTimeMultiplier + 2, to take into account of the first 2 snapshots which is used for interpolation, before trying to implement catch up.

* Changes to validation of catchupThreshold - NetworkTransform2k - NetworkTransformBase

catchupThreshold needs to be at least 4, or it will interfere/conflict with checking if we have at least 3 old enough buffers. Catchup will decrease buffer while check needs at least 3 older.
catchupThreshold should also at least be bufferTimeMultiplier + 2, to take into account of the first 2 snapshots which is used for interpolation, before trying to implement catch up.

* Changes to validation of catchupThreshold - NetworkTransform2k - NetworkTransformBase

catchUpThreshold should be a minimum of bufferTimeMultiplier + 3, to prevent clashes with SnapshotInterpolation looking for at least 3 old enough buffers, else catch up will be implemented while there is not enough old buffers, and will result in jitter.

* Update NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-10 14:25:37 +08:00
vis2k
79c9d2cc6a Tests simplified 2021-08-09 16:56:43 +08:00
vis2k
6031f8936c Tests simplified 2021-08-09 16:47:53 +08:00
vis2k
d02262e4a7 Test simplified 2021-08-09 16:46:39 +08:00
vis2k
c77406730c NetworkServerTests: SendCommand test simplified 2021-08-09 16:45:42 +08:00
vis2k
0340dd2d38 NetworkServerTests: SendCommand test simplified 2021-08-09 16:44:44 +08:00
vis2k
b99b6d314d NetworkServerTests: SendCommand test simplified 2021-08-09 16:43:42 +08:00
vis2k
b340397ad0 NetworkServerTests: SendCommand test simplified 2021-08-09 16:42:48 +08:00
vis2k
4f72d5f8f6 NetworkServer.CleanupNetworkIdentities renamed to CleanupSpawned because that's what it does. 2021-08-09 16:29:08 +08:00
MrGadget1024
d4f7a26278 Removed Network Observer Script Template 2021-08-09 00:32:26 -04:00
MrGadget1024
279db96a16 Consistant naming of NetworkManager object in example scenes 2021-08-09 00:06:43 -04:00
MrGadget1024
ed291183f6 fix: Multiple Matches example transport to KCP 2021-08-09 00:01:53 -04:00
MrGadget1024
9aced8f106 fix: Updated Multiple Matches example to use Match Int. Mgmt. 2021-08-08 23:53:08 -04:00
MrGadget1024
61f2ab809d Suppress noisy Debug 2021-08-08 12:56:57 -04:00
MrGadget1024
43a4fdc4be Added HelpUrl 2021-08-08 11:47:11 -04:00
vis2k
6d59807745 add logs 2021-08-08 18:46:22 +08:00
vis2k
f512928a3d comment 2021-08-08 18:36:20 +08:00
vis2k
8f8a8ce690 Test simplified 2021-08-08 18:34:57 +08:00
vis2k
f88c3af277 syntax 2021-08-08 18:34:09 +08:00
vis2k
046e6d45f7 NetworkIdentitySerializationTests: simplify 2021-08-08 18:33:02 +08:00
vis2k
d7ee83d696 formatting 2021-08-08 18:31:24 +08:00
vis2k
b3bbec793f NetworkIdentitySerializationTests: SerializationException 2021-08-08 18:29:21 +08:00
vis2k
d0ea26b42f shorter name 2021-08-08 18:23:19 +08:00
vis2k
de4d2dc92f Tests: NetworkIdentity serialization tests moved to separate file 2021-08-08 18:22:32 +08:00
vis2k
6ed56f08ea Tests: CreateNetworkedAndSpawn<T,U,V> helper 2021-08-08 18:15:29 +08:00
vis2k
baad907fe8 Tests: CreateNetworkedAndSpawn<T,U> helper 2021-08-08 18:15:26 +08:00
vis2k
26fd44c0bd MIRROR_44_0_OR_NEWER 2021-08-08 17:40:26 +08:00
vis2k
e28d7e903a NetworkIdentity.OnSerializeSafely: remove unnecessary ownerWritten, observersWritten parameters 2021-08-08 13:59:09 +08:00
vis2k
6ce8dfcc23 syntax 2021-08-08 13:41:54 +08:00
vis2k
1e89a3a65d NetworkServer.CreateSpawnMessagePayload: don't need OnSerializeAllSafely 'ownerWritten' and 'observersWritten' values. always convert to ArraySegment - and if nothing was written, they are empty. 2021-08-08 13:34:00 +08:00
vis2k
9dd1420edf NetworkWriterTest: empty arraysegment 2021-08-08 13:29:13 +08:00
vis2k
a76fa59fee NetworkIdentity.OnSerializeSafely simplified: owner/observers 'written' changed from int to bool 2021-08-08 13:23:39 +08:00
vis2k
adc7687807 stepsize 10 is enough 2021-08-07 22:09:34 +08:00
vis2k
a2f5659723 comment 2021-08-07 22:01:35 +08:00
vis2k
93246ffda5 better logging 2021-08-07 21:51:26 +08:00
vis2k
59b7d79db6 rename to make it more obvious 2021-08-07 21:47:24 +08:00
vis2k
6e87337792 Quaternion Compression Tests: [0..360] in 5 degree steps for all x, y, z components 2021-08-07 21:38:24 +08:00
vis2k
1666bf5309 syntax 2021-08-07 21:31:10 +08:00
vis2k
572ce6c751 LargestAbsoluteComponentIndex: rename largest to largestAbs to be more obvious 2021-08-07 21:27:38 +08:00
vis2k
2aa791a726 fix: #2674 - Quaternion Compression LargestAbsoluteComponentIndex largest absolute was accidentally initialized with largest, instead of largest absolute 2021-08-07 21:27:18 +08:00
vis2k
c5080d1ab3 Tests: LargestAbsoluteComponentIndex test to reproduce #2674 2021-08-07 21:24:10 +08:00
vis2k
3d67c72336 enable test 2021-08-07 21:17:10 +08:00
vis2k
13c2a42a77 remove unused runtime SceneObjectSpawningTests 2021-08-07 19:31:29 +08:00
vis2k
99109076e4 syntax 2021-08-07 19:27:23 +08:00
vis2k
300e236715 syntax 2021-08-07 19:26:38 +08:00
vis2k
1fc008f1ef syntax 2021-08-07 19:24:43 +08:00
vis2k
02cc3de7b8 SnapshotInterpolationTests: casting not necessary anymore 2021-08-07 19:23:07 +08:00
vis2k
664f21ba45 RemoteTestBase: reuse ConnectHostClientBlockingAuthenticatedAndReady 2021-08-07 19:21:36 +08:00
vis2k
964188868d syntax 2021-08-07 19:20:31 +08:00
vis2k
8673471cf1 comment 2021-08-07 19:20:11 +08:00
vis2k
0fdb39fa1c CreateNetworkedAndSpawn without component helper function 2021-08-07 19:15:01 +08:00
vis2k
aff28a0c07 syntax 2021-08-07 19:12:09 +08:00
vis2k
e3f7b8ce74 Tests: rewrite #2629 fix test 2021-08-07 18:56:42 +08:00
vis2k
f12082d0a3 Tests: CreateNetworkedAndSpawn remove unnecesary .connetionToServer setup. it's not necessary anymore. 2021-08-07 18:50:31 +08:00
vis2k
b29a76d242 add assert just to be sure 2021-08-07 18:45:28 +08:00
vis2k
e52b9b24de fix comment 2021-08-07 18:44:52 +08:00
vis2k
4436fb85ad syntax 2021-08-07 15:18:04 +08:00
vis2k
e2a26cd438 syntax 2021-08-07 15:16:46 +08:00
vis2k
ed505b7b65 syntax 2021-08-07 15:16:11 +08:00
vis2k
95a7899b76 TODO 2021-08-07 15:13:22 +08:00
vis2k
90674529e0 syntax 2021-08-07 15:12:23 +08:00
vis2k
fd8023dafe remove redundant TargetRpc (manual) test 2021-08-07 15:11:24 +08:00
vis2k
39ebfc6126 remove redundant RPC (manual) test 2021-08-07 14:04:21 +08:00
vis2k
b71e2f373a syntax 2021-08-07 13:59:35 +08:00
vis2k
98eba5c9c1 syntax 2021-08-07 13:54:18 +08:00
vis2k
f74fb388b4 syntax 2021-08-07 13:45:42 +08:00
vis2k
3350760edb Multiplex Test: reuse CreateGameObject with component 2021-08-07 13:44:52 +08:00
vis2k
70f117a950 AOI Test: reuse CreateGameObject with component 2021-08-07 13:40:46 +08:00
vis2k
dccf1a95f1 AOI Test: reuse CreateGameObject with component 2021-08-07 13:39:43 +08:00
vis2k
5dad5db819 Tests: CreateGameObject with Component helper 2021-08-07 13:39:32 +08:00
vis2k
0888776f06 AOI Test: use CreateGameObject for automated tracking & destroying 2021-08-07 13:37:47 +08:00
vis2k
5c8bd25b7e namespaces 2021-08-07 13:30:11 +08:00
vis2k
46d7e2d6a3 Tests: remove generators 2021-08-07 13:28:18 +08:00
vis2k
4facadfc24 syntax 2021-08-07 13:24:17 +08:00
vis2k
b67156aafa Test: GetStableHashCode 2021-08-07 13:22:57 +08:00
vis2k
fbd3342a76 syntax 2021-08-07 13:19:43 +08:00
vis2k
af94cb902c ignore test 2021-08-07 13:14:34 +08:00
vis2k
35b024197a syntax 2021-08-07 13:12:21 +08:00
vis2k
79fc5f528e comment 2021-08-07 13:11:54 +08:00
vis2k
ac58ca4fd5 syntax 2021-08-07 13:11:27 +08:00
vis2k
8aeeb4daa2 syntax 2021-08-07 13:10:54 +08:00
vis2k
48b430c0ae simplify test 2021-08-07 13:09:54 +08:00
vis2k
80dbbc9697 simplify tests 2021-08-07 13:07:39 +08:00
vis2k
13d9f3ae51 syntax 2021-08-07 13:05:49 +08:00
vis2k
765de95607 cleanup 2021-08-07 13:01:42 +08:00
vis2k
a4be521a87 syntax 2021-08-07 13:00:35 +08:00
vis2k
c47004bdc5 syntax 2021-08-07 13:00:00 +08:00
vis2k
3c5560d0ac remove unused 2021-08-07 12:59:09 +08:00
vis2k
1b6ab9d7c0 syntax 2021-08-07 12:57:52 +08:00
vis2k
a34b974580 syntax 2021-08-07 12:55:49 +08:00
vis2k
3bb95aa528 remove unnecessary tests 2021-08-07 12:55:05 +08:00
MrGadget
7312d20a67
Simplify NetworkManager.isNetworkActive (#2843)
* fix: Obsolete NetworkManager.isNetworkActive
Use NetworkServer.active and/or NetworkClient.active instead.
Fixes #2842

* Cleaned up after conflicts

* Moved invocation of OnDisconnectedEvent handler to before setting of connectState

* Now without obsolete

* Commented Debug lines

* Uncommented another debug line

* Removed conflicted code

* removed debug line

* fixed debug msg

* reverted changes to debug lines

* moved change to separate PR
2021-08-07 12:09:04 +08:00
MrGadget
95de1a3aae
fix: Raise OnDisconnectedEvent before changing ConnectState (#2870) 2021-08-07 12:08:28 +08:00
MrGadget1024
8c6daf318f commented noisy debug 2021-08-06 11:23:51 -04:00
MrGadget1024
a662a52430 commented noisy debug 2021-08-06 11:21:42 -04:00
MrGadget1024
70ddb2f41d commented noisy debugs 2021-08-06 11:14:00 -04:00
MrGadget1024
9a1eb763b5 Added base method call to NetworkManagerOnServerDisconnect test 2021-08-06 11:05:00 -04:00
vis2k
e9791dff13 breaking: perf: SnapshotInterpolation.Compute: removed final boxing allocation. Snapshot.Interpolate is now a Func<T>. 2021-08-03 12:00:51 +08:00
vis2k
a7c0c29025 SnapshotInterpolationTests: use actual type instead of interface now 2021-08-03 11:50:18 +08:00
vis2k
2c70e71555 SnapshotInterpolation.Compute now returns <T> instead of Snapshot for ease of use 2021-08-03 11:11:38 +08:00
vis2k
23a663bdae perf: SnapshotInterpolation.GetFirstSecondAndDelta: return <T> instead of Snapshot to avoid boxing 2021-08-03 11:05:17 +08:00
vis2k
ee78043725 whitespace 2021-08-03 11:05:15 +08:00
vis2k
bb8245c944 rename 2021-08-01 19:54:23 +08:00
ninjakickja
053ab364a9
Fix: ArgumentExceptionError when adding snapshots to buffer (#2862)
* Fix - From !isLocalPlayer to !hasAuthority

Changed !isLocalPlayer to !hasAuthority because object might not be player object.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

* Fix ArgumentExceptionError when adding snapshot to buffer - SnapshotInterpolation.cs

Occassionally duplicate messages may be received with the same remoteTimestamp. Adding an already existing key to buffer (Sorted List) will throw an ArgumentExceptionError and disconnect the client from the server.
Fixed by adding an if check to add snapshot only if remoteTimestamp key does not exist in the buffer.

* Test for ArgExceptionError - Adding snapshot to buffer with same key

* Update SnapshotInterpolation.cs

* Update SnapshotInterpolationTests.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-08-01 19:53:10 +08:00
MrGadget
03cd2e286f
Improved NetworkIdentity.Reset test (#2863) 2021-08-01 15:22:20 +08:00
vis2k
b495eaa965 syntax 2021-08-01 14:48:05 +08:00
vis2k
0d2733c564 fix: #2797 Clear hasAuthority when Destroying and call OnStopAuthority 2021-08-01 14:45:54 +08:00
vis2k
88112e7778 NetworkServerTest: use CreateNetworkedAndSpawnPlayer 2021-08-01 14:42:59 +08:00
vis2k
a55c75b945 MirrorTest: CreateNetworkedAndSpawnPlayer helper 2021-08-01 14:42:50 +08:00
vis2k
c879f17936 test for #2797 fixed 2021-08-01 14:33:38 +08:00
vis2k
2d2ea64d8a Tests: ConnectHostClientBlocking() now connects local server too. otherwise NetworkServer.localConnection isn't added to NetworkServer.Connections. 2021-08-01 13:51:51 +08:00
vis2k
2c85cfbd06 Tests: ConnectHostClientBlockingAuthenticatedAndReady helper 2021-08-01 13:44:25 +08:00
vis2k
9351c3bb99 test to reproduce #2797 2021-07-31 21:12:05 +08:00
vis2k
b0be4a3540 remove check 2021-07-31 21:04:09 +08:00
vis2k
d82388aff4 Tests: ConnectHostClientBlocking helper function 2021-07-31 20:54:42 +08:00
vis2k
d897da8a6b TODO 2021-07-31 20:51:09 +08:00
vis2k
3232001466 NetworkServer.DestroyObject: added comments 2021-07-31 20:17:55 +08:00
vis2k
e9f8af40f9 split OnStopClient tests into two 2021-07-31 20:06:23 +08:00
vis2k
3c52284c8c keep old name 2021-07-31 20:04:51 +08:00
vis2k
d466d73f85 fix: #2119 - DestroyObject is now called when cleaning up scene identities too. Sends unspawn messages and calls OnStopClient/Server properly. 2021-07-31 17:30:25 +08:00
vis2k
3d9493dbfd Test to reproduce #2119 2021-07-31 17:22:17 +08:00
vis2k
0f069fc848 fix: CleanupNetworkIdentities needs to iterate a copied .spawned list becuase we now call DestroyObject directly. previously Destroy would call OnDestroy the next frame. 2021-07-31 17:22:00 +08:00
vis2k
47bd2b7c78 CleanupNetworkIdentities: better comments and call DestroyObject with DestroyMode.Destroy for spawned prefabs directly. more obvious. 2021-07-31 17:10:49 +08:00
vis2k
beff4b634a rename DestroyMode 2021-07-31 17:08:50 +08:00
vis2k
4a505860eb NetworkServer.DestroyObject: 'DestroyMode' enum instead of bool to make it more obvious.
we don't just need it
2021-07-31 12:33:11 +08:00
vis2k
47217bef6c NetworkServer.CleanupNetworkIdentities: call NetworkServer.Destroy directly instead of GameObject.Destroy->NetworkIdentity.OnDestroy->NetworkServer.Destroy (see #2119) 2021-07-31 12:24:24 +08:00
vis2k
4685ee653d comment 2021-07-31 12:21:24 +08:00
vis2k
e951abeb34 better comments 2021-07-31 12:20:25 +08:00
vis2k
7071a6afc8 comments 2021-07-31 12:03:27 +08:00
vis2k
77a3e0f23b cleanup and rename 2021-07-31 11:47:59 +08:00
vis2k
2a48d80afc rename 2021-07-31 11:44:54 +08:00
Eunseop Shim
f0d4f1595a
Allow reader generation of abstract NetworkBehaviours by reordering checks in Readers.GenerateReader() (#2808)
* Reorder checks to simplify and allow reader generation of abstract NetworkBehaviours

* Add SyncVar/ClientRpc Tests for abstract NetworkBehaviour
2021-07-31 11:32:42 +08:00
vis2k
7036ea5cab fix: NetworkAnimator uses double precision time for accuracy over days/weeks (#2840) 2021-07-31 11:10:25 +08:00
Robin Rolf
93b262dc94
feat: ZigZag VarInt Compression (#2859) 2021-07-30 21:10:36 +08:00
MrGadget1024
015c4d3f35 fix: Added missing [Command] attribute to NetworkAnimator.CmdSetAnimatorSpeed 2021-07-29 08:49:59 -04:00
ninjakickja
7e425d3106
fix: From !isLocalPlayer to !hasAuthority - NetworkTransform2k/NetworkTransformBase.cs (#2855)
* Fix - From !isLocalPlayer to !hasAuthority

Changed !isLocalPlayer to !hasAuthority because object might not be player object.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-29 11:44:04 +08:00
Robin Rolf
7e72683850
fix: Lazy create telepathy client/server (#2847)
Otherwise any options set via script are never going to be applied with no way of doing so
2021-07-25 13:12:13 +08:00
vis2k
06a77308ce remove version.txt again. not the one from asset store. 2021-07-23 12:06:00 +08:00
vis2k
ad45a0eb0f feature: Compression.VarInt added again 2021-07-23 12:05:38 +08:00
vis2k
15d2e8caa2 NetworkManager: ConfigureServerFrameRate renamed to ConfigureHeadlessFrameRate 2021-07-21 13:35:45 +08:00
vis2k
24033c101b fix: #2842 Revert "fix: Prevent recursion overflow when stopping (#2833)"
This reverts commit 32fdd5215f.
2021-07-20 11:48:54 +08:00
vis2k
c3bd1f2798 Test for #2842 - StopHostTest 2021-07-20 11:47:12 +08:00
vis2k
c1bfdea524 NetworkManagerTests: StartHost 2021-07-20 11:45:38 +08:00
vis2k
5cd3ad3ec0 missed a test 2021-07-19 11:44:27 +08:00
vis2k
d17156749d
feature: NetworkTransform 2 - Snapshot Interpolation (#2791) 2021-07-19 11:38:06 +08:00
MrGadget1024
ca4c2fd930 fix: Removed ServerAuthFailed from Basic Authenticator
Doesn't do what I intended it to do...better solution needed.
2021-07-18 08:24:12 -04:00
vis2k
b268e61928 add comment 2021-07-18 12:23:04 +08:00
vis2k
f79eab5d20
feature: MatchInterestManagement (#2837)
* feature: MatchInterestManagement component

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

* Update Assets/Mirror/Components/InterestManagement/Match/MatchInterestManagement.cs

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

Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
2021-07-17 10:54:48 +08:00
MrGadget1024
6242c618d5 Updated comment 2021-07-16 08:48:54 -04:00
vis2k
6d021c0875 fix: kcp2k V1.12 (updated)
-> where-allocation now optional to handle platforms that don't support it
2021-07-16 20:31:34 +08:00
vis2k
d66d228079 fix: kcp2k V1.12
- where-allocation removed. will be optional in the future.
- Tests: don't depend on Unity anymore
- fix: #26 - Kcp now catches exception if host couldn't be resolved, and calls
  OnDisconnected to let the user now.
- fix: KcpServer.DualMode is now configurable in the constructor instead of
  using #if UNITY_SWITCH. makes it run on all other non dual mode platforms too.
2021-07-16 13:10:05 +08:00
vis2k
69116bfeb2 fix: NetworkTime.UpdateClient uses double precision time for accuracy over days/weeks 2021-07-16 12:25:53 +08:00
Robin Rolf
d516280dca
fix: NetworkBehaviour dirty check uses double time (#2839) 2021-07-16 12:18:59 +08:00
vis2k
28bcce7f0f fix log 2021-07-16 10:52:21 +08:00
vis2k
fecfcd3378 fix: SceneInterestManagement OnCheckObserver uses identity.gameObject instead of own gameObject 2021-07-16 10:46:49 +08:00
vis2k
02ad57cae8 fix: SceneInterestManagement OnSpawned uses identity.gameObject instead of own gameObject 2021-07-16 10:46:08 +08:00
vis2k
53b54f3dac syntax 2021-07-16 10:45:08 +08:00
MrGadget1024
398824703d Updated comments in ZoneHandler 2021-07-15 13:54:29 -04:00
MrGadget
a3e3543797
feat: Transport Exception Handling (#2835)
* feat: Transport Exception Handling
Transports can raise OnServerError and OnClientError
Both are propagated up through NetworkServer & NetworkClient & NetworkManager
Virtual methods added to Network Manager and Template

Fixes: #2782

* Fixed typo

* Better handling of server error

* Updated template comments

* Updated comments in Transport base class

* Syntax

* Update Transport.cs

* Update NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-15 13:26:01 +08:00
MrGadget
32fdd5215f
fix: Prevent recursion overflow when stopping (#2833)
* fix: Prevent recursion overflow when stopping
Calling StopServer from OnStartServer or StopClient from OnStopClient (or from user code invoked from those virtual methods) would create a recursion overflow.

This PR moves the setting of `isNetworkActive = false;` up above the virtual method calls in both cases, and adds a check to early out if false to prevent recursion and overflow.

Debug logs were also moved up nearer the top of the method.

Fixes: #2080

* Update Assets/Mirror/Runtime/NetworkManager.cs

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-15 13:18:55 +08:00
MrGadget
8453a03bd4
fix: Reset lastPingTime (#2832)
* fix: Reset lastPingTime

* Update Assets/Mirror/Runtime/NetworkTime.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-15 13:16:39 +08:00
vis2k
08c74deca0 fix: #2536, #2834 - stop transport server even if dontListen in case it was enabled at runtime 2021-07-15 13:11:05 +08:00
MrGadget1024
8717b6082f fix: Updated Compiler Symbols to MIRROR_43_0_OR_NEWER 2021-07-15 00:57:27 -04:00
MrGadget1024
35e41227d0 fix: Added empty version file
This is a test to see if CI will fill it and include it in the Unity package.
2021-07-14 22:07:21 -04:00
MrGadget1024
0b4fd22c36 fix: Call StopDiscovery when stopping Host/Server/Client in DiscoveryHUD
Fixes: #2477
2021-07-14 18:04:11 -04:00
vis2k
79024450f2
breaking: NetworkMatch component to hold matchId. Prepares for AOI2 match checker. (#2831)
* NetworkMatch component

* NetworkMatchChecker currentMatch points to NetworkMatch.matchId

* NetworkMatchChecker.Update just like scene checker

* remove NetworkMatchChecker.matchId

* adjust tests

* fixed comments, simplified null check

Co-authored-by: MrGadget1024 <github@clevertech.net>
2021-07-14 23:46:09 +08:00
vis2k
fe36a83353
feature: SnapshotInterpolation algorithm (#2824) 2021-07-14 17:42:23 +08:00
vis2k
09cbc7e782 feature: DistanceInterestManagement custom range component 2021-07-14 11:31:45 +08:00
vis2k
99316d6ab9 fix: DistanceInterestManagement initial range check uses '<' instead of '<=' for consistency with the other range checks 2021-07-14 11:26:34 +08:00
vis2k
af03da01ff syntax & comments 2021-07-14 11:06:26 +08:00
vis2k
7206c56a53 comments 2021-07-14 11:04:12 +08:00
Robin Rolf
99db407990
feat: SceneInterestManagement (#2762)
* feat: Add OnSpawned/OnDestroyed events to interest management

* feat: SceneInterestManagement
2021-07-14 11:01:43 +08:00
Robin Rolf
3bc7572154
feat: Add OnSpawned/OnDestroyed events to interest management (#2758) 2021-07-14 11:01:13 +08:00
MrGadget1024
cdf6d2c901 fix: fixed naming typo
#Fixes #2827
2021-07-13 18:47:55 -04:00
vis2k
5afc4e9eed syntax 2021-07-13 19:53:20 +08:00
vis2k
368c08be63 remove comment 2021-07-12 19:43:14 +08:00
vis2k
d60ec59444 syntax 2021-07-12 19:42:07 +08:00
vis2k
3363162dd8 syntax 2021-07-12 19:40:47 +08:00
vis2k
dd716eb0c0 rename 2021-07-12 19:38:00 +08:00
vis2k
3e77166952 syntax 2021-07-12 19:37:28 +08:00
vis2k
f67caa2c1d rename 2021-07-12 19:30:31 +08:00
vis2k
36a1411c4a syntax 2021-07-12 17:23:55 +08:00
vis2k
7eccab0433 PreprocessorDefine: 42_0_OR_NEWER 2021-07-11 16:25:33 +08:00
vis2k
9b160bce5d fix: FallbackTransport didn't propagate Early/LateUpdate 2021-07-10 14:37:54 +08:00
vis2k
b305741b4b
fix: #2822 - OnClientDisconnect wasn't called for host disconnect because LocalConnectionToServer wouldn't call OnTransportDisconnected (#2823)
* test

* fix
2021-07-08 18:25:45 +08:00
vis2k
b1a2ade539 committed the wrong chang 2021-07-08 18:00:50 +08:00
vis2k
2c18d5d4ee add comment 2021-07-08 17:41:58 +08:00
vis2k
1c23b70ca8
fix: #2818 NetworkClient Disconnecting state added. Disconnect now sets state to Disconnecting. OnTransportDisconnected doesn't early return anymore because state was == Disconnected already before. fixes OnClientDisconnect not being called for remote connections. (#2821)
* fix: #2818 NetworkClient Disconnecting state added. Disconnect now sets state to Disconnecting. OnTransportDisconnected doesn't early return anymore because state was == Disconnected already before.

* add test
2021-07-08 16:59:14 +08:00
vis2k
57c0f70df8 NetworkClient.Disconnect: explicitly check against Connecting and Connected.
prepares for Disconnecting state so we don't need to change this here.
2021-07-08 16:10:15 +08:00
vis2k
49eeb58af6 add comment 2021-07-08 16:06:38 +08:00
vis2k
0a7af48e6e NetworkIdentity.SetupIDs: use GetPrefabStage(gameObject) for correctness (#2781) 2021-07-08 15:19:54 +08:00
vis2k
fb052a30b5
fix: #2793 - Interest Management V2 now offers SetHostVisibility overwriting (#2813)
* InterestManagement.SetHostVisibility virtual

* NetworkServer uses it

* NetworkClient uses it
2021-07-08 13:36:27 +08:00
vis2k
188be9ead0
fix: serialization precision over days by using frameCount instead of single precision time (#2815)
* fix: serialization precision over days by saving a double timestamp at the start of Broadcast() once

* use tick instead
2021-07-07 22:22:15 +08:00
vis2k
9ac3cf9534 comment 2021-07-07 20:46:50 +08:00
vis2k
c241d9dc20 remove unused import 2021-07-07 19:47:54 +08:00
vis2k
d25df4035b linebreaks 2021-07-07 19:45:05 +08:00
vis2k
e20bcc6f0c syntax 2021-07-07 19:43:45 +08:00
Robin Rolf
ef1f1a55f1
Add (failing) test for large timestamp serialization (#2814)
* Add test for large timestamp serialization

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

Co-authored-by: vis2k <info@noobtuts.com>
2021-07-07 19:42:56 +08:00
vis2k
92d4429c55 add comments 2021-07-07 12:23:29 +08:00
vis2k
80387ffa03
fix: nimoyd unbatcher InvalidOperationException (#2812) 2021-07-07 11:48:51 +08:00
vis2k
1100af2ae0 rename 2021-07-07 11:24:37 +08:00
vis2k
fe7ed2ace1 Tests: nimoyd unbatcher repro 2021-07-07 11:23:18 +08:00
MrGadget1024
fb608d685a fix: Fixed additive scenes on host client
- This was broken by #a0f5a846
2021-07-06 12:07:36 -04:00
Eunseop Shim
c0a5dff95f
Use Debug.LogException for NetworkBehaviour error messages (#2803) 2021-07-02 10:10:13 +08:00
MrGadget1024
357ef138c9 code style 2021-06-30 13:17:44 -04:00
MrGadget1024
5b9c7e11d5 syntax 2021-06-30 13:14:36 -04:00
MrGadget1024
6bb97abd2d fix: fixed order of fields in NT Base 2021-06-30 11:26:31 -04:00
MrGadget1024
b86c8615f4 fix: Added null check and error logging to OnDeserializeAllSafely 2021-06-30 00:41:56 -04:00
MrGadget
a0f5a846d7
fix: OnClientChangeScene not firing for host client (#2801) 2021-06-30 10:56:50 +08:00
MrGadget
57d1892433
fix: Avoid NRE in UnpackAndInvoke (#2800)
Client message handlers may call conn.Disconnect, which will make connection = null, so we must check for that after calling `handler.Invoke`.
2021-06-30 10:56:09 +08:00
vis2k
021470360d Tests: WriteUri(null) for https://github.com/vis2k/Mirror/pull/2796/ 2021-06-30 10:54:43 +08:00
MrGadget
e07488d91b
fix: null handling in WriteUri & ReadUri (#2796) 2021-06-30 10:54:06 +08:00
MrGadget1024
b460b90007 fixed deprecation date 2021-06-29 06:07:47 -04:00
MrGadget1024
58c832f614 Removed comment 2021-06-28 07:38:23 -04:00
MrGadget1024
b7e6b6b3bc Added missing Deprecated dates 2021-06-27 13:14:45 -04:00
vis2k
ff218adc17 fix: OverrideVirtualWithBaseCallsBothVirtualAndBase etc. failing tests because Weaver Cmd/Rpc SubstitueMethods couldn't be accessed by inheriting classes 2021-06-26 13:17:18 +08:00
Cooper H
74ae04d222
fix: Weaver Generated Cmd/Rpc should be private (#2799)
* Fix for users calling weaver gen'd methods in the inspector

Forces the new weaver generated method to be private, preventing prevents users from mistakenly calling weaver generated methods in dropdown menus (such as buttons) in the inspector.

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

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-26 01:45:47 +08:00
MrGadget1024
5528bdd27e Syntax 2021-06-23 23:24:57 -04:00
vis2k
243586254d 'multiple NetworkIdentity components' warning changed to Error to make it more obvious that this breaks a project 2021-06-23 12:45:23 +08:00
MrGadget1024
81854247c7 indention 2021-06-22 12:18:33 -04:00
vis2k
bb559b88eb NetworkIdentity: fix define order for SceneManagement and use elif 2021-06-22 22:15:06 +08:00
vis2k
d7373ff175 remove unused imports 2021-06-22 21:25:11 +08:00
vis2k
25e13cb6ec Tests: UtilsTest.GetTrueRandomUInt 2021-06-22 19:10:24 +08:00
vis2k
b309f546ca NetworkIdentity: #if UNITY_2021_2 support when importing SceneManagent to avoid AutoUpgrader modifying NetworkIdentity 2021-06-22 19:06:30 +08:00
MrGadget
92334ba2aa
fix: Don't call FinishLoadScene when customHandling (#2794)
* fix: Don't call FinishLoadScene when customHandling
FinishLoadScene will be called from `UpdateScene`  if `loadingSceneAsync != null && loadingSceneAsync.isDone` and it's the responsibility of the user in their custom handler to assign `loadingSceneAsync` to something to block FinishLoadScene until that completes.

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-06-22 13:29:49 +08:00
vis2k
a6f6dd2b7e MessagePacking.WrapHandler: improve error message when disconnecting a connection because of exceptions. It needs to be obvious that it was disconnected, and why that's a good idea. 2021-06-20 12:10:07 +08:00
vis2k
820c5a6c44 feature: Timestamp Batching #2786 2021-06-20 12:10:07 +08:00
vis2k
e5771c23a0 MessagePacking: MaxMessageSize renamed to MaxContentSize so it's more obvious 2021-06-18 20:10:17 +08:00
vis2k
5644611d5d NetworkServerTest: reuse MessagePacking.MaxMessageSize 2021-06-18 19:34:42 +08:00
vis2k
6ba6543278 MessagePacking: MaxMessageSize property for convenience 2021-06-18 19:31:38 +08:00
vis2k
15e3b3b11d MessagePacking.HeaderSize made public for convenience 2021-06-18 19:30:38 +08:00
vis2k
64040536a6 NetworkConnectionToClient/Server.Update common code moved to NetworkConnection.Update 2021-06-18 18:31:26 +08:00
vis2k
6e9206deab NetworkConnection.SendToTransport abstract; NetworkConnectionToClient/Server.Send(ArraySegment) common code moved into NetworkConnection 2021-06-18 18:31:26 +08:00
vis2k
970c3e8702 syntax 2021-06-18 18:31:02 +08:00
vis2k
cb05c5288b syntax 2021-06-18 18:30:42 +08:00
vis2k
b3b6d04a8b syntax 2021-06-18 18:28:04 +08:00
vis2k
33318555fe add comments 2021-06-18 18:21:14 +08:00
vis2k
bbde7edc1d add comments 2021-06-18 18:18:51 +08:00
vis2k
34492c5097 NetworkConnectionToClient/Server: Validate packet size again before passing batch to transport 2021-06-18 17:19:09 +08:00
vis2k
4382eb0f6e syntax 2021-06-18 16:58:45 +08:00
vis2k
8338d02301 syntax 2021-06-18 16:48:59 +08:00
vis2k
651020852b syntax 2021-06-18 16:45:04 +08:00