Commit Graph

1618 Commits

Author SHA1 Message Date
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