Commit Graph

3051 Commits

Author SHA1 Message Date
vis2k
207501de4e NetworkServer.InternalReplacePlayerForConnection moved into ReplacePlayerForConnection 2021-03-07 15:25:50 +08:00
vis2k
330036f1a9 more sorting 2021-03-07 15:24:11 +08:00
vis2k
e4729c2608 more sorting 2021-03-07 15:23:22 +08:00
vis2k
5a23cd056e more sorting 2021-03-07 15:22:22 +08:00
vis2k
688ec28d5d more sorting 2021-03-07 15:22:00 +08:00
vis2k
84f5ea61cc more sorting 2021-03-07 15:19:33 +08:00
vis2k
2f90fca1d5 more sorting 2021-03-07 15:18:00 +08:00
vis2k
bf804a93c2 more sorting 2021-03-07 15:17:01 +08:00
vis2k
c5947b92e2 more sorting 2021-03-07 15:12:54 +08:00
vis2k
c47f64908d NetworkServer: more sorting 2021-03-07 15:11:37 +08:00
vis2k
6dc0b42d89 NetworkServer: more sorting 2021-03-07 15:09:04 +08:00
vis2k
7daab9dd40 NetworkServer: sort similar functions together 2021-03-07 15:04:13 +08:00
vis2k
cf7de49def cleanup 2021-03-07 14:57:04 +08:00
vis2k
93217b4493 cleanup 2021-03-07 14:55:55 +08:00
vis2k
f3b7524691 cleanup 2021-03-07 14:53:56 +08:00
vis2k
0f8b06b12b cleanup 2021-03-07 14:51:10 +08:00
vis2k
306620d0d0 cleanup 2021-03-07 14:43:02 +08:00
vis2k
2e9ecd73bb cleanup 2021-03-07 14:42:01 +08:00
vis2k
f1bbdd62e7 cleanup 2021-03-07 14:40:38 +08:00
vis2k
ebcaf9a256 cleanup 2021-03-07 14:39:50 +08:00
vis2k
8f5c6c7b93 cleanup 2021-03-07 14:37:59 +08:00
vis2k
a5bc753150 cleanup 2021-03-07 13:31:35 +08:00
vis2k
b2490f9c1f cleanup 2021-03-07 13:30:14 +08:00
vis2k
85287fe642 cleanup 2021-03-07 13:28:35 +08:00
vis2k
6799868517 NetworkServer.NoConnections renamed to NoExternalConnections 2021-03-07 13:09:30 +08:00
vis2k
a744c5c5e8 cleanup 2021-03-07 13:07:17 +08:00
vis2k
382b6c67f4 cleanup 2021-03-07 13:06:26 +08:00
vis2k
2797253cc4 cleanup 2021-03-07 13:04:41 +08:00
vis2k
988bd3a51c cleanup 2021-03-07 13:03:54 +08:00
vis2k
a2f4d82dc0 NetworkServer cleanup 2021-03-07 13:02:46 +08:00
vis2k
e9b9c3819f NetworkServer cleanup 2021-03-07 13:01:34 +08:00
vis2k
e60d22b7e1 NetworkServer cleanup 2021-03-07 13:00:00 +08:00
vis2k
06ff30f42c NetworkServer cleanup 2021-03-07 12:56:29 +08:00
vis2k
f31044b23d NetworkServer clean up 2021-03-07 12:55:52 +08:00
vis2k
fdcd0b8541 NetworkServer cleanup 2021-03-07 12:44:08 +08:00
vis2k
183de927d0 NetworkServer: clean up 2021-03-07 12:42:24 +08:00
vis2k
36e04e1272 NetworkServer: remove old UNET comments, XML summary one liner 2021-03-07 12:39:58 +08:00
vis2k
7de4c07cde NetworkIdentity.Reset: update comment 2021-03-07 11:56:55 +08:00
vis2k
9d0b3bae81 ClientScene.DestroyAllClientObjects: use same syntax as NetworkServer.CleanupNetworkIdentities 2021-03-07 11:53:07 +08:00
vis2k
6447871d8f DestroyAllClientObjects/CleanupNetworkIdentities: add comments 2021-03-07 11:51:26 +08:00
vis2k
4d971c1e57 NetworkServer.CleanupNetworkIdentities: add comments 2021-03-07 11:41:43 +08:00
vis2k
11718d9521 NetworkIdentity.OnDestroy: add comment 2021-03-07 11:39:44 +08:00
vis2k
22f1754ff8 xml to comment 2021-03-07 11:38:55 +08:00
Pandanym
921a7a2fde
feat: Added bool to Discovery to disable automatic active discovery (#2580)
* Use a negative value for ActiveDiscoveryInterval to disable automatic broadcasting

If you want to extend NetworkDiscoveryBase using the templates, you may hit this problem where you want to disable the automatic discovery. But you can't without modifying the base class. This is a proposition that is not breaking for users of the NetworkDiscovery.

* Added a bool to NetworkDiscoveryBase to toggle ActiveDiscovery

* Added tooltip and made enableActiveDiscovery field public
2021-03-06 21:43:40 +08:00
vis2k
a6f6f80f65
fix: NetworkIdentity.isLocalPlayer is only set, but never reset. fixes a bug where isLocalPlayer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2615 (this is also faster than comparing ClientScene.localPlayer each time) (#2616)
* fix: NetworkIdentity.isLocalPlayer is only set, but never reset. fixes a bug where isLocalPlayer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2615 (this is also faster than comparing ClientScene.localPlayer each time)

* fix: NetworkIdentity.OnStartClient now sets isLocalPlayer early so isLocalPlayer is true in OnStartClient callbacks already
2021-03-06 19:30:16 +08:00
vis2k
1fb8990f39 breaking: remove onLocalPlayerChanged over engineering. it was added in #1920 for #1923 which was never merged. keep it simple. 2021-03-06 18:57:58 +08:00
vis2k
2d421df9c7 comment formatting 2021-03-06 18:39:38 +08:00
vis2k
89ea278036 NetworkIdentity.isClient: add comment on how it's expected to behave 2021-03-06 18:30:16 +08:00
vis2k
ee1f941290 fix: NetworkIdentity.isServer is only set, but never reset. fixes a bug where isServer would be false in OnDestroy, so some components couldn't rely on it in OnDestroy. fixes #2533 2021-03-06 18:29:25 +08:00
vis2k
b0cae3c049 comment 2021-03-06 18:09:15 +08:00
vis2k
7e00056d97 comments 2021-03-06 18:07:40 +08:00
vis2k
e7f6a3ea81 comments 2021-03-06 18:06:50 +08:00
vis2k
e4f9b2f94d NetworkIdentity.isServer: make comments readable 2021-03-06 18:04:38 +08:00
vis2k
0e0456809b NetworkIdentity.isClient: make comments readable 2021-03-06 18:02:50 +08:00
vis2k
63f96a9c4d add comment 2021-03-06 14:31:18 +08:00
vis2k
faa8f65e42 add TODO (remove SendToReady) 2021-03-06 14:31:16 +08:00
vis2k
064d30614d [Obsolete] SendToClientOfPlayer so we can remove it later. unnecessary complexity.
(it was previously used in NetworkServer.Update, but now we refactored it)
2021-03-06 14:31:13 +08:00
vis2k
b0b89d489d add TODO 2021-03-06 14:31:11 +08:00
vis2k
aa357dc58b perf: NetworkServer.Update: separate connections update loop moved into the main loop. now there is only one connections loop anymore. 2021-03-06 14:31:07 +08:00
vis2k
5775a36e49 perf: NetworkServer.Update: inactive connection check moved into the main connections foreach loop. Avoids one extra foreach-connections loop. 2021-03-06 14:31:04 +08:00
vis2k
7f0984548c syntax: NetworkServer.Update 'conn' renamed to 'connection 2021-03-06 14:31:01 +08:00
vis2k
6b83411593 syntax: CheckForInactiveConnections moved above NetworkServer.Update 2021-03-06 14:30:58 +08:00
vis2k
6cedb5b404 perf: push->pull broadcasting part 1: feature parity 2021-03-06 14:30:55 +08:00
vis2k
57d4db2e8d Compression: largest three compression from DOTSNET with safe normalized quaternions in case clients send invalid data (#2584) 2021-03-06 14:30:51 +08:00
vis2k
9232dab3a0 add preprocessordefine 2021-03-06 14:23:00 +08:00
vis2k
25ece5a0d5 fix: NetworkManager.StopServer/StopClient: avoid NullReferenceException when called in OnApplicationQuit or from tests 2021-03-06 14:22:56 +08:00
vis2k
425e3131dc fix: NetworkServer.SpawnObserversForConnection refactored to support all visibility cases (ForceShown/ForceHidden/Default) and all systems (legacy/new/default). fixes #2606 2021-03-06 14:22:52 +08:00
vis2k
a277f5c7b7 NetworkClientTests: UpdateTransport: restore original order before we changed it in 'MemoryTransport use new EarlyUpdate' commit 2021-03-04 19:09:34 +08:00
vis2k
7641aa73d4 Websockets: use new EarlyUpdate to remove warnings 2021-03-04 17:40:23 +08:00
vis2k
7e41302ca9 Telepathy: use new EarlyUpdate to remove warnings 2021-03-04 17:37:50 +08:00
vis2k
371ddc457a MemoryTransport uses new EarlyUpdate functions to remove warning 2021-03-04 17:26:52 +08:00
Raguel
c94cbe2811
Hot fix for scene rename (#2614)
Co-authored-by: Alice Loverdrive <al.zhumagali@gmail.com>
2021-03-04 17:12:09 +08:00
Robin Rolf
978a3deb7f
Add scripting define for update loop changes (#2613) 2021-03-04 17:10:48 +08:00
vis2k
96750d80d5 use icons 2021-03-03 14:30:28 +08:00
vis2k
4f58366e0f
perf: kcp Tick split into TickIncoming/Outgoing to utilize the new NetworkEarly/LateUpdate functions. minimizes latency. (#2608) 2021-03-02 19:18:18 +08:00
vis2k
5ba677118e kcp2k V1.9: Tick() split into TickIncoming()/TickOutgoing() to use in Mirror's new update
functions.
2021-03-02 18:43:11 +08:00
vis2k
b882653768 syntax 2021-03-02 15:57:30 +08:00
vis2k
b663636a5b
perf: Transport.Client/Server Early/LateUpdate to fix data races and allow transports to reduce latency by doing all receiving & sending in one frame. (#2605)
* fix: NetworkClient/Server: use the new custom NetworkLateUpdate instead of Unity's LateUpdate. fixes possible data races where other component's LateUpdate could be called before/after NetworkServer/Client LateUpdate causing non obvious data races.

* perf: Transport.Client/Server Early/LateUpdate to fix data races and allow transports to reduce latency by doing all receiving & sending in one frame.
2021-03-02 15:28:50 +08:00
vis2k
43e6fb4c53
fix: NetworkClient/Server: use the new custom NetworkLateUpdate instead of Unity's LateUpdate. fixes possible data races where other component's LateUpdate could be called before/after NetworkServer/Client LateUpdate causing non obvious data races. (#2604) 2021-03-02 15:28:30 +08:00
vis2k
edea4089e4 perf: avoid NetworkIdentity.visibility access allocations from obsolete messages when accessing .visibilityCache 2021-03-01 19:08:59 +08:00
vis2k
a2b828a511 syntax 2021-03-01 18:41:29 +08:00
vis2k
4fedf417b1
feature: add custom NetworkEarlyUpdate (before any Update/FixedUpdate), NetworkLateUpdate (after any Update/FixedUpdate/LateUpdate) loops (#2603)
* NetworkLooper helper class with explanation

* AddSystemToPlayerLoopList from ECS and tests

* rename to Append

* change function type to UpdateFunction, actually add it

* better

* use Array.Resize

* syntax

* better logging

* addmode

* better

* FindPlayerLoopEntryIndex helper to verify

* better

* disable logs

* syntax

* test for PreLateUpdate

* add at runtime

* better log

* NetworkServer/Client.Update renamed to LateUpdate to make it more obvious

* NetworkLoops call NetworkServer/Client funcs

* logs

* Unity 2019 ifdef

* disable logs

* add comment

* obsoletes

* syntax

* change

* internal
2021-03-01 17:51:42 +08:00
vis2k
5809c50c2c
NetworkPingDisplay simplified (#2602) 2021-03-01 14:28:46 +08:00
vis2k
a67fd9084b RegisterPrefab with assetId: add comment 2021-02-25 15:10:27 +08:00
vis2k
8854844a7f dontListen: add comment 2021-02-25 09:57:48 +08:00
vis2k
8d3f33081b
NetworkServer: obsolete redundant RegisterHandler version without connection parameter (#2594) 2021-02-25 09:56:02 +08:00
vis2k
1f0d9e73e1
NetworkManagerHUD.showGUI obsoleted (#2596) 2021-02-25 09:55:14 +08:00
vis2k
62b99ed9a7
breaking: ClientScene.spawnableObjects doesn't need to be public (#2597) 2021-02-25 09:54:49 +08:00
vis2k
2d188080ec syntax 2021-02-24 18:08:35 +08:00
vis2k
ac5f978b22 syntax 2021-02-24 18:08:00 +08:00
vis2k
d202024d1f syntax 2021-02-24 18:07:39 +08:00
vis2k
290811e043 syntax 2021-02-24 18:07:03 +08:00
vis2k
dd53593255 syntax 2021-02-24 17:55:33 +08:00
vis2k
49cf2569f0 Utils.IsPrefab and reuse it everywhere else 2021-02-24 17:51:25 +08:00
vis2k
2367959f54 syntax 2021-02-24 17:42:37 +08:00
vis2k
d8c1924cf8 NetworkIdentity: GetRandomUInt moved to Utils 2021-02-24 17:42:14 +08:00
vis2k
a030caad0d UNetwork.cs renamed to Utils.cs 2021-02-24 17:37:40 +08:00
vis2k
eff035a604 syntax 2021-02-24 17:35:38 +08:00
vis2k
c417d50e1c syntax 2021-02-24 17:35:17 +08:00
vis2k
598f9e78c1 syntax 2021-02-24 17:34:38 +08:00