Commit Graph

1848 Commits

Author SHA1 Message Date
vis2k
6b35bf0133 NetworkIdentity.OnNetworkDestroy moved upwards and catches exceptions now too 2020-02-28 16:55:14 +01:00
vis2k
62c5cf4b14 fix error log 2020-02-28 16:54:55 +01:00
vis2k
5ed5f84409 fix: NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called 2020-02-28 16:33:59 +01:00
vis2k
4926bb818a add comments 2020-02-28 16:32:48 +01:00
vis2k
fc7d2e8df6 NetworkIdentity: OnStartLocalPlayer moved next to OnStartClient 2020-02-28 16:31:39 +01:00
vis2k
1c356bff44 NetworkIdentity: remove redundant OnUpdateVars function 2020-02-28 16:26:05 +01:00
vis2k
782848094b NetworkIdentityTests: OnStartLocalPlayer 2020-02-28 16:23:14 +01:00
vis2k
bbaad910f7 NetworkIdentityTests: OnDeserializeSafelyShouldDetectAndHandleDeSerializationMismatch 2020-02-28 16:10:48 +01:00
vis2k
fe7c1c7f50 improve previous test 2020-02-28 15:43:01 +01:00
vis2k
0df42ebf75 NetworkIdentityTests: OnSerializeAllSafelyShouldDetectTooManyComponents 2020-02-28 15:41:34 +01:00
vis2k
bfe09ab141 NetworkIdentityTests: OnSerializeAndDeserializeAllSafely 2020-02-28 15:35:37 +01:00
vis2k
a5269b4261 NetworkIdentityTests: OnCheckObserver 2020-02-28 11:58:51 +01:00
vis2k
f21b80b8b0 NetworkIdentityTests: OnSetHostVisibilityCallsComponentsAndCatchesExceptions 2020-02-27 10:23:44 +01:00
vis2k
cd4e39729e NetworkIdentityTests: NotifyAuthorityCallsOnStartStopAuthority 2020-02-27 10:19:16 +01:00
vis2k
44addfa336 NetworkIdentityTests: rename 2020-02-27 10:10:54 +01:00
vis2k
47b1aa7400 NetworkIdentityTests: OnStopAuthorityComponentExceptionIsCaught 2020-02-27 10:10:07 +01:00
vis2k
b62487cf87 NetworkIdentity.OnStopAuthority made internal for consistency with OnStartServer/OnStartClient, and so that we can test it 2020-02-27 10:08:45 +01:00
vis2k
e87c1d6a26 add comments 2020-02-27 10:08:36 +01:00
vis2k
85aae6482d NetworkIdentityTests: OnStartAuthorityComponentExceptionIsCaught 2020-02-27 10:06:56 +01:00
vis2k
0965283c53 NetworkIdentity.OnStartAuthority made internal for consistency with OnStartServer/OnStartClient, and so that we can test it 2020-02-27 10:06:46 +01:00
vis2k
6183cae611 NetworkIdentityTests: OnStartClient test makes sure that OnStartClient was called exactly once 2020-02-27 10:05:07 +01:00
vis2k
f6c8e0e89e NetworkIdentityTests: OnStartServer test makes sure that OnStartServer was called exactly once 2020-02-27 10:04:58 +01:00
vis2k
617bd0a175 NetworkIdentity.OnStartClient: added comment 2020-02-27 09:53:24 +01:00
vis2k
53499f031f NetworkIdentityTests: OnStartClientComponentExceptionIsCaught 2020-02-27 09:53:24 +01:00
Paul Pacheco
59faa81926
fix: build in IL2CPP (#1524)
The weaver generated code now builds properly under IL2CPP
fixes #1519
fixes #1520
2020-02-26 18:02:14 -06:00
vis2k
ae451e6fe0 NetworkIdentityTests: OnStartServerInHostModeSetsIsClientTrue to make sure that isClient is true in OnStartServer if in host mode. we fixed the bug recently, now we have a test too 2020-02-26 22:08:47 +01:00
vis2k
6f3c286a62 Tests: MemoryTransport for easier testing 2020-02-26 21:56:55 +01:00
vis2k
89859c9fd4 NetworkIdentityTests: OnStartServerComponentExceptionIsCaught 2020-02-26 20:01:21 +01:00
vis2k
1b624f12e0 add comment 2020-02-26 19:55:27 +01:00
vis2k
42c0128f18 NetworkIdentityTests: OnValidateSetupIDsSetsEmptyAssetIDForSceneObject 2020-02-26 19:42:01 +01:00
vis2k
a0f798f65f NetworkIdentityTests: SetSceneIdSceneHashPartInternal 2020-02-26 19:34:35 +01:00
vis2k
12d2c68301 NetworkIdentityTest: make sure that it's added to sceneId dict too 2020-02-26 19:25:20 +01:00
vis2k
8ca4deb61d NetworkIdentityTests: AssignSceneID 2020-02-26 19:23:32 +01:00
vis2k
4b430d98f7 NetworkIdentityTests: RemoveObserverInternal 2020-02-26 19:12:34 +01:00
vis2k
4d2c81e12e NetworkIdentityTests: SetClientOwner test to make sure the previous commit's bug doesn't happen again 2020-02-26 18:30:55 +01:00
vis2k
548db52fdf fix: NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. 2020-02-26 18:30:30 +01:00
vis2k
1a9625ee4a NetworkIdentity.SetClientOwner: improve error message 2020-02-26 18:28:57 +01:00
vis2k
4269cfe43c NetworkIdentityTests: cleanup spawned dict too 2020-02-26 18:19:11 +01:00
vis2k
ebe12b6cdb NetworkIdentityTest: GetSetAssetId 2020-02-26 18:15:14 +01:00
vis2k
22ee387470 NetworkIdentityTests: proper GameObject cleanup 2020-02-26 18:12:45 +01:00
vis2k
66776a744d NetworkServer.UnSpawn test 2020-02-26 17:40:07 +01:00
vis2k
29fe487954 NetworkIdentity.IsMarkedForReset helper function to check reset state 2020-02-26 17:39:57 +01:00
vis2k
8a05826ca4 NetworkServerTest.SpawnObject: make sure that it doesn't touch non-scene-objects 2020-02-26 17:30:19 +01:00
vis2k
708d7838d6 NetworkServerTest: SpawnObjects 2020-02-26 17:20:35 +01:00
vis2k
d4d524dad2 fix: NetworkServer.SpawnObjects: return false if server isn't running 2020-02-26 17:16:38 +01:00
vis2k
cdfc1752f2 NetworkServerTest: ValidateSceneObject 2020-02-26 17:08:36 +01:00
vis2k
e409ed8f48 NetworkServer.ValidateSceneObject made internal so it can be tested and reused if needed 2020-02-26 17:01:31 +01:00
vis2k
1be758b12b syntax 2020-02-26 17:01:10 +01:00
vis2k
c8fbea387d update comment 2020-02-26 16:57:09 +01:00
vis2k
bba4ebd154 NetworkServerTest: CommandTest tries invalid netid and command without authority too 2020-02-26 10:27:36 +01:00
vis2k
038e3c1969 NetworkServerTest: HideForConnection 2020-02-26 10:14:42 +01:00
vis2k
9bdfb676e3 NetworkServerTest: ShowForConnection 2020-02-26 10:11:00 +01:00
vis2k
5cdf02b258 NetworkServerTest: GetNetworkIdentity 2020-02-25 22:25:47 +01:00
vis2k
67a2a85cb9 NetworkServer.GetNetworkIdentity made internal so it can be tested and reused in other places if needed 2020-02-25 22:25:39 +01:00
vis2k
e7c9dc4f6e NetworkServerTest: SendToClientOfPlayer 2020-02-25 22:13:58 +01:00
vis2k
c2afc05692 NetworkServerTest: RegisterUnregisterClearHandlerTest 2020-02-25 22:07:44 +01:00
vis2k
212af3fc9d NetworkServerTest: RegisterHandlerTest 2020-02-25 22:01:48 +01:00
vis2k
d4f21c0818 remove unused var 2020-02-25 11:53:04 +01:00
vis2k
48bdc68906 NetworkServerTest: SendToAllTest 2020-02-25 11:35:15 +01:00
vis2k
4596b19dd9 fix: SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:14:26 +01:00
vis2k
4b90aafe12 fix: SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:13:59 +01:00
vis2k
4267983139 fix: SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:13:38 +01:00
vis2k
a497803de0 NetworkServerTests: use call counts instead of bools to make sure that it's called exactly once 2020-02-25 11:00:35 +01:00
vis2k
69bb1574f0 NetworkServerTest: ActivateHostSceneCallsOnStartClient 2020-02-25 10:36:40 +01:00
vis2k
f378333000 NetworkServer.ActivateLocalClientScene renamed to ActivateHostScene because that's what it really does. It does NOT do something for every local client on a client. Only for a host. 2020-02-25 10:31:30 +01:00
vis2k
5efaa4af1a CommandMessageCallsCommandTest: use two components to make sure that the correct one is used by the command 2020-02-24 15:44:05 +01:00
vis2k
1315bd3dde CommandMessageCallsCommandTest: proper usage of weaver generated command code (static!) 2020-02-24 15:40:06 +01:00
vis2k
6d2b4eb102 remove comment 2020-02-24 15:37:31 +01:00
vis2k
e6b12133d1 remove comment 2020-02-24 15:35:46 +01:00
vis2k
3eb1e8968c add comment 2020-02-24 15:35:16 +01:00
vis2k
02c31d0805 NetworkServerTest: CommandMessageCallsCommandTest to run a full command through our pipeline 2020-02-24 15:31:53 +01:00
vis2k
e9c6f6f2a9 NetworkBehaviour.GetMethodHash made internal for tests 2020-02-24 15:31:53 +01:00
vis2k
e6cd2e2280 NetworkBehaviour.RegisterRpc/Command/EventDelegate made public for tests. internal won't work because they are called from outside assemblies like NetworkTransform. protected won't work because then we can't test them from the outside. 2020-02-24 15:31:53 +01:00
vis2k
31af385a70 NetworkBehaviour.ClearDelegates added for tests 2020-02-24 15:31:53 +01:00
vis2k
215e973903 NetworkServerTest: ReadyMessageSetsClientReadyTest 2020-02-24 14:46:58 +01:00
vis2k
dc29106370 NetworkServerTest.TearDown rests state 2020-02-24 14:32:41 +01:00
vis2k
ea0b20636b NetworkServerTest: SetAllClientsNotReadyTest 2020-02-24 14:31:30 +01:00
vis2k
012c053597 NetworkServerTest: SetClientReadyAndNotReadyTest 2020-02-24 11:26:19 +01:00
vis2k
3bd947a973 NetworkServerTest: OnDataReceivedInvalidConnectionIdTest 2020-02-24 11:17:53 +01:00
vis2k
e49f4e0aff NetworkServerTest: OnDataReceivedTest 2020-02-24 11:14:11 +01:00
vis2k
ad0d20144a NetworkServerTests: ConnectDuplicateConnectionIdsTest 2020-02-24 10:51:04 +01:00
vis2k
9c325abbd8 NetworkServerTests: OnConnectedOnlyAllowsGreaterZeroConnectionIdsTest 2020-02-24 10:48:39 +01:00
vis2k
47a4ac7ff7 NetworkServerTest: SetLocalConnectionTest checks overwrite too 2020-02-24 10:43:19 +01:00
Paul Pacheco
f0a993c106
fix: properly detect NT rotation (#1516) 2020-02-23 20:46:06 +01:00
MrGadget
8417465413
Make StartHost Not virtual (#1513) 2020-02-23 14:40:06 +01:00
vis2k
1cce3164b9 NetworkServerTest: DisconnectAllTest 2020-02-23 11:43:08 +01:00
vis2k
357ad0ffb6 add comment 2020-02-23 11:40:47 +01:00
vis2k
a57a46764e NetworkServerTest: DisconnectAllConnectionsTest 2020-02-23 11:40:01 +01:00
vis2k
fe1b158b22 NetworkServerTest: RemoveLocalConnectionTest 2020-02-23 11:36:14 +01:00
vis2k
ad0442be02 NetworkServerTest: RemoveConenctionTest 2020-02-23 11:30:58 +01:00
vis2k
8b16c7c343 NetworkServerTest: AddConnectionTest tests duplicate too 2020-02-23 11:29:08 +01:00
vis2k
12faf65d18 NetworkServerTest: AddConnectionTest 2020-02-23 11:25:20 +01:00
vis2k
a0d6a02a99 NetworkServer.Reset made obsolete 2020-02-23 11:20:42 +01:00
vis2k
5de22d2ff2 NetworkServerTests: ShutdownCleanupTest improved 2020-02-23 11:18:54 +01:00
vis2k
45ba9a9939 syntax 2020-02-23 11:17:40 +01:00
vis2k
7b6f1326eb NetworkServertest: LocalClientActiveTest 2020-02-23 11:17:17 +01:00
vis2k
1e198e4bcc remove unnecessary assert 2020-02-23 11:16:05 +01:00
vis2k
7333cc8f46 NetworkServerTest: SetLocalConnectionTest 2020-02-23 11:15:03 +01:00
vis2k
ec23c1fc58 NetworkServerTests: ShutdownCleanupTest 2020-02-23 11:13:11 +01:00
vis2k
ab98846566 NetworkServerTest: ConnectionsDictTest 2020-02-23 11:06:35 +01:00
vis2k
933ce4a3d5 NetworkServerTests: DisconnectMessageHandlerTest 2020-02-23 11:02:05 +01:00
vis2k
77929e9aa0 NetworkServerTests: ConnectMessageHandlerTest 2020-02-23 11:00:16 +01:00
vis2k
b1ff0757ee NetworkServerTest: MaxConnectionsTest 2020-02-23 10:58:07 +01:00
vis2k
f750d77a8c NetworkServerTests: IsActiveTest 2020-02-23 10:19:38 +01:00
Chris Langsenkamp
e1d1d41ed6 fix: Room example to use new override 2020-02-23 02:43:53 -05:00
Chris Langsenkamp
b5dfcf45bc feat: Added NetworkConnection to OnRoomServerSceneLoadedForPlayer 2020-02-22 18:46:47 -05:00
Chris Langsenkamp
b39b4ffc62 Removed extraneous blank line 2020-02-22 17:40:58 -05:00
MrGadget
f53b12b2f7
feat: Cosmetic Enhancement of Network Manager (#1512)
* Cosmetic enhancement to Network Manager

* Removed region block
2020-02-22 20:25:46 +01:00
Chris Langsenkamp
8487be877d Added missing blank line 2020-02-20 19:45:27 -05:00
MrGadget
8bf6690312
Remove Redundant Set of mode = Offline (#1510)
* Remove redundant code

* Removed blank line
2020-02-20 19:19:28 +01:00
MrGadget
b33515ba8f
Rearranged StartHost methods (#1506)
* Rearranged StartHost methods

* Added braces

* Moved and added comments.

* moved finishStartHostPending per Vis2k request
2020-02-20 12:58:58 +01:00
MrGadget
b8bcd9ad25
fix: Add missing channelId to NetworkConnectionToClient.Send calls (#1509)
* fix: Add missing channelId to NetworkConnectionToClient.Send calls

* Updated ChangeLog

* Added braces

* Found one more
2020-02-20 09:51:03 +01:00
MrGadget
61fdd892d9
fix: return & continue on separate line (#1504)
* fix: return & continue on separate line

* Update Assets/Mirror/Runtime/Transport/Telepathy/Server.cs
2020-02-17 16:48:41 +01:00
MrGadget
ecc0659b87
feat: Check for client authority in NetworkAnimator Cmd's (#1501) 2020-02-15 16:18:01 +01:00
MrGadget
8b359ff6d0
feat: Check for client authority in CmdClientToServerSync (#1500) 2020-02-15 08:33:14 +01:00
MrGadget
7bb80e3b79
feat: NetworkSceneChecker use Scene instead of string name (#1496)
* NetworkSceneChecker use Scene instead of string name

* Added comment
2020-02-15 08:32:34 +01:00
MrGadget
4c4a52bff9
fix: Host Player Ready Race Condition (#1498) 2020-02-15 08:32:12 +01:00
Chris Langsenkamp
1662c5a139 fix: Fixed NetworkRoomManager Template 2020-02-14 00:45:04 -05:00
Chris Langsenkamp
853e5ab7d7 Simplified Additive example code 2020-02-12 20:09:37 -05:00
Chris Langsenkamp
e467921377 fixed obsolete comment 2020-02-11 11:55:22 -05:00
Chris Langsenkamp
79708d94a2 breaking: bump version to 10 2020-02-11 09:39:06 -05:00
MrGadget
0e80e1996f
feat: Block Play Mode and Builds for Weaver Errors (#1479)
* WIP first draft

* Much closer now

* Whoop! There it is!

* Added comment

* Restore Player

* Moved WeaveFailed back where it was

* Restore delegate wireup

* Moved the delegate wireup and added comments

* Formatted comment and error message

* Added comment

* Use a separate session bool

* Code formatting

* Delete Mirror.Editor.asmdef

* Add Debug

* No WeaveExistingAssemblies

* Revert "No WeaveExistingAssemblies"

This reverts commit 50d4790ee4.

* Revert "Add Debug"

This reverts commit 185b403361.

* Revert "Delete Mirror.Editor.asmdef"

This reverts commit f7647cce3f.

* Update Assets/Mirror/Editor/Mirror.Editor.asmdef

* Update Assets/Mirror/Editor/Mirror.Editor.asmdef

* reverted changes to Mirror.Editor.asmdef

* Re-applied change to Mirror.Editor.asmdef

* commented Debug line
2020-02-10 23:23:34 +01:00
MrGadget
bb55baa679
feat: Disposable PooledNetworkReader / PooledNetworkWriter (#1490)
* Inherit IDisposable

* using NetworkWriter from pool

* Remove Recycles

* Add comments to Recycle

* Add comments to Recycle

* using NetworkReader from pool

* Unity doesn't like the simplified form

* combined usings

* Updated Reader / Writer Tests

* wip

* Disposable NetworkReaderPool:NetworkReader

* uncomment NetworkDiagnostics.OnReceive

* Removed unnecessary constructor

* Implemented NetworkWriterPool : NetworkWriter

* code cleanup

* Separated classes: PooledNetworkReader / PooledNetworkWriter

* Removed blank line

* Update Assets/Mirror/Tests/Editor/NetworkReaderTest.cs

* Test restored

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-02-10 22:26:55 +01:00
Chris Langsenkamp
436d8fe831 fixed xml comment 2020-02-10 16:18:11 -05:00
Chris Langsenkamp
745aea8f9a Added Deprecated dates to Obsoletes 2020-02-10 16:14:22 -05:00
Paul Pacheco
0f10c72744
feat: supports scriptable objects (#1471)
* feat: supports scriptable objects

Now you can pass scriptable objects in commands, rpcs and syncvars
For example:

```cs
class Weapon: ScriptableObject
{
    public string name;
    public string description;
    public int damage;
    ...
}

class Player : NetworkBehaviour
{

    [SyncVar]
    Weapon equipped;

    ...
}
```

Scriptable objects will be created in the client using
ScriptableObject.CreateInstance.  If users want something else
they can provide a custom serializer (that has not changed)

* fix: remove scriptableobject error Tests

The test that checks that scrscriptableobjects give error is no
longer valid
2020-02-09 20:16:13 +01:00
Chris Langsenkamp
ab6a03b9fa remove SerializeField attribute 2020-02-08 21:08:38 -05:00
Chris Langsenkamp
831db2f033 Updated comments 2020-02-08 21:07:39 -05:00
Chris Langsenkamp
6431c28a12 OnEnable is safer than Awake 2020-02-08 21:02:22 -05:00
MrGadget
90d92fc0cf
Add headless check to Discovery (#1485) 2020-02-07 12:13:09 +01:00
vis2k
9f7c30c1ac
fix #1475: isClient is true in OnDestroy on host/client mode again. Reverts commit d00c95bb55 (#1483)
* fix #1475: isClient is true in OnDestroy on host/client mode again. Reverts commit d00c95bb55

* add comment

* ClientScene.InternalAddPlayer doesn't need to set isClient anymore
2020-02-07 10:14:54 +01:00
Chris Langsenkamp
c06ea6b6c8 Fix comment 2020-02-06 11:51:38 -05:00
vis2k
3568dc356c NetworkIdentityTests: HostMode isLocalPlayer check added 2020-02-06 13:16:13 +01:00
vis2k
85e9a0aa13 NetworkIdentityTests: HostMode isServer/isClient/isLocalPlayer test added 2020-02-06 12:42:19 +01:00
vis2k
09ec344821 NetworkIdentityTests: OnStartServer isServer/isClient/isLocalPlayer test added 2020-02-06 12:36:36 +01:00
MrGadget
58df3fd6d6
feat: Added Read<T> Method to NetworkReader (#1480)
* Added Read<T> Method

* Renamed to ReadMessage
2020-02-06 11:39:39 +01:00
MrGadget
02e4245f3d
BREAKING: Rename NetworkWriter Write<T>to WriteMessage (#1482) 2020-02-06 11:38:54 +01:00
Chris Langsenkamp
1c58891e32 Formatted comment and error message 2020-02-05 10:29:49 -05:00
Chris Langsenkamp
86a2c6f52c Added comments for WeaveFailed 2020-02-05 10:15:09 -05:00
Chris Langsenkamp
4108b79340 Code cleanup 2020-02-05 00:53:14 -05:00
Chris Langsenkamp
34fc52bd50 Added empty AddComponent attribute 2020-02-04 15:05:57 -05:00
Chris Langsenkamp
c7e269d0c5 Removed extraneous comment 2020-02-04 14:55:42 -05:00
vis2k
f614bc8f3a Icon updated for transparent border 2020-02-04 20:53:48 +01:00
Paul Pacheco
36980f4a34
Refactor: Rename method to avoid confussion (#1477) 2020-02-03 10:00:58 -06:00
Paul Pacheco
d0b0bc92bc
fix: weaver support array of custom types (#1470)
* WIP

* Proposed Rearrange

* Rearrange Code

* Unit test for PR

* unit test

* unit test

* Update TestingScriptableObjectArraySerialization.cs

Improving code

* Update TestingScriptableObjectArraySerialization.cs

* Remove blank lines

* remove blank space

* Remove leftover log

Co-authored-by: MrGadget <chris@clevertech.net>
Co-authored-by: Uchiha I_A_H_I <jkaran.sharma101@gmail.com>
2020-02-03 14:00:37 +01:00
Paul Pacheco
1736bb0c42
fix: call callback after update dictionary in host (#1476)
When the callback for SyncDictionary is called in the server
for set or add
it is getting called before the syncdictionary is updated.

In the client this happens after.  

Example:

```cs
   public void OnScoreUpdatedCallback(ScoreSyncDict.Operation op, uint ident, int score) 
   {
       if (op == ScoreSyncDict.Operation.OP_SET) 
              Debug.Log($"The value in the dictionary is {scoreDict[ident]}");
   }
```

In host mode this prints the previous value.   In client mode this prints the current value.  This PR fixes this problem and makes both print the current value
2020-02-02 20:29:31 -06:00
Chris Langsenkamp
c2e7466c43 Updated Preprocessor defines 2020-02-02 15:18:49 -05:00
Chris Langsenkamp
c827216a66 Restructured prefabs in examples 2020-02-02 14:55:49 -05:00
MrGadget
eee969201d
Renamed localEulerAnglesSensitivity (#1474)
BREAKING CHANGE:  localEulerAnglesSensitivity renamed to localRotationSensitivity
2020-02-02 13:35:07 -06:00
Chris Langsenkamp
8816ce5d03 Add headers for inspector 2020-02-02 13:53:25 -05:00
MrGadget
7c1b5ab5f8
Add Header to NetworkBehaviourInspector (#1473) 2020-02-02 13:40:30 -05:00
MrGadget
9257112c65
feat: Implemented NetworkReaderPool (#1464)
* Implement NetworkReaderPool

* Reset Position

* Debug logging removed

* SetBuffer methods internal

* Edited comment
2020-02-01 14:05:09 +01:00
Chris Langsenkamp
d0e493ac92 Updated ScriptTemplates 2020-01-31 21:25:38 -05:00
Chris Langsenkamp
a28ccbb477 Allow Room Manager Additional GamePlay Scenes 2020-01-31 21:18:01 -05:00
Chris Langsenkamp
1433d369c8 Applied Mirror Icon to Discovery components 2020-01-30 15:40:23 -05:00
MrGadget
28212aa8d7
Message Tests (#1463)
* Added UpdateVarsMessageTest

* commit staged

* Added SpawnMessageTest

* Delete MessageTests.cs

* Updated SpawnMessageTest

* Updated SpawnMessageTest

* Updated SpawnMessageTest

* Added RemovePlayerMessageTest

* Added ReadyMessageTest

* Added ObjectSpawnStartedMessageTest

* Added ObjectSpawnFinishedMessageTest

* Added ObjectHideMessageTest

* Added ObjectDestroyMessageTest

* Added NotReadyMessageTest

* Added DisconnectMessageTest

* Added ConnectMessageTest

* Added NetworkPingMessageTest

* Updated NetworkPingMessageTest

* Added NetworkPongMessageTest

* Updated ErrorMessageTest

* Tests in alphabetic order
2020-01-30 09:42:05 +01:00
MrGadget
e44ca7f334
BasicAuthenticatorTest (#1459)
* First Draft

* Second Draft

* Third Draft

* First 2 tests that work
2020-01-29 20:44:30 +01:00
vis2k
93a9eb8339 Disable two telepathy tests that sometimes fail in Unity's mono version 2020-01-29 20:29:21 +01:00
vis2k
d0d77b661c fix: Telepathy reverted to older version to fix freezes when calling Client.Disconnect on some platforms like Windows 10 2020-01-29 20:20:18 +01:00
Paul Pacheco
e75b45f888
feat: LAN Network discovery (#1453)
* Fix typo

* Updated Changelog

* first commit

* Add example for discovery

* NetworkDiscovery component should be added

* fixed UI

* Fix some warnings

* refactor: network discovery reimplemented

* Remove unused GUIstyle

* Fix namespaces

* Just send to the broadcast address

* Fix indentation

* Log errors in ClientListen

* Code formatting cleanup, HelpURL's fixed, comments revised. (#38)

* Transport can now provide server uri

* work with any transport by passing uri

* Move discovery initialization to start

* feat: Discovery can now be easily customized per game

* Use generics to simplify api

* Renamed ServerInfo -> ServerResponse

* Rename method

* Moved up one folder

* Move ServerId to NetworkDiscovery

* tests now reference Mirror.Discovery

* Cleaned up blank space

* Disable GUID apparently fixes it

* Use UnityEvents for ease of use

* Remove noisy log

* remove blank spaces

* Process request receives the client endpoint

* use consistent name for parameters

* Remove white space

* Keep it minimalistic,  we don't need age or totalPlayers

* Comment non obvious property

* Don't break transports

* Documentation and image

* Code formatting

* removed privates

* Added Range attribute

* Rename ActiveDiscoverySecondInterval

* Revised NetworkDiscovery doc

* Swapped field order (Cosmetics)

* Added ScriptTemplate

* Update ProjectSettings/ProjectVersion.txt

* Updated ScriptTemplate

* Updated xml comment and ScriptTemplate

* Updated ScriptTemplate

* Improve xmldocs

* Improve xmldocs

* Remove leftover comment

* Renamed event

* Moved discovery inside components

* Keep parameter names consistent

* Provide a guide for network discovery

* XML Comments and ScriptTemplate

* Moved Credits

* fixed template

* Removed comment

* removed comment

* xml comments and template

* fixed method name

* fixed method and template

* removed semicolon

* fixed template

* fixed method and template

* fixed template

* fixed template

* Fix copypasta error

* Show error if no url is available

Network Discovery now shows an error if the transport does not support
providing Url

* Grammar fix

* Extended Template

* fixed template

* Added guide link to template

* New image

* Update NetworkDiscovery.md

* Updated Guid Doc and Template

* fixed bullets

* Remove unnecessary using

* Make it like Mirror's

* Update ScriptTemplates Image & Zip

* Removed from Deprecations

* Updated ChangeLog

* Updated ChangeLog

* Update NetworkDiscovery.md

Remove last line...this was copied to the paragraph above the code block

Co-authored-by: MrGadget <chris@clevertech.net>
2020-01-29 09:56:29 +01:00
MrGadget
9621b0bd30
Update PreprocessorDefines (#1456)
* Update PreprocessorDefines

* Removed 8

* Update PreprocessorDefine.cs
2020-01-29 09:53:39 +01:00
MrGadget
d52aa7e173 Prevent AddPlayer after Additve Scene operation (#1458) 2020-01-28 22:54:46 +01:00
Paul Pacheco
b916064856 breaking: Transports can now provide their Uri (#1454)
* Fix typo

* Updated Changelog

* first commit

* Add example for discovery

* NetworkDiscovery component should be added

* fixed UI

* Fix some warnings

* refactor: network discovery reimplemented

* Remove unused GUIstyle

* Fix namespaces

* Just send to the broadcast address

* Fix indentation

* Log errors in ClientListen

* Code formatting cleanup, HelpURL's fixed, comments revised. (#38)

* Transport can now provide server uri

* work with any transport by passing uri

* Move discovery initialization to start

* feat: Discovery can now be easily customized per game

* Use generics to simplify api

* Renamed ServerInfo -> ServerResponse

* Rename method

* Moved up one folder

* Move ServerId to NetworkDiscovery

* tests now reference Mirror.Discovery

* Cleaned up blank space

* Disable GUID apparently fixes it

* Use UnityEvents for ease of use

* Remove noisy log

* remove blank spaces

* Process request receives the client endpoint

* use consistent name for parameters

* Remove white space

* Keep it minimalistic,  we don't need age or totalPlayers

* Comment non obvious property

* Don't break transports

* Documentation and image

* Code formatting

* removed privates

* Added Range attribute

* Rename ActiveDiscoverySecondInterval

* Revised NetworkDiscovery doc

* Swapped field order (Cosmetics)

* Added ScriptTemplate

* Update ProjectSettings/ProjectVersion.txt

* Updated ScriptTemplate

* Updated xml comment and ScriptTemplate

* Updated ScriptTemplate

* Improve xmldocs

* Improve xmldocs

* Remove leftover comment

* Renamed event

* Moved discovery inside components

* Keep parameter names consistent

* Provide a guide for network discovery

* XML Comments and ScriptTemplate

* Moved Credits

* fixed template

* Removed comment

* removed comment

* xml comments and template

* fixed method name

* fixed method and template

* removed semicolon

* fixed template

* fixed method and template

* fixed template

* fixed template

* Fix copypasta error

* Show error if no url is available

Network Discovery now shows an error if the transport does not support
providing Url

* breaking: Make server uri mandatory

BREAKING CHANGE: Make the server uri method mandatory in transports

Co-authored-by: MrGadget <chris@clevertech.net>
2020-01-28 22:50:52 +01:00
MrGadget
a706ef72e2 Make the Dictionary public (#1457) 2020-01-28 08:49:50 +01:00
MrGadget
a7efb13e29 feat: Mirror Icon for all components (#1452)
* Apply Icon

* Assigned Icons

* Assigned Icons

* Updated ChangeLog
2020-01-27 18:00:27 +01:00
vis2k
ab7c28ea91 Telepathy Tests added 2020-01-27 14:53:43 +01:00
vis2k
4007423db2 fix: Telepathy updated to latest version. Threads are closed properly now. 2020-01-27 14:43:00 +01:00
vis2k
ef7993cac1 MessageTests: SyncEventMessageTest 2020-01-27 14:32:31 +01:00
vis2k
8d272a4107 MessageTests: RpcMessageTest 2020-01-27 14:32:31 +01:00
vis2k
0b2965af1c MessageTests: CommandMessageTest 2020-01-27 14:32:31 +01:00
MrGadget
49529db347 Restore Empty NetworkIdentityEditor (#1455) 2020-01-27 09:18:41 +01:00
vis2k
1a08f1b95d NetworkWriterTests: benchmark test so it's easier to check performance after changes 2020-01-26 13:12:39 +01:00
Paul Pacheco
0c2556ac64 feat: network writer and reader now support uri 2020-01-25 16:16:14 -06:00
MrGadget
71c0d3b2ee
feat: Network Scene Checker Component (#1271)
* Create Network Scene Checker Component

* Move objects to subscene in client

* Remove OnStartClient

* Rewritten with static dictionary

* Updated doc

* renamed image

* Replaced image

* fixed image name

* Changed to short-circuit return in Update

* Changed to using string for key since additive scenes may be unloaded

* Added null check

* Removed commented line

* Update Assets/Mirror/Components/NetworkSceneChecker.cs

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

* Moved initializer to declaration

* Removed [Scene, SerializeField]

Co-authored-by: vis2k <info@noobtuts.com>
2020-01-25 15:48:47 -05:00
Chris Langsenkamp
e58f84758e set port to 7777 2020-01-25 00:38:21 -05:00
MrGadget
dde8c5d0c5 Remove m_sceneId (#1310)
* Remove m_sceneId

* remove commented code

* copied comment from removed field

* made it full public

* Added FormerlySerializedAs

* Added HideInInspector

* Updated example
2020-01-24 22:33:55 +01:00
Chris Langsenkamp
a82fe9191f Fixed Additive Scene Visualizer 2020-01-24 12:34:08 -05:00
MrGadget
c84b00336d Fix GetSceneIdenity name typo (#1450) 2020-01-23 11:46:03 -06:00
vis2k
84fc240d00 NetworkReaderTest: stopwatch not needed, Unity already shows the time 2020-01-23 15:56:16 +01:00
vis2k
2f7a67e3f9 NetworkReaderTest: benchmark test so it's easier to check performance after changes 2020-01-23 15:51:52 +01:00
Paul Pacheco
0ed8550c02 refactor: Move Editor tests to Tests/Editor (#1449) 2020-01-22 21:35:10 +01:00
vis2k
b5a4988331 FallbackTransportTest from paul 2020-01-22 11:55:56 +01:00
vis2k
9d7513925f NetworkReaderTest to reach 100% NetworkReader coverage 2020-01-22 09:51:06 +01:00
vis2k
e798ac45de MessagePackerTest: cover UnpackMessage non generic version 2020-01-22 09:46:30 +01:00
vis2k
5736dd8d05 MessagePackerTest: cover FormatException case 2020-01-22 09:30:09 +01:00
Chris Langsenkamp
17af872f99 Use conn instead of NetworkClient 2020-01-21 21:44:15 -05:00
Chris Langsenkamp
f778b4c399 Removed unnecessary using 2020-01-21 17:35:57 -05:00
Chris Langsenkamp
71bd09417c Removed MonoBehaviour inheritance 2020-01-21 17:23:14 -05:00
Chris Langsenkamp
388a338cfa Removed commented code 2020-01-21 17:16:08 -05:00
MrGadget
c147caf30c Added ErrorMessage Test (#1448) 2020-01-21 23:01:34 +01:00
Chris Langsenkamp
cbbe82e4d1 Make roomSlots work correctly for clients 2020-01-20 20:04:09 -05:00
vis2k
15c77c6926 NetworkTransform.SerializeIntoWriterTest 2020-01-20 11:02:11 +01:00
vis2k
875f19e030 Mirror.Tests asmdef references Mirror.Components asmdef 2020-01-20 10:54:59 +01:00
Chris Langsenkamp
eef97e9a52 Code cleanup 2020-01-19 23:34:53 -05:00
Chris Langsenkamp
c57c01a47a Updated Script Templates 2020-01-19 16:45:12 -05:00
MrGadget
268753c3bd fix: Fix Room Slots for clients (#1439)
* Fix Room Slots for clients

* Removed change to ServerChangeScene
2020-01-19 11:39:26 +01:00
MrGadget
cb4be4df78 Set AllPlayersready false in the Room scene (#1440) 2020-01-19 11:38:59 +01:00
MrGadget
e4c498312e Reorder properties with headers (#1437) 2020-01-17 12:09:08 +01:00
MrGadget
f69f1743c5 feat: Add Sensitivity to NetworkTransform (#1425)
* Add Sensitivity to NetworkTransform

* Removed commented lines

* Made them floats

* Tooltips

* Added comments

* Update NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-01-16 09:06:25 +01:00
Chris Langsenkamp
bafe3b28fd Freshen Example Appearance 2020-01-13 22:05:08 -05:00
vis2k
2186f3c7d7 clean up Pong folder 2020-01-13 17:34:55 +01:00
vis2k
cb3d9f0d08 fix: Telepathy works on .net core again 2020-01-13 17:27:44 +01:00
Paul Pacheco
0c047f9227
Remove latin placeholder text in chat window (#1430) 2020-01-12 17:07:57 -06:00
Paul Pacheco
42a2f9b853
fix: Decouple ChatWindow from player (#1429) 2020-01-12 16:53:14 -06:00
MrGadget
a0c96f8518 fix: StopHost with offline scene calls scene change twice (#1409)
* Separate StopHostClient

* Added comments

* move comment

* add comment

* Changed to loadingSceneAsync check

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-01-12 00:12:46 +01:00
MrGadget
29c96b6bc0 made handlers private (#1426) 2020-01-11 21:38:09 +01:00
MrGadget
c30e4a9f83 feat: NetworkAnimator warns if you use it incorrectly (#1424)
* Added warnings to NetworkAnimator

* Updated ChangeLog

* pauls suggestions
2020-01-11 10:35:58 -06:00
MrGadget
f858f4d703 Rename WeaveExisingAssemblies to fix spelling (#1423) 2020-01-10 19:07:59 -06:00
MrGadget
dffdf02be5 feat: Network Animator can reset triggers (#1420) 2020-01-10 18:33:10 -06:00
MrGadget
7d472f21f9 perf: Use NetworkWriterPool in NetworkAnimator (#1421) 2020-01-10 18:10:06 -06:00
MrGadget
a4578458a1 perf: Use NetworkWriterPool in NetworkTransform (#1422) 2020-01-10 18:09:27 -06:00
vis2k
b9f52fdb46
breaking: fix: #1151 - assign SyncVars before calling the Hook. Hook now passes old and new value instead of changing it from new value to old value, as this would break all SyncVar Hook projects silently. (#1416)
* test

* new docs

* adjust CheckForHookFunction to expect two hooks

* update example

* update example

* update example

* update test

* update example

* SyncVar.set: store value in oldValue variable

* SyncVar.set: pass old value to hook too

* TODO

* SyncVar deserialize store value in oldValue variable (for simple types)

* SyncVar deserialize: pass old value to hook too (for simple types)

* add test for GameObject type

* fix comment

* SyncVar deserialize: set value before calling hook

* add TODO

* SyncVar.set: set value before calling hook

* replace tests

* GO test

* SyncVar deserialize: move oldvalue code higher up so it applies to GO/NI too

* syntax

* SyncVar deserialize: pass oldValue to hook (GO/NI types)

* SyncVar deserialize: set netid before calling hook (GO/NI types)

* update comment

* update comment

* update comment

* shorter

* comment, TODO

* put oldValue code into separate cases again

* fix SyncVarEqual comparing the same two __goNetId values

* get rid of tmpValue

* fix weaver tests

* remove TODO

* SyncVar deserialize simple types: get rid of tmpValue here too

* remove tests
2020-01-10 16:17:13 +01:00
vis2k
a1649dfb25 remove outdated comment 2020-01-10 12:36:18 +01:00
vis2k
49d93d814c NetworkClient.Shutdown calls Client.Disconnect as suggested in #923 2020-01-10 12:34:42 +01:00
vis2k
260cb49698 NetworkServer.Shutdown: add comment on why we call Transport.ServerStop, not Shutdown as suggested in #923 2020-01-10 12:30:01 +01:00
vis2k
fd7dc5e226 fix: #723 - NetworkTransform teleport works properly now 2020-01-09 09:15:47 +01:00
vis2k
2d59de801f fix #923: move NetworkManager.OnApplicationQuit Transport Shutdown code into Transport.OnApplicationQuit. Fixes a potential bug where the Transport wouldn't be shut down if someone doesn't use the NetworkManager. 2020-01-09 08:32:25 +01:00
vis2k
76a514aeec syntax 2020-01-09 08:32:20 +01:00
vis2k
651e709785
fix #1407: Check EnterPlayModeSettings and disable if needed for 2019.3 support (#1415)
* fix #1407: Check EnterPlayModeSettings and disable if needed for 2019.3 support

* add reference
2020-01-09 08:03:47 +01:00
vis2k
a3ffd1264c
fix: #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one. (#1414)
* move comment

* add comment

* fix: #1278 - only call initial state SyncVar hooks on clients if the SyncVar value is different from the default one.

* initialState test for an if

* !initialstate

* getting there

* closer

* works but incompatible stack heights message

* better comments

* better

* not needed

* syntax

* rename

* incompatible stack height fixed

* update comment

* remove first todo

* SAVE PROGRESS

* compare go/ni too

* whitespace

* update comments
2020-01-08 16:58:46 +01:00
vis2k
32abb70ae9 add comment 2020-01-08 13:27:11 +01:00
vis2k
aafe387899 add comment 2020-01-08 12:16:58 +01:00
vis2k
a71ecdba4a fix: #1380 - NetworkConnection.clientOwnedObjects changed from uint HashSet to NetworkIdentity HashSet for ease of use and to fix a bug where DestroyOwnedObjects wouldn't find a netId anymore in some cases. 2020-01-08 11:32:29 +01:00
vis2k
a2173d37db NetworkConnection.DestroyOwnedObjects clears the hashset afterwards 2020-01-08 11:04:57 +01:00
vis2k
43030ac917 NetworkConnection.DestroyOwnedObjects to move code out of NetworkServer 2020-01-08 11:04:17 +01:00
Chris Langsenkamp
6111021252 meta file 2020-01-08 01:34:09 -05:00
vis2k
228b32e1da fix: #1241 - Telepathy updated to latest version. All tests are passing again. Thread.Interrupt was replaced by Abort+Join. 2020-01-07 20:55:34 +01:00
vis2k
2dc13e9666
Merge pull request #1404 from vis2k/NetTransAuthority
fix: Use hasAuthority instead of isLocalPlayer
2020-01-07 16:24:27 +01:00
Chris Langsenkamp
3d3436c80a Renamed and added comment 2020-01-07 10:17:44 -05:00
vis2k
28803b90de
Merge pull request #1405 from vis2k/NetAnimClientAuthCheck
fix: Check clientAuthority in NetworkAnimator
2020-01-06 15:15:37 +01:00
vis2k
25277e00ad
Merge pull request #1406 from vis2k/Remove-DDOL-Escape
Remove DDOL escape
2020-01-06 15:15:07 +01:00
vis2k
bfe90857bb Log is enough for now 2020-01-06 12:51:01 +01:00
vis2k
474a9480a5 ConnectHost moved into FinishStartHost 2020-01-06 12:36:03 +01:00
vis2k
3eb11c9a2d FinishLoadScene uses new NetworkManager.mode. This way the host connection doesn't need to be connected before changing host server's online scene. This makes everything easier. 2020-01-06 12:35:56 +01:00
vis2k
b9c9a3c350 NetworkManager.mode to simplify FinishLoadScene afterwards 2020-01-06 12:35:49 +01:00
Chris Langsenkamp
5a728ac4e6 Remove DDOL escape 2020-01-06 06:04:08 -05:00
Chris Langsenkamp
00149f3a2d Fixed comment 2020-01-06 04:27:43 -05:00
Chris Langsenkamp
847d02cfda Add clientAuthority check 2020-01-05 20:01:42 -05:00
Chris Langsenkamp
7b1761ea1e Add clientAuthority check 2020-01-05 19:56:33 -05:00
MrGadget
039cf5af22
Use hasAuthority instead of isLocalPlayer
This allows non-player objects that have been assigned authority to the client to be moved around by the client and their positions updated from that client appropriately when clientAuthority is also true.
2020-01-05 18:50:13 -05:00
vis2k
7776049526 ConnectHost moved into FinishStartHost 2020-01-05 20:42:41 +01:00
vis2k
f33d90a4ca FinishLoadScene uses new NetworkManager.mode. This way the host connection doesn't need to be connected before changing host server's online scene. This makes everything easier. 2020-01-05 20:38:18 +01:00
vis2k
1fe1ca730c NetworkManager.mode to simplify FinishLoadScene afterwards 2020-01-05 20:35:00 +01:00
vis2k
ccb45a6215 FinishLoadSceneHost doesn't call OnClientSceneChanged if the scene changed because of a StartHost call. fixes a bug where AddPlayer was called twice in mrgadget's simple scenes example. 2020-01-05 20:30:22 +01:00
vis2k
df9c29a6b3 fix: FinishLoadSceneHost calls FinishStart host which now calls StartHostClient AFTER server online scene was loaded. Previously there was a race condition where StartHostClient was called immediately in StartHost, before the scene change even finished. This was still from UNET. 2020-01-05 19:49:26 +01:00
vis2k
4f169b021d add comment 2020-01-05 19:26:14 +01:00
vis2k
fadcd46eff add more comments 2020-01-05 19:14:44 +01:00
vis2k
5029bc5253 StartHost: add comment on what StartHostClient does 2020-01-05 19:14:02 +01:00
vis2k
7f7658ad75 add comment 2020-01-05 19:12:34 +01:00
vis2k
f7500a2a82 OnClientConnect: explain clientLoadedScene flag 2020-01-05 19:04:46 +01:00