Commit Graph

2303 Commits

Author SHA1 Message Date
James Frowen
dfa2e7aff6
fixing typo (#1976) 2020-06-09 12:26:27 +01:00
James Frowen
e39b91efca
removing extra null check (#1974)
if transform is not null then gameObject will also be not null
2020-06-09 11:32:50 +02:00
Chris Langsenkamp
986975d65e Set Tanks example to Round Robin 2020-06-08 10:02:19 -04:00
James Frowen
69e58cc870
checking this instead of this.gameobject (#1973) 2020-06-08 08:54:34 +02:00
James Frowen
927c4dede5
fix: Replacing ClearDelegates with RemoveDelegates for test (#1971)
* making ClearDelegates Obsolete

* returning hash from Registering function

* fixing tests
2020-06-08 08:54:00 +02:00
Chris Langsenkamp
14a851fde1 Removed unused variable 2020-06-07 20:12:31 -04:00
Chris Langsenkamp
745741e000 Refinements to player controllers in examples 2020-06-07 20:12:11 -04:00
Chris Langsenkamp
198b2bd605 Refined playercontroller in MultipleAdditiveScenes example 2020-06-07 14:27:38 -04:00
James Frowen
55736eba5e
breaking: adding option to receive NetworkConnectionToClient in Comand (#1970)
* moving exists check to its own function

* moving order and adding whitespace

* adding SenderConnection Attribute

* adding weaver tests for SenderConnection Attribute

* tests for sender connection

* updating valid method to work with sender connection

* using RemoteCallType in read write calls

* adding sender connection to CallCmd

* updating CmdDelegate

* adding NetworkConnection to invokeFunction

* updating old tests

* removing SenderConnectionAttribute

* typo

* adding version 14 defines
2020-06-07 11:25:21 +01:00
James Frowen
822b04155d
fix: Better errors when trying to replace existing assetid (#1827)
* allowing assetId to be set at runtime

* removing ignore from tests

* adding errors and warning for settings assetId

* adding tests for settings assetId

* not allowing assetId to be replaced

* fixing test

* giving error when old assetId was not empty

* moving test to runtime
moving base classes to common

* moving more tests to runtime

* changing tests to give error when assetid is changed

* removing un-needed check

* removing NewAssetId tests
2020-06-06 23:09:46 +02:00
James Frowen
fee522b1cf
making log warning (#1969) 2020-06-06 22:56:52 +02:00
vis2k
67c604959c 2k Demo: enable GPU Instancing for Monster & Player materials to reduce batches from 8k to 26 when drawing all 2k monsters 2020-06-06 11:06:11 +02:00
MrGadget
864fdd5fdc
feat: Add excludeOwner option to ClientRpc (#1954)
* WIP

* WIP

* WIP

* WIP

* feat: Add excludeOwner option to ClientRpc

* removed default value

* Fixed tests

* Update Assets/Mirror/Editor/Weaver/Processors/RpcProcessor.cs

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

* adding weaver test for exlude owner

* adding test for call to exclude owner

* adding comment back

* removing ClientRpcInfo

we don't need ClientRpcInfo as client rpc is only called server side
so we don't need to double check exlucde owner, weaver can handle it

* removing extra register

* fixing test compile errors

* Update Assets/Mirror/Tests/Editor/Weaver/WeaverClientRpcTests~/ClientRpcThatExcludesOwner.cs

* doc: fixed typos in readme

* doc: Updated ChangeLog

* doc: Updated docs for Command ignoreAuthority option

* doc: Updated ChangeLog

* fixing typo in comment (#1963)

* Removed YouTube link. Link is changing soon. (#1962)

* Removed YouTube link. Link is changing soon. (#1961)

* Removed YouTube link. Link is changing soon. (#1960)

* Removed YouTube link. Link is changing soon. (#1959)

* Removed YouTube link. Links are changing. (#1958)

* Removed YouTube link. Links are changing. (#1957)

* Update NetworkBehavior.md (#1956)

* fixed comment typo

* doc: Updated Migration guide example

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
Co-authored-by: FirstGearGames <firstgeargames@gmail.com>
2020-06-05 21:49:36 +02:00
Chris Langsenkamp
b4d0296434 Removed stray // 2020-06-05 02:24:56 -04:00
Chris Langsenkamp
1a1eec9c14 fixed comment typo 2020-06-03 10:34:51 -04:00
James Frowen
2444275401
fixing typo in comment (#1963) 2020-06-03 15:11:57 +01:00
James Frowen
e6311ecb37
adding better error message for ResolveMethod (#1950) 2020-05-31 19:35:22 +02:00
James Frowen
e736f41470
moving exists check to its own function (#1948)
* moving exists check to its own function

* moving order and adding whitespace
2020-05-31 19:35:06 +02:00
James Frowen
62257d8c4f
fix: better error for Command, ClientRpc and TargetRpc marked as abstract (#1947)
* weaver test for virtual and abstract commands

* adding error for abstract methods

* adding base class for command tests and renaming file

* adding tests for virutal commands

* renaming classes to make more sense

* removing whitespace

* adding tests for Client Target Rpc too

* fixing compile error

* fixing message and typo

* removing line

* renaming namespace and base class to be used by Rpc

* tests for calling Rpc

* tests for virtual rpc

* fixing typo
2020-05-30 19:17:29 +02:00
James Frowen
cace9ab840
Refactor weaver 4 (#1946)
* white space

* renaming parameter name

* renaming parameter name

* making comment look the same as the one in writeArguments

* removing NetworkBehaviourType2 to make code simplier

* whitesapce
2020-05-30 17:38:34 +02:00
James Frowen
b4acf7d9a2
feat: Adding onLocalPlayerChanged to ClientScene for when localPlayer is changed (#1920)
* adding onLocalPlayerChanged event

* Update Assets/Mirror/Runtime/ClientScene.cs

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

Co-authored-by: MrGadget <chris@clevertech.net>
2020-05-30 15:45:49 +02:00
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