Commit Graph

4730 Commits

Author SHA1 Message Date
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