Commit Graph

5149 Commits

Author SHA1 Message Date
vis2k
533c054408 GenerateNewActionFromHookMethod helper function for future reuse in OnDeserialize 2022-02-15 17:31:28 +08:00
vis2k
72973f484a
fix: host mode [SyncVar] setter hooks now support virtual / overwritten functions again (#3102) 2022-02-15 17:30:56 +08:00
vis2k
4e91833c7d
fix: host mode [SyncVar] setter hooks now support static functions again (#3101)
* fix: host mode [SyncVar] setter hooks now support static functions again

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

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

* Revert change to MatchInterestManagement

* Revert change to Basic Example scene

* Revert change to Basic Example Player prefab

* Interest Management too

* Updated MultipleMatches example

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

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

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

fixes "Runtime is not defined" unity bug. Unity does not auto link Runtime in 2021, this is a bug, checking if it is undefined then creating it fixes the issue, and  will continue you work after unity fixes the bug. Note: `Module['dynCall_vi']` fix does not work here because it throws an exception after each call.

original commits:
2f5a74ba10
945b50dbad

fixes: https://github.com/vis2k/Mirror/issues/3012
2022-02-03 12:55:16 -05:00
vis2k
ff1199607e perf: SyncVar<T> some more inlining 2022-02-03 22:12:00 +08:00
vis2k
0d55ed8448 Tests: SetAllClientsNotReady - don't rely on host mode 2022-02-03 21:36:48 +08:00
vis2k
924ce2b668 Tests: SetClientReadyAndNotReady don't rely on host mode 2022-02-03 21:35:16 +08:00
vis2k
9f5bc2fadb ClientRpcOverrideTests: don't rely on hos tmode 2022-02-02 21:37:36 +08:00
vis2k
60f6bf7092 ClientRpcTests: don't rely on host mode anymore 2022-02-02 21:36:33 +08:00
vis2k
bb4ae1eeac TargetRpcOverrideTests: don't rely on host mode 2022-02-02 21:32:39 +08:00
vis2k
51678d7cdc TargetRpcTests: don't rely on host mode 2022-02-02 21:31:30 +08:00
vis2k
1f42831a7f RpcNetworkIdentityTests: don't rely on host mode 2022-02-02 21:29:35 +08:00
vis2k
5ba40d5608 unused import 2022-02-02 21:27:52 +08:00
vis2k
c7a8af3b7f syntax 2022-02-02 21:24:38 +08:00
vis2k
7251cd621c CommandOverrideTests: don't rely on host mode 2022-02-02 21:24:34 +08:00
vis2k
8d602ecec7 cleaner 2022-02-02 21:18:07 +08:00
vis2k
4a23a9a0ad CommandTests: need host mode for one test 2022-02-02 21:17:00 +08:00
vis2k
bc941a1b9e CommandTests: don't rely on host mode anymore 2022-02-02 21:14:11 +08:00
vis2k
83049d71f7 Tests: DistanceInterestManagement uses holder GameObject 2022-02-02 13:31:43 +08:00
vis2k
1d6cad9c24 NetworkWriterTests: don't rely on host mode anymore 2022-02-02 13:05:31 +08:00
vis2k
e959ff2d23 NetworkBehaviourDirtyBitsTests: don't rely on host mode anymore 2022-02-02 12:56:43 +08:00
vis2k
ce849cd61b Tests: fix NetworkServer.DestroyObject .Destroy throwing during tests. use DestroyImmediate if Application isn't running. 2022-02-02 12:54:58 +08:00
vis2k
23455570e6 MirrorTest: fix CreateNetworkedAndSpawnPlayer not properly spawning because the GO wasn't considered for spawning because it wasn't inactive 2022-02-02 12:44:37 +08:00
vis2k
9451fa0369 add check 2022-02-02 12:42:15 +08:00
vis2k
9512b8f0e6 MirrorTest: fix CreateNetworkedAndSpawnPlayer not properly spawning because the GO wasn't considered for spawning because it wasn't inactive 2022-02-02 12:40:42 +08:00
vis2k
badde10c1d MirrorTest: fix wrong authority check always throwing assert 2022-02-02 12:21:06 +08:00
vis2k
ac06a32622 NetworkBehaviourSerializeTests: don't rely on host mode anymore 2022-02-02 12:00:48 +08:00
vis2k
5ba53185f2 Tests: SerializeAndDeserializeObjectsDelta doesn't rely on host mode anymore 2022-02-02 11:54:31 +08:00
vis2k
3772f0b8e3 Tests: SyncObjectChanges_DontGrowWithoutObservers don't rely on host mode 2022-02-02 01:52:30 +08:00
vis2k
eef8e02974 Tests: don't rely on host mode 2022-02-02 01:50:46 +08:00
vis2k
55abc80c8e Tests clear NetworkManager singleton. prepares for NS/NC as component where we would need to initialize NM (and the singleton), and need to clear it 2022-02-02 01:34:28 +08:00
vis2k
8f7a0858ce NetworkManagerTests: use holder 2022-02-02 01:32:58 +08:00
vis2k
6ae3e0b4ce Multiplex Tests: use holder GO to make NS/NC as component easier later 2022-02-02 01:31:48 +08:00
vis2k
51ccb29275 Spatial Hashing Tests: use holder GO to make NS/NC as component easier later 2022-02-02 01:30:12 +08:00
vis2k
5b68aa8ade MirrorTest: holder GO to make NS/NC as component easier later 2022-02-02 01:29:10 +08:00
vis2k
efcf960917 SyncVarTests: don't rely on host mode 2022-02-02 01:24:19 +08:00
vis2k
39ad3840a5 SyncVarNetworkIdentityTests: don't rely on host mode 2022-02-02 01:23:08 +08:00
vis2k
6049925f66 SyncVarNetworkBehaviourInheritedTests: don't rely on host mode 2022-02-02 01:20:03 +08:00
vis2k
0ef0545eb8 SyncVarNetworkBehaviourAbstractTests: don't rely on host mode 2022-02-02 01:17:24 +08:00
vis2k
cb0040b1c3 SyncVarGameObjectTests: don't rely on host mode 2022-02-02 01:10:37 +08:00
vis2k
f5a8458391 MultiplexTest: add missing TearDown 2022-02-02 00:57:11 +08:00
vis2k
9912341f48
Tests: remove redundant generated attribute tests. -5000 LOC (#3079)
* Tests: remove redundant generated Attribute tests.

* move to AttributeTests.cs

* syntax

* proper SetUp
2022-02-01 18:47:49 +08:00
MrGadget
224a5587b0 Updated PlayerCamera scripts in examples 2022-02-01 04:14:17 -05:00
MrGadget
85048539d0 Updated Basic Example 2022-02-01 04:06:12 -05:00
vis2k
a54e74716d SyncVarNetworkBehaviour: ==, != for T as well to block != null 2022-02-01 13:09:26 +08:00
vis2k
0fd0aa2135 SyncVarGameObject/NetworkBehaviour/NetworkIdentity .Equals/.GetHashCode too 2022-02-01 12:41:33 +08:00
vis2k
f03dd3f8b8 SyncVar<T> Hook changed to .Callback += like SyncLists. can now be assigned in OnStartClient too. 2022-02-01 12:41:33 +08:00
vis2k
ed7de945d5 SyncVarNetworkBehaviour ==, != overloads 2022-02-01 12:41:33 +08:00
vis2k
0e42e5ce48 SyncVarNetworkIdentity ==, != overloads 2022-02-01 12:41:33 +08:00
vis2k
9efb3ada25 SyncVarGameObject ==, != overloads 2022-02-01 12:41:33 +08:00
MrGadget
27e71acef6 fix: Call OnStopLocalPlayer from ChangeOwner 2022-01-31 11:08:24 -05:00
MrGadget
6f84dfc0e1 Assigned Mirror Icons 2022-01-31 03:09:45 -05:00
vis2k
7c15a76dc1 remove unused imports 2022-01-31 14:25:08 +08:00
MrGadget
68f1a605d3 Added OnStopLocalPlayer to NetworkBehaviour Script Template 2022-01-31 00:35:35 -05:00
vis2k
e7a2a1467f fix: #2907 LatencySimulation now uses Time.unscaledTime 2022-01-31 12:44:56 +08:00
vis2k
7f9209cd7f Weaver.Extensions.Is: Syntax 2022-01-31 12:25:15 +08:00
vis2k
4a95f42c17
feat: OnStopLocalPlayer (#2070) (#3076)
* OnStopLocalPlayer

* NB test

* stuff
2022-01-30 12:23:37 +08:00
vis2k
da09e71576
fix: Duplicate IL2CPP hashes when building to WebGL (#3061) (#3072)
* 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>

* fix callers to replacement rpcs which used to call the deadlock

* improve generated name

Co-authored-by: cooper <60411087+cxxpxr@users.noreply.github.com>
2022-01-29 23:19:13 +08:00
vis2k
e781448419 Weaver: SubstituteMethod improved comment 2022-01-29 23:04:44 +08:00
vis2k
99fb73191f test comment 2022-01-29 23:00:00 +08:00
vis2k
ce3d4e49cc Weaver: FixRemoteCallToBaseMethod - proper comments to explain what it does 2022-01-29 22:59:49 +08:00
MrGadget
8a8f71b30b Revert merge master to master 2022-01-28 22:31:38 -05:00
MrGadget
6c729970cd
Merge branch 'master' into master 2022-01-28 21:53:43 -05:00
MrGadget
ecf44518f5 Added Chat Example 2022-01-28 21:49:13 -05:00
MrGadget
bd7f75f50c Added Tests 2022-01-28 21:46:10 -05:00
MrGadget
8e7a36b8ad Fixed AsmDefs 2022-01-28 21:45:48 -05:00
vis2k
cd40498457 remove TODO 2022-01-26 18:43:33 +08:00
vis2k
5369b8f47c
Weaver: move [SyncVar] generated setter to C# (#3070)
* WeaverSyncVarSetter<T>

* resolve

* no ref

* rename

* simple types without hook

* hook WIP

* stll need 'new Action' type

* pass hook

* ilnine

* remove now unused types

* remove unused

* comment

* no default

* cases

* GeneratedSyncVarSetter_GameObject/NetworkIdentity

* resolve

* GO/NI setters

* use the right equals

* NB setter

* comment
2022-01-26 18:40:56 +08:00
Roman Niukhalov
48df9ec287
Fix typo in a comment in NetworkServer.cs (#3071) 2022-01-26 13:35:17 +08:00
vis2k
8e682ec79e syntax 2022-01-25 15:02:38 +08:00
Samuel Schultze
a9a42c7aa7
fix (middleware): call inner transport events (#3068) 2022-01-25 12:42:32 +08:00
vis2k
88f09be888
Tests: Weaver IsSuccess() tests moved to regular C# space instead of AssemblyBuilder (#3069)
* README

* WeaverClientRpcTests

* CommandTests

* WeaverGeneralTests

* WeaverGeneratedReaderWriterAnotherAssemblyTests

* Tests asmdef references ExtraAssembly

* WeaverGeneratedReaderWriterTests

* WeaverMessageTests

* WeaverMonoBehaviourTests

* WeaverNetworkBehaviourTests

* WeaverSyncDictionaryTests

* pragma

* meta

* WeaverSyncListTests

* WeaverSyncObjectsTests

* WeaverSyncSetTests

* WeaverSyncVarAttributeHookTests

* WeaverSyncVarAttributeTests

* comment

* WeaverTargetRpcTests
2022-01-25 12:29:37 +08:00
vis2k
cb0d722366
perf: inline several hot path functions (#3065)
* perf: NetworkReader inline all functions

* perf: NetworkWriter inline all functions

* perf: Utils inlining

* perf: Pool inlining

* perf: NetworkReader/WriterPool inlining

* perf: Compression inlining

* perf: Extensions inlining

* perf: Mathd inlining

* perf: MessagePacking inlining
2022-01-25 11:09:52 +08:00
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