Commit Graph

2790 Commits

Author SHA1 Message Date
MrGadget
b9653f3f19
Update ChangeLog.md 2019-11-03 10:52:58 -05:00
vis2k
db99dd7b3d fix: when modifying a prefab, Unity calls OnValidate for all scene objects based on that prefab, which caused Mirror to reset the sceneId because we only checked if a prefab is currently edited, not if THIS prefab is currently edited 2019-11-03 14:33:59 +01:00
vis2k
188b74edd6
Fallback Transport (#1198)
* Fallback Transport

* doc

* doc

* help URL

* exception

* fixed help url
2019-11-03 00:04:59 +01:00
MrGadget
2795b81e97
Moved enum 2019-11-02 01:49:46 -04:00
Paul Pacheco
f70a2ac702 refactor: Simplify spawn message (#1195)
* refactor: Simplify spawn message

* Update Assets/Mirror/Runtime/Messages.cs

* fix brainfart

* consolidate spawning logic

* simpler find

* remove unnecesary private keyword

* Remove redundant else
2019-10-31 10:07:37 +01:00
vis2k
6765da2387 Make Transport.Available() abstract (#1194)
* Make Transport.Available() abstract

* better
2019-10-30 13:02:07 -07:00
vis2k
7fe8888df5 perf: MultiplexTransport: avoid Linq allocations that would happen on every packet send because Send calls .ServerActive() each time 2019-10-30 20:18:02 +01:00
Paul Pacheco
40f50ac908 breaking: Remove localPlayerAuthority (#1192)
* breaking: Remove localPlayerAuthority (#1188)

* breaking: Remove localPlayerAuthority

This flag does not do anything useful in anything but NetworkAnimator
so NetworkAnimator can keep it's own flag.

* Add tooltip with explanation

* Editor should no longer access localPlayerAuthority property
2019-10-30 18:13:25 +01:00
Paul Pacheco
7df3ce37d1 fix: Don't throw exception getting address 2019-10-30 09:30:58 -07:00
Paul Pacheco
6cbef06e00 Simplify editor a bit 2019-10-30 05:49:04 -07:00
vis2k
d9afbfe4c9
rename 'owner' to 'isLocalPlayer' to prepare to be less confusing (#1185) 2019-10-27 16:30:06 +01:00
Paul Pacheco
d6f07cd8ac docs: it is safe to update a syncvar inside it's hook 2019-10-27 10:18:15 -05:00
vis2k
27daf3fb0b remove old comment 2019-10-27 15:01:21 +01:00
Paul Pacheco
8931944005 Destroy objects owned by this connection when disconnecting (#1179)
* Destroy objects owned by this connection when disconnecting

* How did this get here?

* Simplify keeping track of owned objects
2019-10-27 14:55:12 +01:00
Paul Pacheco
4d9e5809ee tests: unit test local connections (#1184) 2019-10-27 14:47:06 +01:00
Paul Pacheco
f94adbf09b refactor: local connections maintain their own queue (#1183)
* refactor: local connections maintain their own queue

* pass message to the counterpart connection

* Update LocalConnections.cs

* Update LocalConnections.cs
2019-10-27 14:09:54 +01:00
MrGadget
2d13512642 Remove redundant force authority (#1180) 2019-10-26 10:38:29 +02:00
Paul Pacheco
8d886ecf69 Remove leftover xmldoc parameter 2019-10-25 23:38:33 -05:00
Paul Pacheco
2ae5f0ddfc Make sure we use a connection to client for clientAuthorityOwner 2019-10-25 23:09:19 -05:00
Paul Pacheco
24a7968cc2
refactor: Split NC for clients and servers (#1175)
NetworkConnection has been broken down into:

NetworkConnection

NetworkConnectionToClient
NetworkConnectionToServer
This way each class does one thing only, instead of trying to accommodate client and server functionality in the same class.

I can't go any further than this without breaking a lot of code. Ideally we would move the connectionId down to NetworkConnectionToClient, but that will result in a lot of breaking changes.
2019-10-25 23:01:54 -05:00
MrGadget
51653ed811 Remove Authority Set (#1178) 2019-10-25 13:13:57 +02:00
Paul Pacheco
1ec8910575
perf: allocation free syncdict foreach, fix #1172 (#1174) 2019-10-23 08:40:55 -05:00
Paul Pacheco
13e4e6fe3a refactor: make it clearer that connection id is 0 or possitive 2019-10-23 07:21:20 -05:00
Paul Pacheco
035e6307f9 perf: allocation free enumerator for syncsets, fixes #1171 (#1173) 2019-10-23 11:36:52 +02:00
Paul Pacheco
ade7e76f45 This method should never be used by users 2019-10-22 20:23:48 -05:00
Paul Pacheco
745ef89e8c make it clearer that connection id can't be -1
It was already impossible for he connection id to be -1
So make it clear.
Also make sure the connection id cannot change
2019-10-22 19:48:51 -05:00
Paul Pacheco
c0a7c8a6db Users should never be creating NetworkConnections directly 2019-10-22 19:44:54 -05:00
Paul Pacheco
9dea4856ac obsolete: Players should not really use connectionId 2019-10-22 18:46:36 -05:00
MichalPetryka
4ffd5a2e06 perf: Custom IEnumerator for SyncLists to avoid allocations on foreach (#904)
* Custom IEnumerator for SyncLists to avoid allocations on foreach

* add comments and benchmark

* remove unnecessary 'private'

* syntax
2019-10-22 17:41:09 +02:00
Paul Pacheco
60b2dcb94b
refactor:use ToString() to display connections (#1170) 2019-10-22 08:34:19 -05:00
vis2k
0a22e61787 add comment 2019-10-22 15:10:25 +02:00
Paul Pacheco
94eda38803 feat: Remove Command shortcut for host mode (#1168) 2019-10-22 10:13:27 +02:00
Paul Pacheco
22b45f7a11 perf: Use RemoveAt to remove elements from lists 2019-10-21 02:20:51 -05:00
vis2k
12c5a8fdc3 Revert "feat: Add Timeout to NetworkAuthenticator (#1091)"
This reverts commit e8cc9ba27b.
2019-10-20 20:12:14 +02:00
MrGadget
e8fac8aba5 fix: Suspend server transport while changing scenes (#1169)
* Suspend transport

* fixed typo
2019-10-20 11:54:43 -05:00
MrGadget
e8cc9ba27b feat: Add Timeout to NetworkAuthenticator (#1091)
* Add timeout to NetworkAuthenticator

* Added back the using Vis removed

* updated doc

* Typo
2019-10-20 11:23:34 -05:00
MrGadget
1fc1ed2708 fix: Don't give host player authority by default (#1158)
* Don't give host player authority by default

* Same when removing authority
2019-10-20 18:01:00 +02:00
Chris Langsenkamp
9806e77718 Fixed typo 2019-10-19 23:45:52 -04:00
Paul Pacheco
eb51da0b72 simplify tests 2019-10-19 11:29:52 -05:00
Lymdun
8be06fc453 Fix comments (#1167) 2019-10-19 10:06:30 -05:00
Paul Pacheco
2db9520b54 Cleaned up some tests 2019-10-19 10:05:30 -05:00
MichalPetryka
0fde090bf2 SyncList custom Equality Comparer support (#1146) 2019-10-19 16:02:08 +02:00
Paul Pacheco
9cb309e5bc feat: Users may provide custom serializers for any type (#1153)
* feat: Users may provide custom serializers for any type

* Relax rules for rpc parameters to support user provided serializers

* Improve error messages

* Fixed component types

* Adjusted tests
2019-10-19 16:00:27 +02:00
MrGadget
ae5c92b40c Rename includeSelf to includeOwner (#1163)
* Rename includeSelf to includeOwner

* Renamed isSelf too
2019-10-19 09:47:17 +02:00
MrGadget
11b3cce123 Refresh Data For Preview Window (#1161) 2019-10-19 09:41:06 +02:00
MrGadget
0295522d5a Prevent NRE (#1162) 2019-10-19 09:39:46 +02:00
MrGadget
039abfcc81 Remove unnecessary virtuals (#1156) 2019-10-18 08:09:27 -05:00
MrGadget
c3fcf9117c
Update NetworkClient.cs
updated comment
2019-10-18 00:27:34 -04:00
Paul Pacheco
d8ce80fe0e fix: don't call hook in host if no change, fixes #1142 (#1143)
* fix: don't call hook in host if no change,  fixes #1142

* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarProcessor.cs

Co-Authored-By: MrGadget <chris@clevertech.net>

* avoid hook calls for GO and NI in host

* Update Assets/Mirror/Editor/Weaver/Processors/SyncVarProcessor.cs

* Remove check from SetSyncVarGameObject
2019-10-17 09:31:31 +02:00
Paul Pacheco
34c419ee07 Update NI and GO fields for ease of use (#1154) 2019-10-17 09:30:29 +02:00