Commit Graph

2282 Commits

Author SHA1 Message Date
James Frowen
3a35b0e9de
adding extension methods (#1938) 2020-05-30 15:43:32 +02:00
James Frowen
26c02199ba
renaming function (#1937)
* renaming function

* adding more comments
2020-05-30 15:43:14 +02:00
James Frowen
b1e47d5b6a
adding RemoteCallType (#1936)
* adding RemoteCallType

* Update Assets/Mirror/Editor/Weaver/Processors/NetworkBehaviourProcessor.cs
2020-05-30 15:42:34 +02:00
James Frowen
7205d3a705
Clean up test scripts (#1942)
* fixing white space
* sorting using statements
2020-05-29 18:55:12 -04:00
James Frowen
3f9f3c8298
Clean up scripts (#1941)
* fixing white space
* sorting using statements
2020-05-29 18:54:56 -04:00
Chris Langsenkamp
e49313bfd2 Lowered Tanks example Projectile destroyAfter to 1 2020-05-29 13:58:34 -04:00
Chris Langsenkamp
d5a0bc740f Added Projectile to NetworkManager's Spawnables list in Tanks example 2020-05-29 13:57:59 -04:00
Chris Langsenkamp
bf624fa917 Reset Tanks Projectile Prefab 2020-05-29 13:56:52 -04:00
MrGadget
3ace2c6eb6
feat: Adding ignoreAuthority Option to Command (#1918)
* Add ignoreAuthority to weaver

* Add ignoreAuthority to CommandAttribute

* Add NetworkConnection to handlers

* Pass conn parameter from OnCommandMessage

* Add ignoreAuthority to SendCommandInternal
Add NetworkConnection param to CmdDelegate
Add NetworkConnection param to InvokeCommand
Pass conn to InvokeHandlerDelegate
Pass conn to invoker.invokeFunction

* Update tests with optional NetworkConnection param

* adding commandInfo

* fixing test calls

* renaming arguments

* adding ignoreAuthority to register call

* weaver tests for ignore authority

* tests for command ignoreAuthority

* adding debug assert to make sure tests is running correct

* moving variables up

* removing un-needed code

* updating tests

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-05-28 11:54:12 +02:00
Chris Langsenkamp
8721d05fff Moved FinishLoadSceneServerOnly up to match call order 2020-05-27 22:57:41 -04:00
Chris Langsenkamp
7d9175dfc7 Moved GetStartPosition to correct region 2020-05-27 22:51:26 -04:00
James Frowen
9ae7fa2a8c
feat: adding OnRoomServerPlayersNotReady to NetworkRoomManager that is called when player ready changes and atleast 1 player is not ready (#1921)
* adding virtual function for Players not ready

* moving function calls to property

* making if check easier to read

* setting field

* making field private

* removed blank line

* Added override to template

* doc: Updated ChangeLog

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>
2020-05-27 15:42:18 -04:00
James Frowen
64533ca4da
Fixing optional network connection (#1934)
* adding tests for optional NetworkConnection

* fixing validate to allow optional NetworkConnection

* fixing error message in test
2020-05-27 18:09:35 +01:00
Chris Langsenkamp
d9b7bb7357 fix: OnClientEnterRoom should only fire on clients 2020-05-27 12:15:52 -04:00
Chris Langsenkamp
0c3e079d04 feat: Added virtual SyncVar hook for index in NetworkRoomPlayer 2020-05-27 11:57:35 -04:00
James Frowen
52aa62af6d
Updating target rpc tests (#1933)
* fixing the TargetRpc Test class

moving SyncEvent Tests to their own folder
renaming tests to be readable

* removing meta file from csproj

* fixing typo

* sync event tests

* fixing typo

* fixing typo

* fixing errors in tests

* fixing name in test message

* error for first param not NetworkConnection for targetRpc

* adding error if no paremeters
2020-05-27 16:22:46 +01:00
James Frowen
210796cff8
moving lastMessageTime to other constructor (#1924)
making extra constrctor call empty one
2020-05-27 00:05:57 +02:00
James Frowen
59f8e9b794
renaming all ILProcessor to be called worker (#1926) 2020-05-27 00:04:18 +02:00
uwee
218faa85d5
Tank example fixes (#1928)
* move game state out of NetMan

* update scene for script movement
2020-05-27 00:03:58 +02:00
James Frowen
03486997fb
fix: no longer requires hook to be the first overload in a class (#1913)
* test for sync var hook order

* adding extension method

* allowing hook method to be in any order

* adding second hard to test functions
2020-05-24 16:05:50 +02:00
James Frowen
e9d9bae397
renaming arguments (#1919) 2020-05-24 14:11:10 +01:00
uwee
ee3e29de9c
Gamify Tanks Example (#1906)
* add health lives and score to Tank

* add damage and a source object to projectile

* update prefabs to use new vars

* add gamecontroller to manage state and UI

* update scene to use new gamecontroller and ui

* retag as player

* code cleanup

* replaced GameController with a custom NetMan

* removed lives and respawning. added state management

* scene and prefab updates

* fix billboarding for player names

* fix: cant win game when alone

* darker menu colors
2020-05-23 09:49:04 +02:00
Chris Langsenkamp
9af63b8ced fixed typo 2020-05-23 02:53:45 -04:00
Chris Langsenkamp
90a0d366da fix comment 2020-05-23 02:53:15 -04:00
Chris Langsenkamp
12c38c4715 NetworkManager:RegisterClientMessages can use RegisterHandler instead of ReplaceHandler. 2020-05-23 02:49:31 -04:00
James Frowen
1c2bb2c6a3
Tests for static syncvar hooks (#1912)
* tests for static hooks

* csproj
2020-05-21 10:40:53 +02:00
James Frowen
0b2dd5fd36
moving writing of syncvar hook to once place (#1910)
* moving writing of syncvar hook to once place

* fixing typo in comment
2020-05-21 10:40:36 +02:00
MrGadget
7d4c0a9cb6
feat: Use SortedDictionary for LogSettings (#1914)
* feat: Use SortedDictionary for LogSettings

* Remove manual sort
2020-05-21 10:39:48 +02:00
Chris Langsenkamp
6c8ff77bc1 Added headers to LogSettings window & component 2020-05-20 16:04:01 -04:00
Chris Langsenkamp
c7d8c0933d feat: Prettify Log Names 2020-05-20 14:33:22 -04:00
James Frowen
efef55318c
deleting old files (#1905) 2020-05-20 10:58:22 -04:00
James Frowen
1b9e51b801
moving comment to right place (#1911) 2020-05-20 15:14:21 +01:00
James Frowen
f14639bc3d
Syncvar hook weaver tests (#1909)
* removing old sync var test

moving them to their own class

* weaver test for sync var hooks

* better error messages
2020-05-20 14:53:23 +01:00
James Frowen
e7c5558968
Syncvar hook tests (#1908)
* SyncVar hook tests

* moving tests for virtual sync hook

* white space and function names
2020-05-20 14:51:30 +01:00
Chris Langsenkamp
c45deb808e fix: Fixed Capitalization 2020-05-19 10:54:50 -04:00
Chris Langsenkamp
0cf5f27421 Changed NetworkRoomPlayer to use virtual SyncVar hook 2020-05-19 10:31:27 -04:00
James Frowen
94795c50fb
Moving weaver comments (#1904)
* Moving weaver comments

* removing extra line
2020-05-19 14:07:57 +01:00
James Frowen
866808438a
splitting code into multiple functions (#1903) 2020-05-19 13:50:44 +01:00
Chris Langsenkamp
f989b0fb11 doc: fixed crefs in xml comments 2020-05-18 15:38:06 -04:00
Chris Langsenkamp
8a58c31b48 doc: fixed cref's in XML comments 2020-05-18 15:01:31 -04:00
James Frowen
db773caab4
showing sync settings for non visable syncvar (#1899) 2020-05-18 19:52:36 +01:00
Chris Langsenkamp
042b4e1965 feat: Improved RoomPayer template 2020-05-18 14:18:43 -04:00
James Frowen
63ad7ffd20
adding warning to connect (#1874)
warning when client tries to connnect when a connection already exists
2020-05-18 16:06:07 +02:00
James Frowen
73022c8bbc
Cleanup changes (#1897)
* renaming variable to be more clear

* stopping items from being included by default
2020-05-16 01:09:21 +01:00
James Frowen
fe8e0c2e0e
fixing typo (#1895) 2020-05-15 12:51:38 +01:00
James Frowen
55be68ba05
Cleaning up csproj 2020-05-15 12:11:43 +01:00
James Frowen
97ff37e526
adding csproj file to make it easier to edit weaver tests (#1894) 2020-05-15 11:40:46 +01:00
James Frowen
138bb40450
Adding tests and clean up logs (#1891)
* adding test for sync list with using a class

* adding length check to synclist tests

* adding clear test

fixing Contains check

* fixing index
2020-05-14 19:50:58 +01:00
James Frowen
f63483bda7
Adding active check to NetworkServer.SendToAll (#1890)
* adding active check to SendToAll

* fixing identical call

* removing regex

* removing ; at end of file

* fixing typo in error message
2020-05-14 19:11:47 +01:00
James Frowen
bd6cd2164d
making error easier to read in the code (#1892) 2020-05-14 19:07:32 +01:00
MrGadget
05c119f505
fix: Don't call RegisterClientMessages every scene change (#1865) 2020-05-14 13:40:57 +02:00
James Frowen
69b845183c
feat: Improved Log Settings Window Appearance (#1885)
* setting window min size

* using Layout scopes

* adding scroll bar

* setting label and field widths
2020-05-12 16:34:24 +01:00
James Frowen
37323d319b
settings lastMessageTime to current time (#1879) 2020-05-11 10:28:48 +02:00
James Frowen
d8aaf76fb9
feat: Creating method to replace all log handlers (#1880)
* adding ReplaceLogHandler to LogFactory

* property to get all loggers
2020-05-11 10:28:17 +02:00
James Frowen
30a610d4e3
Setting default log level to error (#1882)
These warning only used to be enabled when debugfilter was on
2020-05-11 10:27:53 +02:00
Devon Merner
eb7c87d15a
feat: add SyncList.RemoveAll (#1881)
* Added SyncList.RemoveAll and unit test.

* Added RemoveAllNone unit test for SyncList

* SyncList.RemoveAll cleanup

* RemoveAll no longer calls collections .Add

Unit tests for SyncList.RemoveAll now check clientSyncList.
2020-05-11 10:27:32 +02:00
Devon Merner
e9ea117e61
Added SyncList.AddRange and InsertRange (#1883) 2020-05-11 10:27:06 +02:00
uwee
381adaa8f2
add logger to all classes that have logging but no logger (#1861)
* add logger to all classes that have logging but no logger

have not updated all of the debugs in the classes yet as the logger implementation has still not been decided.

* add logger to all classes that were missed

* update logger refs in BasicAuthenticator

* update logger refs in TimeoutAuthenticator

* update logger refs in NetworkAnimator

* update logger refs in NetworkRoomManager

* update logger refs in NetworkRoomPlayer

* update logger refs in NetworkSceneChecker

* update logger refs in AdditiveNetworkManager

* update logger refs in ZoneHandler

* update logger refs in ChatWindow

* update logger refs in ListServer

* update logger refs in Reward

* update logger refs in Reward

* update logger refs in NetworkRoomPlayerExt

* update logger refs in LocalConnections

* update logger refs in MessagePacker

* update logger refs in NetworkBehaviour

* update logger refs in NetworkManager

* update logger refs in NetworkReader

* update logger refs in NetworkReaderPool

* update logger refs in NetworkServer

* update logger refs in NetworkTime

* update logger refs in NetworkWriter

* update logger refs in NetworkWriterPool

* update to use logger log enabled

* remove if logfilter debug as log is not concatenated

* add if logger enabled check to concatenated strings

* Update Assets/Mirror/Authenticators/BasicAuthenticator.cs

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

* suggested fixes

* remove unused logger

* changed to warning

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-05-10 23:00:37 +01:00
James Frowen
a264583944
adding try catch to DestroyAllClientObjects (#1862) 2020-05-10 10:17:42 +02:00
James Frowen
1fbaf1ba23
Moving CleanupNetworkIdentities to NetworkServer (#1867)
* moving CleanupNetworkIdentities to NetworkServer

NetworkClient already cleans up spawned dictionary

* using GameObject.Destroy

* adding null check

* tests for NetworkServer.Shutdown
2020-05-10 10:14:18 +02:00
James Frowen
1cd31663a5
Creating LocalConnectionId constant (#1869)
Avoid using magic numbers
2020-05-10 10:13:43 +02:00
James Frowen
f5d02906c0
Removing host setup from networkserver test (#1868)
* Removing host setup

Only set up the minimum in order to test a feature

* moving to new file

* inverting if

* removing extra  line

* fixing test for headless
2020-05-09 21:53:29 +01:00
James Frowen
b069a6ce27
clearing dictionary in test teardown (#1871) 2020-05-09 17:18:22 +01:00
James Frowen
11ed61aa61
adding namespace (#1870) 2020-05-09 17:18:14 +01:00
James Frowen
4c25122958
fix: Cleaning up network objects when server stops (#1864)
* destroying or disabling network objects when server stops

* adding clear after loop

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>
2020-05-09 10:42:06 +01:00
Chris Langsenkamp
b4511a0637 fix: Prevent host client redundantly changing to offline scene 2020-05-09 01:28:30 -04:00
uwee
2108456021
Fix comments (#1860)
* fix ref to NetMan in Authenticator

* does not return

* added basic description of return conditions

* comment is 2 years old from HLAPI 2017.4 and no longer relevant

* remove empty whitespace

* Update Assets/Mirror/Runtime/NetworkConnection.cs

* Update Assets/Mirror/Runtime/NetworkServer.cs

* Update Assets/Mirror/Runtime/NetworkAuthenticator.cs

* Update Assets/Mirror/Runtime/NetworkServer.cs

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: MrGadget <chris@clevertech.net>
2020-05-08 21:41:57 -04:00
James Frowen
ad782a59a7
adding assert extension method (#1804) 2020-05-09 00:24:05 +01:00
James Frowen
fd4357cd26
feat: LogSettings that can be saved and included in a build (#1863)
* Moving code that draws the log levels to its own class

this allows other scripts to use the same code to draw the log levels

* adding LogSettings to store the log levels

* adding GUI method to create LogSettings

* Creating Editor for LogSettings that uses LogLevelsGUI

* adding helper to find Existing LogSettings

* Adding field to LogLevelWindow to use LogSettings

* Adding LogSettings to drawer and save on changed check

* fixing field default value of null so that c# compiler doesnt complain

* loading existing settings into LogFactory when the editor starts

* component to load log settings in a build

* changing namespace

* Moving logging scripts to subfolder

* NetworkLogSettings editor

Makes the component use the same gui as the Window and ScriptableObject

* Making NetworkLogSettings find existing settings on Reset

reset is called when component is added

* adding attributes

* adding docs

* adding icon

* doc.

* documentation and images

* fixing image extension

* Update Assets/Mirror/Runtime/Logging/EditorLogSettingsLoader.cs

Co-authored-by: vis2k <info@noobtuts.com>

Co-authored-by: vis2k <info@noobtuts.com>
2020-05-08 23:51:21 +01:00
James Frowen
eed1ddc090
renaming player to ownerPlayer (#1859) 2020-05-08 00:04:57 +01:00
MrGadget
2c40c71557
Simplify 2K Example (#1857) 2020-05-07 13:29:33 +02:00
Chris Langsenkamp
b2f52d7892 fix: Removed unnecessary registration of player prefab in NetworkRoomManager 2020-05-07 04:45:03 -04:00
Chris Langsenkamp
38c8bb4dda Removed stray leftover comment 2020-05-07 03:56:09 -04:00
Chris Langsenkamp
0be4e5b999 Fixed 2 typos 2020-05-07 03:41:15 -04:00
Chris Langsenkamp
3179f08e3d fix: NetworkRoomManager.minPlayers is now protected so it's available for derived classes. 2020-05-07 02:41:58 -04:00
Chris Langsenkamp
fb927f8141 fix: Added ClientOnly check 2020-05-06 14:07:44 -04:00
James Frowen
53512cab35
Cleaning up some code (#1854)
* rename to validPrefabNetworkIdentity

* typo

* moving code to base class

* removing protected
2020-05-05 15:59:02 +01:00
vis2k
2d89f059af
perf: NetworkProximityChecker checks Server.connections instead of doing 10k sphere casts for 10k monsters. 2k NetworkTransforms demo is significantly faster. Stable 80fps instead of 500ms freezes in between. (#1852) 2020-05-05 09:54:11 +02:00
Chris Langsenkamp
201411d7f4 Fixed Observer Template 2020-05-05 00:37:21 -04:00
James Frowen
bd49fe4d9d
adding ignoreFailingMessages around error logging (#1803) 2020-05-04 18:14:42 +01:00
James Frowen
a88d2e6be1
tests for ClientScene.DestroyAllClientObjects (#1850)
* tests for ClientScene.DestroyAllClientObjects

* adding test for list being clear

* removing extra line
2020-05-04 17:15:56 +01:00
James Frowen
8b0958e24c
adding namespace (#1851) 2020-05-04 17:11:47 +01:00
vis2k
ecb10eb965
2k NetworkTransforms (#1849) 2020-05-04 17:52:00 +02:00
James Frowen
bb7765e0c1
Test cleanup (#1847)
* cleaning up objects after test

* test clean up
2020-05-04 13:10:22 +01:00
James Frowen
2c11cc8393
tests for ClientScene.PrepareToSpawnSceneObjects (#1846)
* tests for ClientScene.PrepareToSpawnSceneObjects

* removing line
2020-05-04 12:54:43 +01:00
James Frowen
64e52bf31e
Moving classes to their own files (#1845) 2020-05-04 10:59:38 +01:00
James Frowen
c9db7e3754
Moving Client scene tests to their own class per method (#1843)
* fixing comments

* adding extra lines

* moving tests to their own class per method
2020-05-04 10:33:32 +01:00
James Frowen
ca6fd99242
Clean up after breaking (#1844)
* adding new define to project settings

* Marking test for RemovePlayerMessage as Obsolete
2020-05-04 10:17:13 +01:00
James Frowen
54071da3af
fix: Improved error checking for ClientScene.RegisterPrefab with handler (#1841)
* test for RegisterPrefab with handler

* comments

* finishing tests and ignore some cases

* updating checks and log messages

* more tests

* removing test cases
2020-05-04 10:55:36 +02:00
Chris Langsenkamp
ed27578f91 Fixed comment 2020-05-03 12:29:14 -04:00
Chris Langsenkamp
477de07003 Updated ReadMe 2020-05-03 12:11:27 -04:00
Chris Langsenkamp
0cf92e9064 Reset Instances to default (3) 2020-05-03 12:11:08 -04:00
MrGadget
75f3975041
breaking: Eliminates RemovePlayerMessage As Security Risk (#1835)
* fix: Deprecate RemovePlayerMessage As Security Risk

* Updated PreprocessorDefine

* Updating for changes in master

* Updating for changes in master

* Removed the error flag so tests could still pass
2020-05-03 16:45:53 +02:00
MrGadget
2a08aac7cb
fix: Don't call RegisterClientMessages twice (#1842) 2020-05-03 16:43:00 +02:00
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