Commit Graph

2188 Commits

Author SHA1 Message Date
MrGadget
87c6ebc5dd
feat: Multiple Concurrent Additive Physics Scenes Example (#1686)
* Stop using sceneIds at runtime

* Multiple Additive Physics Scenes Example

* Remove Commented code

* Remove boilerplate code

* breaking: Network Visibility Component

* Revert changes to NetworkIdentity

* Updated scene lighting

* Don't rename spawned objects

* Simplified Physics Simulator

* Updated PhysicsSimulator

* Fixed camera restore

* moved subScenes.Clear up

* Updated Prefabs

* Updated Scenes

* Updated PhysicsSimulator

* Updated PlayerController

* Updated scoring to server authoritative

* Updated Main scene

* Updated Example to master

* Made subScenes readonly

* Restored old jump code

* Revert "Restored old jump code"

This reverts commit 6a986fb088.

* Restored old jump code

* localized point variable

* Removed oldColor

* Removed test code

* Removed commented code

* Added comment about flags enum

* Removed unnecsssary code

* Finalize scoring and setup

* Added ReadMe

* renamed Collision parameter

* Changes per @vis2k

* Added UnloadClientSubScenes
2020-05-03 16:42:28 +02:00
James Frowen
f4e2e1c153
Allowing tests cases to better call overloads (#1838)
* allowing tests cases to better call overloads

* fixing warning test cases

* adding comment
2020-05-03 14:32:09 +01:00
MrGadget
e3790c51eb
feat: Add NetworkServer.RemovePlayerForConnection (#1772)
* feat: Add NetworkServer.RemovePlayerForConnection

* Fixed Obsolete tag

* Added bool destroyServerObject and comments

* Making this a breaking change

* No longer a breaking change

* Added RemovePlayerForConnectionTest

* Debrecation with pragmas

* Splitting the PR

* Splitting PR's

* Updated tests

* splitting PR's
2020-05-03 15:22:32 +02:00
James Frowen
71ebcdc006
making fields readonly (#1840)
adding more comments to PrepareToSpawnSceneObjects
2020-05-03 15:13:57 +02:00
James Frowen
7de3c74614
adding enabled check to loops (#1836)
Message can disable transport so we need to check if it is still enabled
 before checking the next message
2020-05-03 15:12:32 +02:00
James Frowen
ff4a576b13
Fixing code smell in clientscene (#1839)
* moving overloads next to each other

* moving function so that RegisterPrefab are together

* making if statment more readable
2020-05-03 11:29:42 +01:00
James Frowen
eeb4c4b5b4
making test case match others (#1837) 2020-05-03 10:55:39 +01:00
Chris Langsenkamp
d0e15b1378 Setting older obsoletes to errors for next release 2020-05-02 18:48:12 -04:00
James Frowen
a700d7afc3
Fixing runtime tests (#1833)
* adding assetId to prefab

* making sure NetworkManager is shutdown

* removing host set up for test that doesn't need it

* using OneTimeTearDown

* fixing performance test
2020-05-02 16:14:38 +01:00
James Frowen
2b5ad08260
adding ignore (#1832)
see ignore message
2020-05-02 15:26:21 +01:00
vis2k
d3dccd7a25
fix: #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks (#1830)
* fix: #1659 Telepathy LateUpdate processes a limited amount of messages per tick to avoid deadlocks

* Update Assets/Mirror/Runtime/Transport/TelepathyTransport.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

* Update Assets/Mirror/Runtime/Transport/TelepathyTransport.cs

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-05-02 15:24:42 +02:00
MrGadget
a6ab3527ac
fix: clear all message handlers on Shutdown (#1829) 2020-05-02 11:40:49 +02:00
James Frowen
d6a4d8fbf6
fixing showDebugMessages with new logger (#1824) 2020-05-02 11:25:50 +02:00
Chris Langsenkamp
ab3f353b33 fix: Wrong method names in ClientSceneTests 2020-05-02 00:02:37 -04:00
James Frowen
9f59e0c439
fix: Adding warning when adding prefab with RegisterPrefab if assetid already exists (#1828) 2020-05-02 01:36:59 +01:00
James Frowen
7f26329e2d
fix: Adding warning when adding handler with RegisterSpawnHandler if assetid already exists (#1819)
* adding test for warning for existing handler

* adding warning for existing handler

* adding error for prefab existing with assetId
2020-05-02 01:35:45 +01:00
James Frowen
a0aa4f9c14
fix: Improved error checking for ClientScene.RegisterPrefab (#1823)
* Tests for ClientScene.RegisterPrefab
* Improved error messages for ClientScene.RegisterPrefab
2020-05-02 01:29:55 +01:00
Chris Langsenkamp
5fddcc8525 Added braces 2020-05-01 14:06:17 -04:00
James Frowen
096ce20fbd
Tests client scene 5 (#1818)
* tests for ClientScene.UnregisterSpawnHandler

* splitting errors for handlers

* adding error for empty guid

* adding check to stop null handler inside lambda
2020-05-01 09:48:58 +02:00
Chris Langsenkamp
ffc276cb79 fix: Use ReplaceHandler instead of RegisterHandler in NetworkManager 2020-04-30 22:07:00 -04:00
James Frowen
fd929e2b6d
fixing syncmode not showing up in Inspector (#1820)
syncMode and syncInterval now show up in Inspector when only sync vars are used
2020-04-30 19:43:33 -04:00
James Frowen
63e61bcbf4
fixing error message (#1805)
LogError was incorrectly adding tag to message
2020-04-30 21:49:44 +01:00
James Frowen
8e7dec319a
adding method overloads for seting newAssetId (#1806)
RegisterPrefab(GameObject prefab) has the option to add new AssetId but
the versions that add custom spawn handlers did not have this option
2020-04-30 10:57:51 +02:00
James Frowen
9270765beb
fix: Fixing ClientScene UnregisterPrefab (#1815)
* adding error if prefab is null

* fixing prefab not being removed
2020-04-30 10:55:48 +02:00
James Frowen
66728cdeef
tests for ClientScene.UnregisterSpawnHandler (#1816) 2020-04-29 23:29:00 +01:00
James Frowen
4b2162f6a0
tests for ClientScene.ClearSpawners (#1813) 2020-04-29 17:10:25 +01:00
James Frowen
67df03cb8f
tests for ClientScene.UnregisterPrefab (#1812)
* making ClientScene dictionaries internal

* tests for ClientScene.UnregisterPrefab

* adding OneTimeSetUp for loading prefabs
2020-04-29 16:48:34 +01:00
James Frowen
bf59c6f32b
tests for ClientScene.GetPrefab (#1811) 2020-04-29 16:00:07 +01:00
James Frowen
877f4e9c72
feat: Adding ReplaceHandler functions to NetworkServer and NetworkClient (#1775)
* Replacing debug log with warning

Replacing a handler by mistake will lead to code not running when it is
expected to.

* adding ReplaceHandler methods

* improving warning messages

* using ReplaceHandler in networkManager

* fixing doc comments for RegisterHandler

* fixing doc comments for ReplaceHandler

* Update Assets/Mirror/Runtime/NetworkManager.cs

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

* improving doc comments

* improving doc comments for new code

* Update Assets/Mirror/Runtime/NetworkServer.cs

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

* Update Assets/Mirror/Runtime/NetworkClient.cs

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

Co-authored-by: MrGadget <chris@clevertech.net>
2020-04-29 11:27:28 +01:00
James Frowen
0844c495a1
renaming test assembly (#1808) 2020-04-28 19:21:50 +01:00
Justin Vitale
5295075e78
Fix summary mistake for connectionToServer (#1807) 2020-04-28 12:38:06 -04:00
Chris Langsenkamp
06bd1f87c4 Updated Example Scene Files 2020-04-28 01:41:57 -04:00
James Frowen
e32a9b6f0b
feat: Allowing Multiple Concurrent Additive Scenes (#1697)
* There's no need for handling scene ids at runtime.

* Adding tests for Instantiate On Scene object

* removing ExecuteInEditMode

none of our function do anything at edit time so removing this tag

* adding check to awake to stop Instantiate

* code style and comments

* using logger for new error

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>
2020-04-27 18:50:41 -04:00
Chris Langsenkamp
e0d8c918cd Added DisallowMultipleComponent where appropriate 2020-04-27 11:28:50 -04:00
Chris Langsenkamp
7f8476b2e9 Room Example Server Auth Scoring 2020-04-27 01:21:53 -04:00
James Frowen
6065afd9f6
adding counter since we might send less than connections.Count (#1782) 2020-04-27 00:23:06 -04:00
Chris Langsenkamp
267827b15a remove privates 2020-04-26 16:28:38 -04:00
Chris Langsenkamp
0187b2082f removed privates 2020-04-26 16:21:10 -04:00
Paul Pacheco
b3656a9edc feat: ClientScene uses log window 2020-04-26 14:11:55 -05:00
Paul Pacheco
2e39e13c01 feat: NetworkIdentity use logger framework 2020-04-26 14:06:40 -05:00
Paul Pacheco
72154f1dad feat: NetworkConnection to client and server use logger framework 2020-04-26 13:56:42 -05:00
Paul Pacheco
ec319a165d feat: NetworkConnection uses logging framework 2020-04-26 13:53:55 -05:00
Paul Pacheco
8b4f1051f2 feat: NetworkServer uses new logging framework 2020-04-26 13:45:30 -05:00
Paul Pacheco
aea8db25c1
Each test file in a separate namespace (#1785)
* Each test file in a separate namespace

* Fix tests
2020-04-26 11:49:47 -05:00
James Frowen
0383df95ef
making mono cecil editor only (#1783) 2020-04-26 11:33:40 -05:00
MrGadget
f6545d4871
feat: NetworkServer.SendToReady (#1773)
* feat: NetworkServer.SendToReady

* Added ready check and default channel

* Changed to optional parameter

* Added shorthand overload SendToReady

* Added comment
2020-04-26 10:59:06 +02:00
MrGadget
34a76a2834
feat: Allow Multiple Network Animator (#1778) 2020-04-26 10:57:42 +02:00
Paul Pacheco
b3cbd5c2a1 Remove redundant check, can be done once in setup 2020-04-25 20:19:18 -05:00
Paul Pacheco
462a311fff
Remove redundant check, can be done once in setup (#1781)
* Remove redundant check,  can be done once in setup

* Update Assets/Mirror/Tests/Editor/Weaver/WeaverNetworkBehaviourTests.cs

* Update Assets/Mirror/Tests/Editor/Weaver/WeaverTests.cs

Co-Authored-By: James Frowen <jamesfrowendev@gmail.com>

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-04-25 19:53:29 -05:00
Paul Pacheco
bcd76c5bdc
feat: Improve weaver error messages (#1779)
feat: Improve weaver error messages

Weaver error messages are easier to read and always display
location of error
2020-04-25 19:06:08 -05:00
Chris Langsenkamp
d6d702a918 updated comment 2020-04-25 13:45:39 -04:00
Chris Langsenkamp
345da764b9 fixed comments 2020-04-25 13:32:02 -04:00
James Frowen
d6441e8772
Tests for enums (#1774)
* weaver test to make sure enums compile

* test for weaver generated and custom readwrite
2020-04-25 10:41:16 +02:00
Chris Langsenkamp
096a23217e Updated comments 2020-04-24 13:39:58 -04:00
Chris Langsenkamp
9d36815271 fixed comments 2020-04-24 12:58:24 -04:00
Chris Langsenkamp
38ec9b7082 Renamed serverIdleTimeout to disconnectInactiveTimeout 2020-04-24 06:25:02 -04:00
James Frowen
e346885ff5
adding namespace to runtime tests (#1769) 2020-04-24 09:58:27 +01:00
James Frowen
1af5b4ed2f
fix: weaver syncLists now checks for SerializeItem in base class (#1768)
* tests for override in base class

* fixing overrides in base class

* moving check up so that typedef cant be null for the check
2020-04-24 09:30:18 +02:00
James Frowen
d4f834ac08
test for sync list using interface (#1767) 2020-04-23 21:51:33 +02:00
MrGadget
a2eb666f15
feat: Disconnect Dead Clients (#1724)
* feat: Disconnect Dead Clients

* Moved code to NetworkConnectionToClient

* Fixed type

* WIP

* Trying to solve the mystery of the Host

* Updated Example

* fixed comment whitespace

* Final Cleanup and Unit Test

* Removed extra warning

* Reverted change to scene file

* Changed to Play test, still not working

* Added NetworkServer.Update time loop

* Removed commented code

* fixed comment

* Filled in ServerDisconnect so it behaves as expected.

* fixed comment

* Renamed to bool IsClientAlive

* Should be greater than

* Added override that shouldn't be necessary.

* changed asserts per Paul

* Flipped < back

* Shortened test time

* Corrected comment

* Lost the 1

* Updated NetworkServerTest

* Update Assets/Mirror/Tests/Runtime/NetworkServerTest.cs

* Added bool checkInactiveConnections

* Tests for sync dictionary and sync set (#1753)

* sync dictionary tests

* rename

* changing error message

* sync set tests

* silence unused method warning

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* test class name matches file name

* Scope syncdict tests to their classes

* Scope synclists tests to their classes

* Scope syncset tests to their classes

* test class name matches file name

* Scope sample classes

* test class name matches file name

* fix: call the virtual OnRoomServerDisconnect before the base

* fixed name

* doc: Updated docs

* Moved serverIdleTimeout to NetworkManager

* fixed test to enable disconnectInactiveConnections

* Copied disconnectInactiveConnections & serverIdleTimeout to NetworkServer

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-04-23 21:50:35 +02:00
James Frowen
c1bacc345c
using MemoryTransport to make test more stable (#1770) 2020-04-23 17:41:15 +01:00
James Frowen
7f8733ce6a
feat: Exclude fields from weaver's automatic Read/Write using System.NonSerialized attribute (#1727)
* adding test class for NonSerialized

* checking for IsNotSerialized
2020-04-23 16:38:45 +02:00
Chris Langsenkamp
e6881ef007 fix: call the virtual OnRoomServerDisconnect before the base 2020-04-23 02:02:21 -04:00
Paul Pacheco
fb489c67e8 test class name matches file name 2020-04-22 20:58:22 -05:00
Paul Pacheco
2ad16332f3 Scope sample classes 2020-04-22 20:54:08 -05:00
Paul Pacheco
d0df3e8b90 test class name matches file name 2020-04-22 20:51:49 -05:00
Paul Pacheco
d8e5f0d023 Scope syncset tests to their classes 2020-04-22 20:45:45 -05:00
Paul Pacheco
a0689cd357 Scope synclists tests to their classes 2020-04-22 20:38:45 -05:00
Paul Pacheco
f218259be8 Scope syncdict tests to their classes 2020-04-22 20:11:21 -05:00
Paul Pacheco
6066ca2aa0 test class name matches file name 2020-04-22 19:50:55 -05:00
Paul Pacheco
c704bc123f test class name matches file name 2020-04-22 17:56:41 -05:00
Paul Pacheco
94603d175a test class name matches file name 2020-04-22 17:47:45 -05:00
Paul Pacheco
12ea5f25e0 test class name matches file name 2020-04-22 17:43:59 -05:00
Paul Pacheco
a2b6fb08f3 test class name matches file name 2020-04-22 17:42:25 -05:00
Paul Pacheco
dfffe26390 test class name matches file name 2020-04-22 17:40:32 -05:00
Paul Pacheco
5214b57db5 test class name matches file name 2020-04-22 17:35:39 -05:00
Paul Pacheco
95bb9cb0e3 silence unused method warning 2020-04-22 12:21:32 -05:00
James Frowen
1614c68629
Tests for sync dictionary and sync set (#1753)
* sync dictionary tests

* rename

* changing error message

* sync set tests
2020-04-22 18:54:09 +02:00
Chris Langsenkamp
cf6823acb5 fix: Removed NetworkServer.Listen because HostSetup does that 2020-04-22 06:39:46 -04:00
Chris Langsenkamp
984945e482 fix: Removed NetworkClient.Update because NetworkManager does it in LateUpdate 2020-04-22 06:34:34 -04:00
Chris Langsenkamp
bdec276282 fix: Add the transport first so NetworkManager doesn't add Telepathy in OnValidate 2020-04-22 06:32:26 -04:00
James Frowen
9bf816a014
feat: Allowing extra base types to be used for SyncLists and other SyncObjects (#1729)
* Tests for most uses of sync list

renaming classes for existing test files

* improving error message for Paramless constructor

* More tests for SyncLists

* updating error message

* ignore abstract classes

we dont need to process abstract classes because classes that
inherit from them will be processed instead

* check and error for syncList item being genric

* allowing extra base types for synclist

* checking for nested types in abstract classes

* test for nested types inside structs
2020-04-22 09:40:40 +02:00
uwee
ddd4b0b1fc
use HostSetup in tests (#1761) 2020-04-22 09:38:07 +02:00
uwee
262c1129dc
add test for NS Reset (#1758)
* add test for NS Reset

this code is depreciated but it should have a test as long as its in the code base

* typo
2020-04-21 23:49:46 +02:00
uwee
d996079042
remove empty if statement (#1757)
the current state is an untestable if statement. the if (!dont) is not pretty but the same logic is used later in the same file under Listen()
2020-04-21 23:49:11 +02:00
uwee
2f7053c6be
return bool to allow testing (#1756) 2020-04-21 23:48:42 +02:00
uwee
c2c1f86fe8
add HostSetup for tests (#1755) 2020-04-21 23:48:06 +02:00
uwee
c4bfb9d037
remove unused using (#1754) 2020-04-21 23:47:20 +02:00
James Frowen
2cf0fc71a7
Clean up sync object tests (#1750)
* cleaning up tests

* clearing dirty before test
2020-04-21 08:29:46 -05:00
uwee
3cf686f3b8
add base OnSetHostVisibility test (#1749)
* add base OnSetHostVisibility test

* fix code smells
2020-04-21 09:58:14 +02:00
MrGadget
2d006fe730
fix: Remove leftover AddPlayer methods now that extraData is gone (#1751) 2020-04-21 09:56:14 +02:00
James Frowen
58c89a3d32
fix: Allow sync objects to be re-used (#1744)
fixes #1714
2020-04-20 19:20:25 -05:00
Chris Langsenkamp
8798cd18ce Updated NetworkManage template 2020-04-20 18:49:21 -04:00
Paul Pacheco
3dd709ac35
Remove MarkForReset (#1747)
* Remove MarkForReset

* Update Assets/Mirror/Runtime/NetworkIdentity.cs

* Update Assets/Mirror/Tests/Editor/NetworkServerTest.cs
2020-04-20 20:07:22 +02:00
Chris Langsenkamp
5d4bc47d46 fix: Use path instead of name in Room Example 2020-04-20 11:04:18 -04:00
Chris Langsenkamp
2a2f76c263 fix: Remove RoomPlayer from roomSlots on Disconnect 2020-04-20 11:02:45 -04:00
James Frowen
055a264660
adding return so that exception isnt throw after error (#1746) 2020-04-20 08:51:40 -05:00
Chris Langsenkamp
8e7bb44c3a Updated docs, comments, template pursuant to renaming of OnNetworkDestroy 2020-04-20 09:42:16 -04:00
Paul Pacheco
d1695dd16f
feat: new virtual OnStopServer called when object is unspawned (#1743) 2020-04-20 10:36:03 +02:00
Paul Pacheco
86ac5ad40b
Rename OnNetworkDestroy to OnStopClient (#1742)
OnNetworkDestroy is not a good name,  is it server? is it client?
you can't tell by the name.

Moreover,  we have OnStartClient,  API should be symetric so we should
have a corresponding OnStopClient.

Note this keeps backwards compatibility with an Obsolete for now
2020-04-20 10:35:34 +02:00