Commit Graph

2342 Commits

Author SHA1 Message Date
Kyle
ba29119aa1
Missed one internal call that the NetworkManager uses (#2044) 2020-06-27 00:35:58 +01:00
Eunseop Shim
350ce47db3
Implement IReadOnlyDictionary for SyncDictionaries (#2032) 2020-06-26 13:21:54 +02:00
Kyle
d06ee6a21d
Kr/issue 2039 (#2040)
* Update NetworkClient.cs

* Update NetworkServer.cs

* Missed a call
2020-06-26 13:18:56 +02:00
James Frowen
78bd284b6f
fixing null ref (#2043) 2020-06-26 09:47:49 +01:00
James Frowen
e36449cb22
fix: changing namespace to match folder name (#2037)
* updating namespace

* updating example name spaces
2020-06-25 16:13:47 +01:00
James Frowen
7c9afca7c5
deleting old list server (#2034)
* deleting old list server

* fixing prefab name
2020-06-25 16:23:09 +02:00
James Frowen
18691dabe0
adding game name to api updater (#2036) 2020-06-25 12:14:50 +01:00
James Frowen
7d0e907b73
feat: More examples for Mirror Cloud Service (#2029)
* fixing pong spawn points

* renaming files and asmdef

* More Cloud examples

* Moving pong example to cloud folder
* Moving shared code to GUI folder
* Adding readme for examples
* Adding tank example
2020-06-25 01:58:47 +01:00
James Frowen
54a69bbc83
Fixing warning messages (#2030)
* disabling warning for empty method

* removing null propagation

null propagation in untiy can cause MissingReferenceException
2020-06-24 23:13:12 +02:00
James Frowen
b42c74bc40
adding doc comment for SpawnMessag (#2027) 2020-06-24 23:12:00 +02:00
James Frowen
f1fdc959dc
feat: adding demo for mirror cloud services (#2026)
* adding mirror list services

* fixing code smells

* removing runtime example folders

* removing matchmaking code till feature is ready

* fixing scene path

* updating readme to say where example is
2020-06-23 20:39:38 +02:00
James Frowen
065d320208
calling animator.enabled before calls to animator (#2000)
some functions don't need this check as the check is done before they are called
2020-06-21 12:09:24 +02:00
James Frowen
296f6f9cd8
Only setting last parameters values if they have changed (#1999)
* only setting last values if they have changed

* adding comment
2020-06-21 12:06:37 +02:00
James Frowen
f18f7a5c3d
making sure that trigger is called on the server (#1998) 2020-06-21 12:06:07 +02:00
James Frowen
3bea342257
rethrow error with stack (#2013)
this will help error be more useful
2020-06-21 11:54:11 +02:00
James Frowen
a05df81127
adding if before starting task (#2021) 2020-06-21 11:52:32 +02:00
uwee
36c0b65e8b
fixes broken ui for Tanks example (#2015) 2020-06-20 23:39:36 +01:00
James Frowen
4af72c3a63
fix: calling base method when the first base class did not have the virtual method (#2014)
* adding test for error

* adding test with multiple overrides

* calling methods in base type

* adding test for more than 1 override
2020-06-19 00:23:46 +02:00
Chris Langsenkamp
5032ceb000 fix: Clean up roomSlots on clients in NetworkRoomPlayer 2020-06-18 09:44:50 -04:00
Chris Langsenkamp
37338706f9 Remove redundant .transform 2020-06-17 17:35:32 -04:00
James Frowen
8c1ed40c40
adding check before telling clients (#2010)
* adding check before telling clients

* Update Assets/Mirror/Runtime/NetworkManager.cs

Co-authored-by: MrGadget <chris@clevertech.net>
2020-06-16 12:21:57 -04:00
James Frowen
76d49c1e99
faster write line (#2009) 2020-06-16 16:16:58 +01:00
Chris Langsenkamp
b41fca2d28 Changed to inline token injection 2020-06-16 08:29:59 -04:00
James Frowen
46239783f3
feat: adding log handler that sets console color (#2001)
* adding log handler that sets console color

* fixing stack trace log

* removing empty cases

* removing string.Format
2020-06-15 14:54:35 +02:00
James Frowen
5f0c7ceb52
moving spawn functions next to each other (#2002) 2020-06-14 17:33:32 +01:00
Chris Langsenkamp
fffd462df8 fix: Suppress warning 2020-06-13 13:25:07 -04:00
Chris Langsenkamp
23b545fc8a suppress erroneous warning 2020-06-13 12:34:14 -04:00
James Frowen
5480a583e1
fix: Websockets Transport now handles being disabled for scene changes (#1994)
* fix: Websockets Transport now handles being disabled for scene changes

* Removed unused method

* Removed test warnings

* Changed back to await Task.Run

* adding queue to ClientJs

keeping standalone client without queue
dont need common class for now as that over complicates the fix

Co-authored-by: Chris Langsenkamp <chris@clevertech.net>
2020-06-13 12:21:13 -04:00
MrGadget
7e2b7338a1
feat: Experimental Network Transform (#1990)
* feat: Experimental Network Transform

* Removed lastClientSendTime and lastServerSendTime
2020-06-12 16:48:34 +02:00
MrGadget
b962d71944
breaking: Websocket Transport now requires full path to PFX (#1989)
* breaking: Websocket Transport now requires full path to PFX

* Added HelpURL
2020-06-12 09:38:45 -04:00
Chris Langsenkamp
1dc0d98374 fix: Replaced Icosphere with centered pivot 2020-06-12 09:19:02 -04:00
Chris Langsenkamp
9a42fe3342 fix: WebSockets: Force KeepAliveInterval to Zero 2020-06-12 08:24:13 -04:00
Chris Langsenkamp
285ec968c0 Fix: WebSockets: Force KeepAliveInterval to Zero 2020-06-11 23:07:21 -04:00
James Frowen
781e8070de
fixing using statments (#1983) 2020-06-10 21:56:44 +01:00
Chris Langsenkamp
ae3dc04fb9 fix: Removed unused variable 2020-06-10 12:57:46 -04:00
James Frowen
b92da91d7a
fix: Allowing overrides for virtual commands to call base method (#1944)
* adding override method that calls base

* trying to debug instruction for call to base

* extra tests

* adding tests for client and target Rpc

* adding fix for calls to base class

Since networkbehaviour parents are processed first we can just fix the
method when we see it in SubstituteMethod
2020-06-10 16:11:29 +02:00
James Frowen
2ce5880646
breaking: moving static code from NetworkBehaviour to its own class (#1951)
* moving static code from NetworkBehaviour to its own class

* Replacing calls in tests to use new RemoteCallHelper

* updating references to types in weaver

* adding version 15 defines

* renaming function
2020-06-10 16:10:54 +02:00
James Frowen
7e93030849
feat: adding script that displays ping (#1975)
* adding script that displays ping

* fixing style

* adding mirror icon

* Update Assets/Mirror/Components/NetworkPingDisplay.cs

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

* adding DisallowMultipleComponent

* adding docs on NetworkPingDisplay

Co-authored-by: MrGadget <chris@clevertech.net>
2020-06-10 14:31:13 +01:00
James Frowen
3db57e5f61
fix: making weaver include public fields in base classes in auto generated Read/Write (#1977)
* adding test to check if data is sent

* test for generating writer for inherited class

* adding extension method for FindAllPublicFields
2020-06-10 15:12:36 +02:00
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