Commit Graph

4637 Commits

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