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
vis2k
d9afbfe4c9
rename 'owner' to 'isLocalPlayer' to prepare to be less confusing ( #1185 )
2019-10-27 16:30:06 +01: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