Commit Graph

5149 Commits

Author SHA1 Message Date
vis2k
0cff9d6f5d
feature: Snapshot Interpolation V2 (make sure call base Awake() when inheriting!; note this removes the interpolatePosition/Rotation/Scale options) (#3184)
* yo

* fix bug exposed by tests

* tests and latest changes

* NT
2022-06-26 20:03:42 +08:00
vis2k
880a4eebd6 Snapshot Interpolation Demo: adjust namespaces so we can use 'SnapshotInterpolation.' to actual 2022-06-16 13:26:38 +07:00
vis2k
db50c39b91 fix: Snapshot Interpolation Demo: assign material color to instanced material, fixes material asset changing color permanently 2022-06-13 18:18:59 +07:00
vis2k
f92942bb5f Snapshot Interpolation Demo: vsync notice 2022-06-13 18:17:50 +07:00
vis2k
1b0901e966 fix: Snapshot Interpolation Example: latency was accidentally applied to remoteTime instead of delivery time 2022-06-13 17:48:09 +07:00
vis2k
9915f4c0b3 Snapshot Interpolation Demo: simplify latency jitter for easier testing 2022-06-13 17:46:31 +07:00
vis2k
5063fdd08f LatencySimulation: latencySpike renamed to jitter 2022-06-13 12:18:28 +07:00
vis2k
999cf0fe32 Snap Interp demo GUI width 2022-06-12 00:15:08 +07:00
Justin Nolan
19efa2dd86
Fix compile error (#3179) 2022-06-10 22:53:05 +09:00
Justin Nolan
4b40dea700
switch expressions are not supported in unity 2020 (#3178) 2022-06-10 22:25:38 +09:00
Robin Rolf
d48d59cc08
fix: SWT header lookup needs to be case insensitive (#3176)
* fix: SWT header lookup needs to be case insensitive

See https://github.com/vis2k/Mirror/issues/3175
Closes #3175

* fix: SWT skips headers just ending in the key name

See 3495845b8c
2022-06-09 10:54:23 +08:00
vis2k
7bfa0906b0
Snapshot Interpolation visual example (#3171) 2022-06-09 10:53:49 +08:00
vis2k
e04293f980 breaking: SnapshotInterpolation.Compute(): add 'out catchup' for debugging 2022-06-03 16:40:53 +07:00
MrGadget
6de039cf9d Merge branch 'master' of https://github.com/vis2k/Mirror 2022-05-31 08:29:04 -04:00
MrGadget
77259e1c31 change label text 2022-05-31 08:28:52 -04:00
vis2k
f65b9cadbe Write/ReadBlittable explanation why private 2022-05-27 22:45:12 +07:00
vis2k
bb8412d5e7 NetworkIdentity Serialization: explain write index 2022-05-26 23:32:08 +07:00
MrGadget
adb66b427c
NetworkBehaviour: Improved logging (#3165)
* NetworkBehaviour: Improved logging

* NetworkBehaviour: Improved logging
2022-05-25 14:33:23 -04:00
MrGadget
50e6bb1101 Online scene removed Safety plane 2022-05-14 12:20:30 -04:00
MrGadget
8139c28ff0 Online scene lighting 2022-05-14 12:19:55 -04:00
MrGadget
4c52c13160 Removed CanvasRenderer 2022-05-14 12:10:27 -04:00
MrGadget
e0e098531e fixed NetworkManager Script Tempate
- broken by PR #3158
2022-05-13 10:32:44 -04:00
MrGadget
6ac03a02d6 Improved Chat example 2022-05-13 10:09:49 -04:00
MrGadget
876adb8f42 Improved Chat example 2022-05-13 09:54:12 -04:00
MrGadget
e27a1cd1e7 Improved Chat example 2022-05-13 09:39:22 -04:00
vis2k
096fe38080
breaking: OnError(Exception) changed to OnError(enum, reason) (#3158)
* TransportError

* adjust mirror

* obsoletes

* adjust transports

* Refused
2022-05-13 17:28:47 +08:00
vis2k
a2d35b82b6 Transport syntax: group fields together 2022-05-12 12:36:48 +08:00
vis2k
91e2a0f79b feature: kcp2k V1.19: OnError ErrorCodes 2022-05-12 10:30:59 +08:00
MrGadget
d3fa0c67e5
fix: NetworkClient - Check for duplicate sceneId (#3157)
* fix: NetworkClient - Check for duplicate sceneid

* renamed local var

* Update NetworkClient.cs

Co-authored-by: vis2k <info@noobtuts.com>
2022-05-12 00:06:43 +08:00
MrGadget
a8202e5d0c renamed local var 2022-05-11 10:59:10 -04:00
MrGadget
c35ddd20db fix: NetworkClient - Check for duplicate sceneid 2022-05-11 10:41:10 -04:00
vis2k
1e40bb4f00 NetworkClient/NetworkServer OnTransportError now logs a warning instead of an exception, indicating that it's a transport error and that it's fine. otherwise all kcp info/warnings would now be logged as exceptions 2022-05-08 10:51:22 +08:00
vis2k
ed8911dfef NetworkServer.OnError renamed to OnTransportError for consistency 2022-05-08 10:46:04 +08:00
vis2k
4c758c25dc NetworkClient.OnError renamed to OnTransportError for consistency 2022-05-08 10:45:31 +08:00
vis2k
35f1f225f3 fix: kcp2k V1.18
- feature: OnError to allow higher level to show popups etc.
- feature: KcpServer.GetClientAddress is now GetClientEndPoint in order to
  expose more details
- ResolveHostname: include exception in log for easier debugging
- fix: KcpClientConnection.RawReceive now logs the SocketException even if
  it was expected. makes debugging easier.
- fix: KcpServer.TickIncoming now logs the SocketException even if it was
  expected. makes debugging easier.
- fix: KcpClientConnection.RawReceive now calls Disconnect() if the other end
  has closed the connection. better than just remaining in a state with unusable
  sockets.

=> error handling based on #3155
=> fixes #3143
2022-05-08 10:42:32 +08:00
MrGadget
c65eed8ea8 Merge branch 'master' of https://github.com/vis2k/Mirror 2022-05-06 12:20:34 -04:00
MrGadget
efa2b3d4ca Syntax 2022-05-06 12:20:23 -04:00
MrGadget
876d6d86dc removed private 2022-05-06 12:19:50 -04:00
vis2k
818e0ca9fd NetworkServer.SendToObservers: use explicit NetworkConnectionToClient type 2022-04-29 19:01:26 +08:00
vis2k
298435001a fix: #3144 Reader/Writer Sprite null support & test to guarantee it never happens again 2022-04-29 10:08:33 +08:00
vis2k
f413c91cde Test: Reader/Writer Sprite 2022-04-29 10:05:23 +08:00
vis2k
ae1c7c5fe4 fix: #3144 Reader/Writer Texture2D null support & test to guarantee it never happens again 2022-04-29 09:59:52 +08:00
vis2k
b709453057 fix: NetworkReader/Writer Texture2D now sends dimensions too. fixes "Texture2D.SetPixels32: size of data to be filled was larger than the size of data available in the source array. (Texture '')" 2022-04-29 09:55:19 +08:00
vis2k
d235037954 fix: NetworkReader.ReadTexture2D fixed 'reader not found for Color32[]' error when using it from tests 2022-04-29 09:44:58 +08:00
vis2k
3a742bb7da Tests: NetworkReader/Writer Texture2D tests added 2022-04-29 09:44:54 +08:00
vis2k
728e6e2fdf syntax 2022-04-28 18:53:37 +08:00
vis2k
6c1dc5255e remove unused import 2022-04-20 10:33:53 +08:00
vis2k
1aaa4ce2a4
perf: Cmd/Rpc bandwidth hash size reduced from 4 => 2 bytes (#3148) 2022-04-20 11:33:14 +08:00
vis2k
98d7a9d7d1 NetworkReader/Extensions: inlining ReadBlittable is enough. Don't inline ReadInt etc. too, we don't want ReadBlittable to be copied in place everywhere. 2022-04-20 10:28:30 +08:00
vis2k
4ffb9dfafc NetworkWriter/Extensions: inlining WriteBlittable is enough. Don't inline WriteInt etc. too, we don't want WriteBlittable to be copied in place everywhere. 2022-04-20 10:26:43 +08:00
vis2k
cebfab010f fix: Benchmark movement destinations set around start, not around position. prevents them from stopping to move because of the wander off protection. 2022-04-19 13:29:38 +08:00
MrGadget
99d3a91f17 Fixed Authenticator Comments
- Fixes #3146
2022-04-18 22:58:16 -04:00
MrGadget
2db726df2e fix: TeamInterestManagement OnDestroyed logic 2022-04-18 09:07:15 -04:00
MrGadget
0e9d86f563
breaking: Removed Obsoletes (#3142)
* Removed Experimental NetworkTransform

* NetworkRoomManager: Removed Obsoletes

* NetworkTransformBase: Removed Obsoletes

* NetworkBehaviour: Removed Obsoletes

* NetworkManager: Removed Obsoletes

* NetworkServer: Removed Obsoletes

* SyncObject: Removed Obsoletes

* fixed comment

* fixed XML comment
2022-04-18 08:05:53 +07:00
MrGadget
8d07be97ed fixed XML comment 2022-04-17 12:40:17 -04:00
MrGadget
63fdd53903 fixed comment 2022-04-17 12:23:44 -04:00
vis2k
3839fafade remove unused import 2022-04-17 14:16:36 +08:00
vis2k
bec8e01c69 MIRROR_66_0_OR_NEWER 2022-04-17 14:01:24 +08:00
MrGadget
9c47d87bce XML Comments 2022-04-16 12:46:33 -04:00
MrGadget
c86deedbd9 Updated NetworkStatistics
- Reorganized to method call order
- Added component attributes
- XML comments for docs
2022-04-16 12:24:15 -04:00
vis2k
4d0cd1054a
fix: #3138, 3135 revert Cmd/Rpc from 2 byte indices back to 4 byte function hashes for stability (#3139)
* Revert "fix: Weaved static constructors need to always run (#3135)"

This reverts commit b0624b2f64.

* Revert "perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119)"

This reverts commit a868368eca.

* comment
2022-04-16 19:53:55 +07:00
MrGadget
3dba6a3833 NetworkRoomManager log update 2022-04-15 11:25:14 -04:00
Robin Rolf
b0624b2f64
fix: Weaved static constructors need to always run (#3135)
Static constructors are lazily called when the class is first "used"
 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-constructors
 > It is called automatically before the first instance is created or any static members are referenced.
 This means, in particular circumstances, client and server may diverge on which classes they have "loaded"
 and thus the rpc index will be desynced
 One such example would be on-demand-loading of prefabs via custom spawn handlers:
   A game might not want to preload all its monster prefabs since there's quite many of them
   and it is practically impossible to encounter them all (or even a majority of them) in a single play
   session.
   So a custom spawn handler is used to load the monster prefabs on demand.
   All monsters would have the "Monster" NetworkBehaviour class, which would have a few RPCs on it.
   Since the monster prefabs are loaded ONLY when needed via a custom spawn handler and the Monster class
   itself isn't referenced or "loaded" by anything else other than the prefab, the monster classes static
   constructor will not have been called when a client first joins a game, while it may have been called
   on the server/host. This will in turn cause Rpc indexes to not match up between client/server
 By just forcing the static constructors to run via the [RuntimeInitializeOnLoadMethod] attribute
 this is not a problem anymore, since all static constructors are always run and all RPCs will
 always be registered by the time they are used
2022-04-12 12:00:15 +08:00
MrGadget
3188472f74 Syntax: same method grouping as NetworkReaderExtenstions 2022-04-11 09:42:23 -04:00
MrGadget
2f76c73c41 fix: NetworkWriterExtensions:WriteTexture2D call WriteArray instead of Write 2022-04-11 09:12:35 -04:00
vis2k
92c5b54034 add comment 2022-04-04 20:36:42 +08:00
vis2k
eded0a2b15 fix: #2705 NetworkClient.SpawnPrefab looks for spawn handlers before looking for registered prefabs, instead of the other way around 2022-04-04 19:21:26 +08:00
vis2k
7d4a9c46e4 NetworkClient: RegisterPrefabIdentity double registration warning improved with explanation (related to #2705) 2022-04-04 19:13:46 +08:00
vis2k
1a256b5060 Tanks Example: destroy projectile after 2 seconds instead of 5 seconds 2022-04-04 11:51:57 +08:00
vis2k
1a09f0dc58 Tanks Example: reuse DestroySelf() 2022-04-04 11:39:44 +08:00
vis2k
1a6c5de8ac
fix: #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects (#3132)
* fix: #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects

* NetworkWriter: WriteGameObject reuses WriteNetworkIdentity

* warning instead of exception
2022-04-04 01:24:35 +08:00
vis2k
3ec5ca758e comment 2022-04-03 11:39:30 +08:00
vis2k
243821f5b1 fix: #2972 ReadNetworkBehaviour now reads the correct amount of data even if the NetworkIdentity has disappeared on the client.
added test to guarantee it never happens again.
2022-04-03 10:50:04 +08:00
vis2k
a92189b272 ReadNetworkIdentity: reuse Utils.GetSpawnedInServerOrClient 2022-04-03 10:47:54 +08:00
MrGadget
c81a4374b2 fixed comment 2022-04-01 17:29:23 -04:00
MrGadget
c79c6d1e70 fix: Correct version for Queue.TryDequeue
- fixes #3131
2022-04-01 17:19:37 -04:00
vis2k
3d471db938 fix: added Queue.TryDequeue extension for Unity 2019 2022-04-01 17:18:12 +08:00
vis2k
6c2559a73e
perf: Build batches directly instead of queuing serializations (#3130)
* rename

* so far

* better

* fixx

* old

* error

* typo

* comment
2022-04-01 13:46:38 +08:00
Robin Rolf
1631402bd7
fix: Byte format test uses current culture (#3126)
Since some may use , instead of . as their decimal place seperator

Error:
String lengths are both 7. Strings differ at index 1.
  Expected: "1.00 KB"
  But was:  "1,00 KB"
2022-03-26 13:06:30 +08:00
vis2k
d8774ecd47 fix: #2954 calling StopClient in host mode does not destroy other client's objects anymore 2022-03-23 23:58:47 +08:00
vis2k
6f981224a9 fix: #2954 calling StopClient in host mode does not reset nextNetId anymore 2022-03-23 23:55:35 +08:00
vis2k
3d6c41a595
fix: #3122 DestroyAllClientObjects now also resets after unspawn handler was called (#3124) 2022-03-23 23:54:58 +08:00
MrGadget
cca7afdd08 MultipleMatches example fixed 2022-03-23 07:19:36 -04:00
MrGadget
3024427933 Fixed comments 2022-03-23 07:19:36 -04:00
vis2k
2c138c5d71 hasAuthority comment updated 2022-03-22 22:51:48 +08:00
vis2k
012d7a5d1e Tests: runtime clientscene tests simplified and they don't rely on host mode anymore 2022-03-22 22:51:35 +08:00
vis2k
4b207d2994 fix: NetworkStatistics Unity 2019 support (part two) 2022-03-19 01:45:13 +08:00
vis2k
8f357d5961 fix: NetworkStatistics Unity 2019 support 2022-03-15 00:23:11 +08:00
vis2k
f4ceb067c9 perf: NetworkTime ExponentialMovingAverage .Value & .Var as fields instead of properties to avoid call overhead 2022-03-12 20:26:40 +08:00
vis2k
d979880c5f perf: NetworkTime.time inlined 2022-03-12 20:26:20 +08:00
vis2k
18170d16b8 perf: NetworkTime.localTime inlined 2022-03-12 20:26:02 +08:00
vis2k
45e1afc812 perf: inline GetIndexFromFunctionHash because it's called for every RPC 2022-03-12 19:46:00 +08:00
vis2k
5fcbd1d550 perf: CompressVarInt uses WriteByte instead of Write<T> to avoid Action call overhead 2022-03-12 19:20:00 +08:00
vis2k
a868368eca
perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119)
* perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt)

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

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

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

* rename Take() to Get()

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

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

* Generate IL2CPP compatible base calls

see cf91e1d547

* Make SyncVar field/hook references generic too

Fixes bad IL

* Update Extensions.cs

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

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

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

* Reset the lock state once you end it.

* Update NetworkDiscoveryBase.cs

* Update AndroidManifestHelper.cs

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

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

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

* Revert change to MatchInterestManagement

* Revert change to Basic Example scene

* Revert change to Basic Example Player prefab

* Interest Management too

* Updated MultipleMatches example

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

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

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