Commit Graph

1441 Commits

Author SHA1 Message Date
vis2k
87376ae3af SendTargetRPCInternal: disallow all connections to server, not just the local client one 2019-12-29 22:07:47 +01:00
vis2k
53aa0bcc19 improve comments 2019-12-29 21:42:42 +01:00
vis2k
ee1807c85c remove empty line 2019-12-29 21:36:07 +01:00
Paul Pacheco
7258823a3c Test that OnStartServer is propagated by NI 2019-12-27 19:20:01 -06:00
Julien Heimann
3c0bc28228 feat: generate serializers for IMessageBase structs (#1353)
* Allow Weaver to add bodies to IMessageBase structs with empty de/serialize methods

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

Co-Authored-By: Paul Pacheco <paulpach@gmail.com>

* applied suggested changes

* adjusted empty method check

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

formatting

Co-Authored-By: vis2k <info@noobtuts.com>

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
Co-authored-by: vis2k <info@noobtuts.com>
2019-12-27 10:12:28 -06:00
MrGadget
b34ae51965 Replace License.txt (#1360) 2019-12-26 09:51:56 -06:00
vis2k
4cc4279d7d fix: #1359. Revert "Destroy objects owned by this connection when disconnecting (#1179)"
This reverts commit 8931944005.
2019-12-26 13:43:02 +01:00
MrGadget
8e77da3424 Call OnClientConnect in FinishLoadScene (#1357) 2019-12-26 10:07:37 +01:00
MrGadget
ba3f855c98 Add Meta Files (#1358) 2019-12-26 10:07:08 +01:00
Paul Pacheco
d7a58d25d4
fix: destroy owned objects (#1352)
* fix: destroy owned objects

fix #1346
Broken in PR #1206

alternative to #1351

* fix nre

* Simplify
2019-12-23 19:25:16 -06:00
Paul Pacheco
d83efbbd8d Test connect and send 2019-12-23 19:06:14 -06:00
Paul Pacheco
e7abf4e7c7 Test transport events 2019-12-23 18:06:00 -06:00
Paul Pacheco
fe39459181 Test ClientSend 2019-12-23 17:44:03 -06:00
Paul Pacheco
ad115af845 Test ClientDisconnect 2019-12-23 17:37:50 -06:00
Paul Pacheco
947c473a3d Test ClientConnected 2019-12-23 17:23:58 -06:00
Paul Pacheco
3e0802607a Test connecting with uri 2019-12-23 16:44:40 -06:00
Paul Pacheco
1eff4ed4e6 Test connect 2019-12-23 16:36:13 -06:00
Paul Pacheco
caece9ecde Fully initialize multiplex for testing 2019-12-23 16:29:40 -06:00
Paul Pacheco
a132a9c47a Test available method 2019-12-23 16:26:25 -06:00
Paul Pacheco
c6af3c39f7 Add NSubstitute 2019-12-23 16:19:03 -06:00
Paul Pacheco
b55cf957a8 refactor: move ninja websocket in it's own assembly 2019-12-23 16:03:09 -06:00
Paul Pacheco
885e1f4c73
test: Mocking library for testing (#1350)
* Include mocking libraries

* reimported nsubstitute dlls

* Only include as part of test assemblies
2019-12-23 14:51:20 -06:00
Paul Pacheco
9f2dca56f0 refactor: compatibility with 2019.3 2019-12-23 13:40:16 -06:00
Paul Pacheco
a800064d8a test: Test packing floats into ushort 2019-12-23 12:52:39 -06:00
Paul Pacheco
ad2bee222a test: removing pair test 2019-12-23 12:25:14 -06:00
Paul Pacheco
f12fa2f51a test: Simplify tests 2019-12-23 12:21:50 -06:00
Paul Pacheco
60cfea0d14 test: copyto tests 2019-12-23 11:37:53 -06:00
MrGadget
abd2af9001 Made loadingSceneAsync public (#1349) 2019-12-23 08:32:15 +01:00
MrGadget
58f573729f Allow Custom Scene Handling (#1329) 2019-12-22 19:59:35 +01:00
MichalPetryka
3d94f4b6c7 Remove trailing whitespace and fix encodings (#1342) 2019-12-22 11:58:52 +01:00
vis2k
307f129bd7 remove trailing whitespaces 2019-12-22 11:13:18 +01:00
vis2k
4c6805cf86 update comment 2019-12-22 11:12:45 +01:00
vis2k
45a8e6367b Telepathy updated to latest version 2019-12-22 09:33:26 +01:00
vis2k
93d3511266 add comment 2019-12-22 09:24:31 +01:00
vis2k
54498403a5
fix: potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes when using FallbackTransport. (#1331) 2019-12-22 09:18:51 +01:00
Paul Pacheco
9926472d98
feat: Chat example (#1305)
* Add chat example

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/Player.cs

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

* Change package to chat

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/ChatNetworkManager.cs

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

* Update Assets/Mirror/Examples/Chat/Scripts/ChatWindow.cs

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

* UI FIxes

* Lighting

* Fixed ScrollView

* Fixed username assignment

* removed commented line

* Layout refinement

* remove empty lines

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

* fixed which element was enabled

* Strip unprintable characters

* reverted ASCI filter

Co-authored-by: MrGadget <chris@clevertech.net>
2019-12-21 13:22:02 -06:00
vis2k
b3127beb89 fix: MultiplexTransport GetMaxMessageSize NullReferenceException when called on server. And fixes potential exploits / out of sync issues where clients with different transports might see different game states because of different max message sizes. (#1332) 2019-12-21 08:09:33 -06:00
MrGadget
9a0127aadc Remove usings (#1327)
* Removed extraneous usings

* Removed extraneous usings

* Removed extraneous usings
2019-12-21 10:26:22 +01:00
MrGadget
ea4fc93159 Add return to ClientConnect(Uri) (#1326) 2019-12-20 21:46:52 +01:00
MrGadget
0e705d4aa0 Remove all extraneous blank lines (#1325) 2019-12-20 21:46:16 +01:00
MrGadget
b479b8ee51 Put the return back in ClientConnect (#1324) 2019-12-20 21:16:45 +01:00
MrGadget
1be4de3f63 Adjust cameras for server view (#1318) 2019-12-19 08:06:00 +01:00
Chris Langsenkamp
a5d369f96c fixed comment 2019-12-18 16:53:09 -05:00
MrGadget
abf5cdcf36 feat: Add roomPlayer parameter to OnRoomServerCreateGamePlayer (#1317)
* Adds roomPlayer parameter to OnRoomServerCreateGamePlayer

* fixed template
2019-12-17 10:16:14 +01:00
vis2k
6fb8a32f5b
remove NetworkIdentityEditor because it's not really needed after removing local player authority (which required special checks to only show one option at a time). Also fixes #1289 (#1309) 2019-12-16 08:50:47 +01:00
Paul Pacheco
a2e17108b6 display the whole connection 2019-12-13 08:03:15 -06:00
Paul Pacheco
dbe064393a
fix: error when there are no network behaviors (#1303)
Use the lazy network behaviors cache everywhere, so this can never be null
2019-12-12 20:28:31 -06:00
MrGadget
ca4ff9b6b2 Fix Delayed Disconnect (#1302) 2019-12-12 20:02:23 -06:00
MrGadget
3684033f6a Restore clientAuthorityCallback (#1298) 2019-12-12 19:31:11 -06:00
MrGadget
c6678eb3f1 No point in calling this here (#1300) 2019-12-12 19:30:40 -06:00
MrGadget
a18d6b5eaa Unused field (#1299) 2019-12-12 19:11:20 -06:00
Paul Pacheco
e4a701ed4e feat: fallback transport now supports uri (#1296) 2019-12-10 17:13:32 +01:00
Paul Pacheco
c206f9ad97 feat: Multiplex based on url (#1295)
If the multiplex transport receives an url for connection,
try all the underlying transports until it finds a suitable one

For example,  let's say you configure a multiplex transport with telepathy and websocket,  if you try:
```cs
NetworkManager.StartClient("tcp4://host:port");
```

then the multiplex transport will use telepathy.

if we pass:
```cs
NetworkManager.StartClient("ws://host:port");
```

then the multiplex transport will select websocket
2019-12-10 07:36:42 +01:00
Paul Pacheco
7865a840b6 feat: LLAPI transport can receive port from uri (#1294)
* feat: LLAPI transport can receive port from uri

* Refactor to use the original method
2019-12-09 21:52:50 +01:00
Paul Pacheco
c8ad118d50 feat: websocket can receive port in url (#1287)
* feat: websocket can now receive port and encryption setting from uri

* check for ws or wss scheme
2019-12-09 16:52:39 +01:00
Paul Pacheco
06946cf37f feat: telepathy can now receive port from uri (#1284)
* feat: telepathy can receive port from uri

* Use configured port if the url does not have one

* use tcp4 as scheme for telepathy

* don't change default port

* Update TelepathyTransport.cs

* Update TelepathyTransport.cs
2019-12-08 19:48:26 +01:00
vis2k
e766f7b511 Update list server header text 2019-12-08 09:08:35 +01:00
Tor Esa Vestergaard
a0425e4e84 fix: Draw SyncVar label for Unity objects inline (#1291)
* SyncVar label for Unity objects is now drawn inline instead of on the next line

* Made syncVarIndicatorContent static

Did it since there's no need to have that allocation per editor instance.
2019-12-07 14:29:14 +01:00
MrGadget
c8aabd246a Fix Inspector Refresh (#1290) 2019-12-07 09:20:31 +01:00
MrGadget
7843b12f7f Make startPositionIndex public (#1288)
* Make startPositionIndex public

startPositions is a public list, so the index should be too.

* Update NetworkManager.cs

* Update NetworkManager.cs
2019-12-06 06:55:38 +01:00
Paul Pacheco
f9d34d5863
feat: Mirror now supports message inheritance (#1286)
* test: child messages should serialize parent's data

* feat: Mirror now supports inheritance for messages
2019-12-05 11:21:42 -06:00
Paul Pacheco
7e4023246b fix: Don't set asset id for scene objects
Fixes this warning:
```
SetDynamicAssetId object already has an assetId <68fb15ce5f2e7eb44a8ac123d853b91a>
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Mirror.NetworkIdentity:set_assetId(Guid) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkIdentity.cs:165)
Mirror.ClientScene:ApplySpawnPayload(NetworkIdentity, SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\ClientScene.cs:470)
Mirror.ClientScene:OnSpawn(SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\ClientScene.cs:529)
Mirror.<>c__DisplayClass35_0`1:<RegisterHandler>b__0(NetworkConnection, SpawnMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkClient.cs:400)
Mirror.<>c__DisplayClass7_0`1:<MessageHandler>b__0(NetworkMessage) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\MessagePacker.cs:163)
Mirror.NetworkConnection:InvokeHandler(Int32, NetworkReader, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkConnection.cs:271)
Mirror.NetworkConnection:TransportReceive(ArraySegment`1, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkConnection.cs:325)
Mirror.NetworkClient:OnDataReceived(ArraySegment`1, Int32) (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\NetworkClient.cs:149)
UnityEngine.Events.InvokableCall`2:Invoke(ArraySegment`1, Int32)
UnityEngine.Events.UnityEvent`2:Invoke(ArraySegment`1, Int32)
Mirror.TelepathyTransport:ProcessClientMessage() (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\Transport\TelepathyTransport.cs:79)
Mirror.TelepathyTransport:LateUpdate() (at D:\Unity\Projects\TestUmmorpg\Assets\uMMORPG\Plugins\Mirror\Runtime\Transport\TelepathyTransport.cs:106)
```
2019-12-05 05:15:43 -06:00
Paul Pacheco
00b51364ac improve warning message 2019-12-05 05:12:44 -06:00
Paul Pacheco
7c3622cfae feat: new way to connect using uri (#1279)
* feat: new way to connect using uri

* set the host name when starting by url
2019-12-05 11:57:24 +01:00
Paul Pacheco
0e1bc8110f
fix: ReplacePlayer now calls OnStartLocalPlayer (#1280)
* fix: ReplacePlayer now calls OnStartLocalPlayer

fixes #962

* fix: replace player cannot steal another player
2019-12-04 14:54:50 -06:00
MrGadget
b23cfc739d Fix ServerChangeScene (#1281) 2019-12-04 14:49:33 -06:00
MrGadget
555d0d9cc0 Add true for keepAuthority (#1277) 2019-12-03 08:49:11 +01:00
vis2k
13e2dcccd9
breaking: SyncList.Callback passes old and new entries instead of only passing one entry which is sometimes the old, sometimes the new entry. This is more consistent and it's very useful to know the previous value in a hook for OP_SET and OP_DIRTY. (#1273)
* feature: SyncList.Callback passes old and new entries instead of only passing one entry which is sometimes the old, sometimes the new entry. This is more consistent and it's very useful to know the previous value in a hook for OP_SET and OP_DIRTY.

* update tests

* update docs
2019-12-03 08:35:41 +01:00
vis2k
97e838b932 SyncDictionary: remove unused OP_DIRTY operations 2019-12-03 08:17:55 +01:00
vis2k
4b9dcbf9f4 SyncList: remove unused OP_DIRTY operations 2019-12-03 08:16:44 +01:00
vis2k
c5079ada6c
remove SyncDictionary.Dirty function because it's unused and we removed it for SyncList already too (#1272) 2019-12-03 08:12:12 +01:00
Paul Pacheco
ad724fe23c fix: replace player (remove authority by default) (#1261)
* fix: remove authority properly in replace player

This is an alternative to #1257

Now the user can pass a parameter to ReplacePlayer to indicate
that the old player should remain attached to the connection.

Note the user could simply pass true and then call RemoveAuthority themselves
which was the approach in #1257

Personally I would prefer #1257,  but this is at least better than
master because authority is removed the proper way.

* Update NetworkServer.cs
2019-12-03 08:11:39 +01:00
MrGadget
8012972b0e Removed non-implemented overload (#1276) 2019-12-03 08:01:52 +01:00
vis2k
1eae07fa2c remove unused SyncList.Dirty function 2019-12-02 11:50:18 +01:00
MrGadget
7898dc2347 Restore Room Player Authority (#1267) 2019-12-02 08:48:27 +01:00
MrGadget
1ed12dba79 Require Network Transform (#1269) 2019-12-02 06:41:07 +01:00
MrGadget
42a4a7cb00 Add Return button to Room Manager (#1268)
* Add Return button to Room Manager

* Simplified GUI

* Fixed height
2019-12-02 06:40:55 +01:00
MrGadget
cddef72b41 Move scoring to PlayerScore (#1266) 2019-12-02 06:40:11 +01:00
MrGadget
e6f8f3c46f Improve Turn and Jump (#1265) 2019-12-02 06:39:56 +01:00
Paul Pacheco
8899d20712
fix: Additive scene can respawn objects safely (#1270)
* fix: Additive scene can respawn objects safely

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: MrGadget <chris@clevertech.net>
2019-12-01 22:48:08 -06:00
Paul Pacheco
c753089478
fix: don't call OnStartLocalPlayer twice (#1263) 2019-12-01 09:55:57 -06:00
Paul Pacheco
4d373c5071
fix: call OnStartClient only once in room (#1264) 2019-12-01 09:55:38 -06:00
Paul Pacheco
2195fee81c fix: set authority when replacing the player 2019-11-30 07:09:06 -06:00
Paul Pacheco
c58ead16a6 Remove unused method 2019-11-29 23:10:25 -06:00
MrGadget
e8841a3c1d
Merge pull request #1259 from paulpach/fix2clients
fix: issue with more than 1 client
2019-11-29 19:58:07 -05:00
Paul Pacheco
095b54752a isClient is already true, so make sure to initialize the objects 2019-11-29 18:23:46 -06:00
Paul Pacheco
ab73fbcf7a
Simplify isServer (#1258) 2019-11-29 18:06:44 -06:00
Chris Langsenkamp
55dabf2755 Updated Templates 2019-11-29 18:44:55 -05:00
Paul Pacheco
4816f0ead1
Spawn host objects via spawn, just like clients (#1248)
* Spawn host objects works via messages just like clients

* fix spawning local player

* Do not call OnStartClient twice
2019-11-29 17:25:32 -06:00
Paul Pacheco
b8618d356f Revert "fix: replacing the player does not mean giving up authority (#1254)"
This reverts commit a2c273ecd1.
2019-11-29 16:04:06 -06:00
Paul Pacheco
fb26d0023f
fix: isLocalPlayer is true during OnStartClient for Player (#1255)
related to #1250 but for client mode.

Before:

```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

After:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
2019-11-29 15:40:38 -06:00
Paul Pacheco
a2c273ecd1
fix: replacing the player does not mean giving up authority (#1254) 2019-11-29 15:02:55 -06:00
Paul Pacheco
9acde20b0a
fix: isLocalPlayer works in host mode onStartServer (#1253)
See #1250

Before:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

after

```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=True
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=True
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

Note it is not possible to fix Awake because it gets called before we
have any chance of setting any property
2019-11-29 14:34:07 -06:00
Paul Pacheco
d00c95bb55
fix: isClient now reports true onStartServer in host mode (#1252) 2019-11-29 14:10:46 -06:00
Paul Pacheco
2f19c7ca89
fix: hasAuthority is now visible in all overrides (#1251)
See #1250

Before:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=False isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```

After:
```
Void Awake() hasAuthority=False isClient=False isLocalPlayer=False
Void OnStartServer() hasAuthority=True isClient=False isLocalPlayer=False
Void OnStartClient() hasAuthority=True isClient=True isLocalPlayer=False
Void OnStartAuthority() hasAuthority=True isClient=True isLocalPlayer=True
Void OnStartLocalPlayer() hasAuthority=True isClient=True isLocalPlayer=True
Void Start() hasAuthority=True isClient=True isLocalPlayer=True
```
2019-11-29 13:09:46 -06:00
Paul Pacheco
7aa7815754 fix: Call hooks when initializing objects OnStartServer on host (#1249) 2019-11-29 15:12:06 +09:00
Paul Pacheco
7119dd15f8
fix: Do not call InternalAddPlayer twice (#1246) 2019-11-28 13:47:31 -06:00
MrGadget
4c0fb9ba34 Simplified Spawner (#1244) 2019-11-28 10:35:23 -06:00
MrGadget
d0c0f394f7 Auto Assign Character Controller (#1245) 2019-11-28 10:34:18 -06:00
MrGadget
d963e29d95 Made RandomColor a Separate Component (#1240)
* Made RandomColor a separate component

* Adjusted Prefab

* Simplified OnValidate

* Reverted unrelated changes
2019-11-28 09:42:46 -06:00
Chris Langsenkamp
c89ba52e3d Change to using Color32 2019-11-27 21:32:25 -05:00
Paul Pacheco
a282c32394 clearer comment 2019-11-27 18:18:59 -06:00
Paul Pacheco
9a2ff84440 space in comment 2019-11-27 18:17:32 -06:00
Paul Pacheco
888e46c685 fix: OnSetHostVisibility can now check if it has authority 2019-11-27 17:53:30 -06:00
vis2k
d2075002ca improve comment 2019-11-25 19:15:04 +09:00
vis2k
91fc3c25db remove trailing whitespace 2019-11-25 19:11:55 +09:00
vis2k
ba88ca6ab5 explain the special case in RebuildObservers 2019-11-25 19:11:47 +09:00
Chris Langsenkamp
fad50818bf Added AddComponentMenu empties and namespace 2019-11-24 14:35:19 -05:00
Chris Langsenkamp
37e5b49f28 Removed extraneous comments 2019-11-24 09:46:41 -05:00
Chris Langsenkamp
210540b669 Fixed Obsolete comment 2019-11-24 08:38:47 -05:00
Paul Pacheco
3b9414f131 perf: spawn with client authority only takes 1 message (#1206)
* perf: spawn with client authority only takes 1 message now

* Fix javadocs and warning

* Rename parameters

* Make sure we spawn players with authority
2019-11-24 10:22:43 +09:00
Paul Pacheco
5b04836bb2 fix: spawnwithauthority works again in host mode 2019-11-24 10:16:15 +09:00
Paul Pacheco
92d0df7b39 feat: SyncToOwner now works with authority (#1204)
* WIP redoing authority

* Local client also handles authority

* Remove unused callback

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

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

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Rename pendingOwner

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: vis2k <info@noobtuts.com>
2019-11-23 15:07:00 +09:00
Paul Pacheco
24d8368b38 refactor: reuse connectionToClient for authority (#1200)
* refactor: reuse connectionToClient for authority

* Fix compilation issue

* Make PR easier to read

* Better error message

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

Co-Authored-By: MrGadget <chris@clevertech.net>
2019-11-23 15:00:53 +09:00
Paul Pacheco
876da8bbcd refactor: Simplify spawning 2019-11-23 14:54:37 +09:00
MrGadget
1e96cb7a8a Replaces SpawnWithClientAuthority with Spawn Overloads (#1233)
* Replaces SpawnWithClientAuthority with Spawn Overloads

* Cleaned up comments and log messages
2019-11-23 14:26:27 +09:00
vis2k
e847344bde syntax 2019-11-23 11:59:04 +09:00
vis2k
f0cf4e7e14 Replace 'local client' naming with 'host' to be less confusing. This breaks NetworkProximityChecker.OnSetLocalVisibility because it needs to be renamed to OnSetHostVisibility
* rename parameter

* obsolete

* rename parameter
2019-11-23 11:34:47 +09:00
Paul Pacheco
1d4b1faac2 docs: fix link to spawn custom player 2019-11-23 11:03:27 +09:00
Paul Pacheco
0bc151bb27 Obsolete built in messages 2019-11-23 11:03:18 +09:00
Paul Pacheco
c669ff155d perf: avoid allocation for error messages 2019-11-23 11:03:08 +09:00
vis2k
1c7c54305d add missing meta file 2019-11-23 11:00:49 +09:00
Chris Langsenkamp
638b445744 Update Prefabs After LocalPlayerAuthority Removed 2019-11-23 10:59:52 +09:00
MrGadget
8cf6a0707e feat: Script Templates (#1217)
* Add Script Templates

* Moved serialization section down

* Added comments to Awake & Start

* Capitalization

* meta files

* Added doc links and XML comments
2019-11-23 10:59:38 +09:00
Chris Langsenkamp
477028913a Update Prefabs After LocalPlayerAuthority Removed 2019-11-23 10:59:21 +09:00
Chris Langsenkamp
1699335aaa fixed comment 2019-11-23 10:59:12 +09:00
Paul Pacheco
d741baed78 feat: Pass all information to spawn handler (#1215) 2019-11-23 10:57:52 +09:00
ZacNorthBigBox
701f4f4183 fix: Pass the name of the invoking class and desired command when an object has no authority. (#1216) 2019-11-23 10:57:45 +09:00
Paul Pacheco
2c58902357 Code style 2019-11-23 10:57:40 +09:00
Paul Pacheco
2081a757ea Remove unused connection id cache
Good find by MrGadget
2019-11-23 10:57:32 +09:00
Paul Pacheco
2d4d4109bb Make list cache readonly 2019-11-23 10:57:25 +09:00
Paul Pacheco
c2096d0fb7 Available transport is determined at connection time (#1213)
* Available transport is determined at connection time

* Update MultiplexTransport.cs
2019-11-23 10:57:11 +09:00
Paul Pacheco
ce305d95fc Removed unused code 2019-11-23 10:57:09 +09:00
Paul Pacheco
15e03d9bbf Removed unused code 2019-11-23 10:57:06 +09:00
Paul Pacheco
7ba4bc3590 use C# formatter 2019-11-23 10:56:53 +09:00
Paul Pacheco
09f6892c55 feat: An authenticator that times out other authenticators (#1211)
* feat: An authenticator that times out other authenticators

* Clean up some spaces

* Add tooltip for timeout
Disable timeout with 0

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Remove space

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

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

* use float for time

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs

* Update Assets/Mirror/Authenticators/TimeoutAuthenticator.cs
2019-11-23 10:56:51 +09:00
Chris Langsenkamp
d821013deb Added HelpURL to NetworkBehaviour 2019-11-23 10:56:22 +09:00
Chris Langsenkamp
e33f2e84cb Updated summary comments 2019-11-23 10:56:04 +09:00
Paul Pacheco
bf9eb610dc feat: NetworkConnection is optional for handlers (#1202)
* feat: NetworkConnection is optional for handlers

* make NetworkConnction optional in handlers
2019-11-23 10:52:24 +09:00
Paul Pacheco
12fd2ae6fc Remove redundant namespace 2019-11-23 10:52:12 +09:00
Paul Pacheco
236dcb6734 remove redundant type parameter 2019-11-23 10:52:02 +09:00
Paul Pacheco
1531281516 Enforce proper type for connectionToClient 2019-11-23 10:51:50 +09: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
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