Commit Graph

2421 Commits

Author SHA1 Message Date
James Frowen
60678d9bc7
adding readme (#1672) 2020-04-07 12:30:57 -05:00
James Frowen
4fc58be148
making network behaviour abstract (#1669) 2020-04-07 10:23:09 +02:00
James Frowen
17885a0da2
Adding comments to NetworkBehaviour (#1670) 2020-04-07 00:33:15 +01:00
James Frowen
f8dee1f1a1
removing unnecessary using (#1667) 2020-04-06 09:56:26 -05:00
James Frowen
75dc0af65f
Pipeline fix for performance tests (#1666)
* updating coverage manifest

* removing version tag
2020-04-06 09:42:47 -05:00
James Frowen
52e91e7d1e
Benchmark performance test (#1661)
* benchmark performance test

* adding hooks for performance test

* using hooks to measure time of Lateupdate

moving code to setup and teardown
2020-04-06 09:49:46 +02:00
Chris Langsenkamp
532555bbea Put methods in call order 2020-04-04 12:03:08 -04:00
James Frowen
34415fe876
performance test for ULocalConnection (#1655) 2020-04-04 15:03:05 +02:00
James Frowen
3219fd4b51
performance test for NetworkWriter (#1654) 2020-04-04 15:02:48 +02:00
James Frowen
0157f9d909
adding performance test asmdef (#1653)
* adding performance test asmdef

* adding performance tests to packages

* fixing asmdef to work with 2018 and 2019
2020-04-04 14:21:53 +02:00
Paul Pacheco
84b2c8cf26
perf: Use continuewith to queue up ssl messages (#1640)
get rid of the complicated queue. Use Task.continuewith 

also,  apparently we have to flush or latency is really bad.
2020-04-03 07:24:07 -05:00
James Frowen
2ef8404f82
adding Category to weaver and Telepathy tests (#1643) 2020-04-02 18:50:42 +02:00
James Frowen
456fde07bc
removing cahced field (#1641) 2020-04-02 18:49:38 +02:00
James Frowen
4d5cee893d
perf: Adding buffer for local connection (#1621)
* Using writer for local connection

LocalConnectionBuffer

* removing assert

* fixing error and cleaning up code

* removing old queue

* tests for LocalConnectionBuffer

* removing field

* removing extra lines

* Update LocalConnections.cs

removing empty line

* adding comment for packet count
2020-04-02 18:49:09 +02:00
Chris Langsenkamp
caccebaa17 Updated example prefabs 2020-04-02 01:11:11 -04:00
Chris Langsenkamp
a6f98b09cf Updated NetworkManager Script Template 2020-04-01 23:49:47 -04:00
Paul Pacheco
6591539c31 Remove unused local variable 2020-04-01 12:02:44 -05:00
Chris Langsenkamp
e420dcb6b6 Fixed comment in template 2020-04-01 05:33:16 -04:00
MrGadget
d2a58a4c25
fix: Destroyed NetMan due to singleton collision must not continue. (#1636)
* fix: Destroyed NetMan due to singleton collision must not continue.

* Added comment

* Added Comment
2020-04-01 11:29:35 +02:00
Paul Pacheco
f2ccb59ae6
feat: logging api (#1611)
* feat: logging api

Provide a ILogger (from unity framework) per class
it can track loggers per class and use  Debug.unityLogger by default

* Logger field should never change

* Support loggers for static classes

Unfortunately we can't have generics with static classes.
Thus we can keep the loggers in a Dictionary instead indexed by name

if you need a logger for a static class,  you can just do:

private static readonly ILogger logger = LogFactory.GetLogger(nameof(MyClass));

* Remove unused using

* Better tests by providing a mock handler
2020-04-01 11:27:51 +02:00
James Frowen
4fea1ee9b3
making singleton private set (#1635) 2020-04-01 01:11:45 +02:00
James Frowen
8087d3da7d
explicit type preference (#1634) 2020-03-31 22:57:47 +02:00
James Frowen
2617d65ad1
removing unnecessary this (#1633) 2020-03-31 22:57:27 +02:00
James Frowen
1e326ce6fe
removing unnecessary casts (#1632) 2020-03-31 22:56:54 +02:00
James Frowen
7dde2f80fe
removing and sort using (#1631) 2020-03-31 22:56:30 +02:00
James Frowen
f19e2d3aac
more formatting (#1630) 2020-03-31 22:55:58 +02:00
James Frowen
c6501aab06
formatting (#1629) 2020-03-31 12:15:30 -05:00
Chris Langsenkamp
7f208ffba9 Updated Comments 2020-03-30 22:28:59 -04:00
James Frowen
1ae038172a
perf: faster NetworkReader pooling (#1623)
* replacing stack with array for NetworkReaderPool

* Reader tests
2020-03-30 17:08:21 +02:00
James Frowen
f9335bb5f3
Finding WeaverAssembler path before running tests (#1608)
* Finding WeaverAssembler path before running tests

* using nameof
2020-03-30 14:45:36 +02:00
James Frowen
dcb618bfd6
fixing MissingReferenceException (#1624) 2020-03-29 21:39:18 -04:00
Paul Pacheco
deb286f0c2 refactor: simplify getting hook method 2020-03-29 14:25:07 -05:00
Paul Pacheco
518233cd7e This is always true 2020-03-29 14:11:54 -05:00
Paul Pacheco
69fdbea892 Unused using 2020-03-29 14:11:54 -05:00
James Frowen
da2e61b30a
doc comments (#1622) 2020-03-29 11:41:21 -05:00
vis2k
254a49496f NetworkWriterPool: add performance comment 2020-03-29 17:33:03 +02:00
vis2k
d865dddb4e 10k demo: deterministic health updates 2020-03-29 17:29:11 +02:00
James Frowen
4fa43a9471
perf: faster NetworkWriter pooling (#1620)
* using array in NetworkWriterPool instead of stack

* Using property

adding debug warning if pool is full

* adding tests for  NetworkWriterPool

* Update NetworkWriterPool.cs

* Update NetworkWriterPoolTest.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-03-29 17:16:16 +02:00
Paul Pacheco
e96b687563 Revert "perf: faster NetworkWriter pooling (#1616)"
This reverts commit 5128b122fe.
2020-03-28 19:04:06 -05:00
Paul Pacheco
96e690ef9c Revert "Explain why 10"
This reverts commit e8cdb7569d.
2020-03-28 19:03:53 -05:00
Paul Pacheco
e8cdb7569d Explain why 10 2020-03-28 18:14:48 -05:00
James Frowen
e12f33d306
fixing MissingReferenceException (#1619) 2020-03-28 15:00:48 -04:00
James Frowen
5128b122fe
perf: faster NetworkWriter pooling (#1616)
Stack turned out to be slow way to pool NetworkWriters.
Replace them with an array

see #1614
2020-03-28 12:58:00 -05:00
Paul Pacheco
61163cacb4
perf: replace isValueType with faster alternative (#1617)
According to vis benchmark here https://github.com/vis2k/Mirror/issues/1614#issuecomment-605443808
isValueType is an expensive operation.

This microoptimization replaces isValueType for a faster (not so readable) alternative
2020-03-28 12:27:42 -05:00
Paul Pacheco
166b8c9467
perf: use byte[] directly instead of MemoryStream (#1618)
* perf: use byte[] directly instead of MemoryStream

* Optimize writing int32 and int64

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkWriter.cs

Co-Authored-By: vis2k <info@noobtuts.com>

* Update Assets/Mirror/Runtime/NetworkWriter.cs

* Start with bigger buffer

* Woops,  should have double checked suggestion

* Removed invalid Test

We should not require NetworkWriter to behave in certain way when Position
is set to out of bounds.

That is an invalid use of NetworkWriter, so NW should be free to do any behavior

* smells

* Update NetworkWriter.cs

Co-authored-by: vis2k <info@noobtuts.com>
2020-03-28 18:17:53 +01:00
vis2k
a4bd6e7e66
Examples: added 10k monsters benchmark (#1615)
* scene and 1bit from kenney

* tilemap

* slice sprites

* name some

* create empty tile

* 2d cam

* monster prefab

* 100 monsters

* monster netid

* rename

* zoom cam, 10k monsters

* resave scene for sceneids

* Monster script

* add transparent textures for monsters

* replace monster sprite with transparent

* scripts

* mvoed into benchmarks folder

* player sprite

* tilemap background

* player prefab

* health update
2020-03-28 13:03:19 +01:00
Paul Pacheco
3fb7559561 remove redundant code block 2020-03-27 17:25:33 -05:00
Paul Pacheco
f56471085f Fix typos in tests 2020-03-27 17:21:24 -05:00
Paul Pacheco
10813cb9eb Reduce cognitive complexity of GenerateClassOrStructReadFunction 2020-03-27 17:14:39 -05:00
Paul Pacheco
ef80575787 Remove redundant code block 2020-03-27 17:06:59 -05:00
Paul Pacheco
6587c1f7b9 Better comment 2020-03-27 17:03:40 -05:00
Paul Pacheco
1f8b27e927 Remove unused using 2020-03-27 17:02:59 -05:00
Lymdun
5d76afbe29
perf: Remove redundant mask (#1604) 2020-03-27 11:34:56 +01:00
Paul Pacheco
dbe1365329 fix naming convention 2020-03-26 23:15:09 -05:00
Paul Pacheco
1d4eed77ed Simplify getting methods 2020-03-26 19:28:17 -05:00
James Frowen
c6023c8275
unit test for IsActiveScene (#1597) 2020-03-27 00:22:46 +01:00
Paul Pacheco
c1cfc42181 perf: simplify and speed up getting methods in weaver 2020-03-26 17:35:15 -05:00
Paul Pacheco
ebc817028b reduce cognitive complexity of CheckForHookFunction 2020-03-26 17:35:15 -05:00
Paul Pacheco
c6e8717909 simplify getting attribute fields 2020-03-26 17:35:15 -05:00
Chris Langsenkamp
5146e95fe0 Udpated scene file 2020-03-26 18:15:44 -04:00
vis2k
6151edc730 rename test 2020-03-26 21:27:47 +01:00
vis2k
e059b23a7f
NetworkManager.StopHost stops client, then server. Seems more consistent this way. (#1602) 2020-03-26 21:10:16 +01:00
vis2k
678ac68b58
fix: #1515 - StopHost now invokes OnServerDisconnected for the host client too (#1601)
* fix: #1515 - StopHost now invokes OnServerDisconnected for the host client too

* avoid NullReferenceException when calling StopHost without StartHost

* test WIP

* test
2020-03-26 20:54:53 +01:00
Paul Pacheco
c8a1a5e56f
feat: now you can assign scenes even if not in Editor (#1576)
* feat: now you can assign scenes even if not in Editor

Instead of using scene name, scenes are now identified by path.
This fixes a couple problems:

1) In the room example, now you can assign the scenes even if they have
not been added to the editor.  This was a constant pain because if you
open the offlinescene, all the scenes got wiped.  You had to add the
scenes to the editor and reassign them all again.   With this PR you
will still need to add them to the editor, but they will remain
assigned.

2) It is possible for multiple scenes to have the same name,  but it is
not possible for multiple scenes to have the same path. So this is
a more robust way to identify scenes

This also greatly simplifies the scene SceneDrawer

BREAKING CHANGE: You will need to reassign your scenes after upgrade

* Automatically fix properties that were using name

If you open a NetworkManager or other gameobject that uses a scene name
it now gets converted to scene path by the SceneDrawer

* Use get scene by name

* Scene can never be null

* Update Assets/Mirror/Examples/AdditiveScenes/Scenes/MainScene.unity

* Issue warning if we drop the scene

* Issue error if scene is lost

* Add suggestion on how to fix the error

* Keep backwards compatibility, check for scene name

* cache the active scene

* Update Assets/Mirror/Editor/SceneDrawer.cs

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

* GetSceneByName only works if scene is loaded

* Remove unused using

Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
2020-03-26 17:49:47 +01:00
vis2k
8c6ae0f8b4
fix: #1599 - NetworkManager HUD calls StopHost/Server/Client depending on state. It does not call StopHost in all cases. (#1600) 2020-03-26 17:34:16 +01:00
Paul Pacheco
7a6b854179 Simplify finding custom attributes 2020-03-26 09:52:39 -05:00
Paul Pacheco
d530d7a1e4 Lists are not needed anymore 2020-03-26 07:50:16 -05:00
Paul Pacheco
97fe7a0a01 Simplify adding substitute methods 2020-03-26 07:46:15 -05:00
Paul Pacheco
9c4d172664 reduce Cognitive complexity 2020-03-26 00:36:15 -05:00
Paul Pacheco
486b094b22 reduce Cognitive complexity 2020-03-26 00:33:04 -05:00
Paul Pacheco
559cf80755 parameter name matches base class 2020-03-26 00:25:35 -05:00
Paul Pacheco
910aeab4eb fix smells 2020-03-26 00:24:20 -05:00
Paul Pacheco
3029467709 fix flaky test 2020-03-26 00:17:22 -05:00
Paul Pacheco
de768d142f Remove redundant if 2020-03-25 05:02:04 -05:00
Paul Pacheco
62525a9b4b Use List instead of yield return 2020-03-25 04:53:20 -05:00
Paul Pacheco
307807d68c Use List instead of yield return 2020-03-25 04:53:20 -05:00
vis2k
ad39ddc92f
NetworkTransform rotation compression removed. Gets rid of endless discussions, optimizations and issues. Sending a quaternion is never going to fail. (#1595)
* NetworkTransform rotation compression removed. Gets rid of endless discussions, optimizations and issues. Sending a quaternion is never going to fail.

* keep empty file

* keep empty file
2020-03-25 10:18:07 +01:00
Chris Langsenkamp
ef2f6b45bc Removed noisy warning and added reason in comments 2020-03-24 23:56:52 -04:00
Chris Langsenkamp
111ae51102 Room Example shows how to get Network Manager out of DontDestroyOnLoad 2020-03-24 22:04:54 -04:00
Chris Langsenkamp
d034ef616f feat: Added Virtual OnRoomStopServer to NetworkRoomManager and Script Template 2020-03-24 22:02:01 -04:00
Paul Pacheco
8026f6dcac unnest ifs 2020-03-24 20:17:03 -05:00
Paul Pacheco
0541b339ed Merge ifs, fix smells 2020-03-24 20:14:43 -05:00
Paul Pacheco
9c917c582e Remove unused using 2020-03-24 20:09:05 -05:00
Paul Pacheco
2a3470dfb4 Helpers should not be instantiated 2020-03-24 20:08:42 -05:00
Paul Pacheco
b740b2487b this is not code 2020-03-24 20:07:30 -05:00
Paul Pacheco
260e37cbb2 Reduce cognitive complexity of OnCompilationFinished 2020-03-24 20:04:34 -05:00
Paul Pacheco
6f04ff77d7 Remove commented out code 2020-03-24 20:02:49 -05:00
Paul Pacheco
48cf45b8ce Remove unused method 2020-03-24 20:01:55 -05:00
Paul Pacheco
f4bc7ca691 use same parameter name in override 2020-03-24 20:01:00 -05:00
Paul Pacheco
433818b440 Remove cognitive complexity of NetworkInformation
Split up large method,
Use static variables instead of fields
2020-03-24 19:58:39 -05:00
Chris Langsenkamp
85c4f1bcf1 Remove unused variable 2020-03-24 17:58:04 -04:00
vis2k
347cb5374d
fix: #1593 - NetworkRoomManager.ServerChangeScene doesn't destroy the world player before replacing the connection. otherwise ReplacePlayerForConnection removes authority form a destroyed object, causing all kidns of errors. The call wasn't actually needed. (#1594)
* fix: #1593 - NetworkRoomManager.ServerChangeScene destroys the world player after replacing the connection, not before. previously ReplacePlayerForConnection would operate on dead data.

* remove it entirely
2020-03-24 22:28:04 +01:00
Paul Pacheco
9a50fbd507 Remove redundant initialization 2020-03-24 15:59:17 -05:00
Paul Pacheco
9fe718e8d5 playerName -> PlayerName 2020-03-24 15:59:17 -05:00
Paul Pacheco
72de733a62 remove redundant initialization 2020-03-24 15:59:17 -05:00
Paul Pacheco
1be3333905 Move ResolveMethod together 2020-03-24 15:59:17 -05:00
Paul Pacheco
25b13f83c2 CheckDLLPath -> CheckDllPath 2020-03-24 15:59:17 -05:00
Paul Pacheco
f74abc8f86 UnityEngineDLLDirectoryName -> UnityEngineDllDirectoryName 2020-03-24 15:59:17 -05:00
Paul Pacheco
e83daa8c5c drawSyncList -> DrawSyncList 2020-03-24 15:59:17 -05:00
MrGadget
c796116758
Remove Usage of LAN in HUD and Docs (#1592)
* Remove usage of LAN in HUD and docs

* Server + Client

* Host (Server + Client)

* HUD Image
2020-03-24 21:55:18 +01:00
Paul Pacheco
4c15fcf771 fix naming conventions 2020-03-24 15:25:54 -05:00
Paul Pacheco
6968234689 Reduce cognitive complexity of OnPostProcessScene
Fixes smell found by sonar qube
No code changes, just split into 2 functions
2020-03-24 15:20:42 -05:00
Paul Pacheco
e841aa9bf7 merge ifs 2020-03-24 15:10:32 -05:00
Paul Pacheco
9cc67938c3 remove redundant cast 2020-03-24 15:08:29 -05:00
Paul Pacheco
2d554d446e Reduce cognitive complexity of RebuildObservers
Identified as a smell by sonar qube
No logic changes, just refactor the code into a separate functions
2020-03-24 14:52:19 -05:00
Chris Langsenkamp
f084706bdf Scene meta update 2020-03-24 15:28:34 -04:00
Paul Pacheco
c69ae75d6a simplify parameter change 2020-03-24 13:47:10 -05:00
Paul Pacheco
aba028e74b Reduce cognitive complexity of NetworkRoomPlayer.OnGUI
fixes code smell in SQ, no behavior change,  just split the method into
smaller methods
2020-03-24 12:52:02 -05:00
Paul Pacheco
102a8822b0 fix smell discard unused parameter 2020-03-24 12:52:02 -05:00
Paul Pacheco
e8c9d7951d test that we cannot unpack the wrong message 2020-03-24 10:37:54 -05:00
Paul Pacheco
a7ab26fa7d Simplify tests 2020-03-24 08:31:19 -05:00
Paul Pacheco
4a9dca3c1c Simplify tests 2020-03-24 08:16:19 -05:00
Paul Pacheco
1362b80eb4 A test should only test one thing 2020-03-24 08:11:42 -05:00
Paul Pacheco
f6bb3a9f06 use Assert.Throws 2020-03-24 08:09:41 -05:00
Paul Pacheco
2714be3869 Remove unused using 2020-03-24 08:04:42 -05:00
Paul Pacheco
3321dd8a95 Move NSubstitute to common folder, It will be used in play mode tests 2020-03-24 08:03:22 -05:00
Paul Pacheco
19a17c15b9 MemoryTransport is only for tests 2020-03-24 08:01:39 -05:00
vis2k
9e26b26689
NetworkIdentity.isServer simplified via one flag instead of helper variable + netId check. When isServer is set in OnStartServer, netId is set to != 0 in any case, so the previous check was unnecessary. (#1590)
* NetworkIdentity.isServer simplified via one flag instead of helper variable + netId check

* simplify teardowns

* NetworkIdentityTests can set isServer directly now

* networkbehaviourtests simplified

* NetworkServerTests can set isServer directly now

* remove comment
2020-03-24 11:25:04 +01:00
vis2k
9d088bc942
fix #1484: isServer state in NetworkIdentity is not dependent on NetworkServer.active anymore. Fixes a bug where isServer was already false in OnDestroy, but we sometimes still need it there to save a player etc. Also added a test to prevent it in the future. (#1585)
* fix #1484: revert isServer simplifiy. Fixes a bug where isServer was already false in OnDestroy, but we need sometimes still need it there to save skillbars etc.

* update comment
2020-03-24 11:07:40 +01:00
vis2k
2f87f3cca7 Runtime tests setup 2020-03-24 10:52:14 +01:00
Paul Pacheco
613356a6d0 fix smell, call parameter the same as base method 2020-03-23 10:29:45 -05:00
Paul Pacheco
0beba4dd2b fix smell, call parameter the same as base method 2020-03-23 10:28:49 -05:00
Paul Pacheco
f4a8692873 fix smell, keep parameter name in override 2020-03-23 10:27:51 -05:00
Paul Pacheco
bb655de71b fix smell keep overloaded methods together 2020-03-23 10:26:25 -05:00
Paul Pacheco
3a73a11a55 fix smell, use pascal case 2020-03-23 10:22:06 -05:00
Paul Pacheco
effb05e732 fix smells 2020-03-23 10:21:45 -05:00
James Frowen
cf55333a07
fix: overriden hooks are invoked (fixes #1581) (#1584)
* failing tests for virutal methods used by syncvar hook

* replacing Assert.fail to stop OnDeserialize failed error

* adding tests to make sure classes are set up correctly

* fix: call overriden hooks

Use a virtual call for hooks.  fixes #1581

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-03-23 14:06:24 +01:00
James Frowen
c7c3ee4ab9
Tests for SyncLists that use structs (#1583) 2020-03-22 17:05:50 -05:00
Paul Pacheco
addf847675
Move comments to previous line (#1579)
* Move comments to the previous Lines

We have a mix of comments at on the previous line and at the end of
the line. We need to "pick one way and stick with it".

Per the C# code guidelines, comments go on the previous line. See here:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

This also makes pull requests more readable since comments are less
likely to wrap

There are no code changes here, just a search and replace for all comments

This also makes cloc counts more accurate as it can better determine
how many lines of comments vs code we have

* Update Assets/Mirror/Components/NetworkTransformBase.cs

* Update Assets/Mirror/Examples/ListServer/ListServer.cs

* Update Assets/Mirror/Tests/Editor/WeaverTests~/TestingScriptableObjectArraySerialization.cs

* Update Assets/Mirror/Tests/Editor/WeaverTests~/TestingScriptableObjectArraySerialization.cs
2020-03-21 19:31:10 +01:00
MrGadget
b627779acd
fix: Make SendToReady non-ambiguous (#1578) 2020-03-21 11:33:35 -05:00
James Frowen
ad10ca115e
Weaver test for adding guard code (#1574)
* Adding check to make sure weaver adds code

* tests for network behaviour

* marking methods as static

* adding comment to method body

* making Weaver internal

* replacing string
2020-03-21 16:03:48 +01:00
James Frowen
0eb180555d
Fixing exceptions (#1569)
* removing another use of serializedObject

breaks when target is null

* adding check if target is NetworkBehaviour

* moving check from OnInspectorGUI
2020-03-21 14:46:02 +01:00
MrGadget
3156504270
fix: Added LogFilter.Debug check in a few places (#1575) 2020-03-21 14:42:33 +01:00
Chris Langsenkamp
4d827cd9f6 fix: comment punctuation 2020-03-20 20:30:35 -04:00
Chris Langsenkamp
cedbd8fb7a Make roomPlayerPrefab protected so it can be referenced in derived classes 2020-03-20 20:23:16 -04:00
Chris Langsenkamp
a8c4d6682e Fixed Template 2020-03-20 19:22:38 -04:00
James Frowen
d9cc73eabe
moving code to its own class (#1573)
* moving code to its own class

* using code suggestions
2020-03-20 22:21:01 +01:00
Paul Pacheco
59687675c9 Fix sonarqube null warning
Once upon a time, connections could be null here.  This is no longer
the case, connections always have something,

Even if they were null,  this method would not work at all because
the conn.Send call at the bottom would throw NRE.

Therefore the null checks here are unnecesary
2020-03-20 08:01:33 -05:00
FirstGearGames
57eff86e3f
Change LogError to Log. Added more details. (#1545)
Since messages behave similar to events and given the process is not technically breaking, using LogError seems incorrect. Using Log, maybe LogWarning would be more appropriate. Added additional text to clarify why the user may be seeing that log entry.
2020-03-20 10:56:02 +01:00
James Frowen
e040e6dc85
Removing use of serialized object (#1568)
using serializedObject causes AgumentException if target is null
2020-03-19 21:56:34 -05:00
James Frowen
c7c3ea8e0f
Moving draw synclist to class (#1566)
creating SyncListDrawer
2020-03-19 21:32:00 -05:00
James Frowen
a520c0e41d
Simplifying get type (#1567)
* adding IsParameterControlledByCurve check

* Simplifying GetType

Adding Warning because target is only null is something has gone wrong

* removing serializedObject.update

we dont use any values from serializedObject so we dont need to call update
2020-03-19 21:31:08 -05:00
James Frowen
421832f650
Cleaning up network behaviour inspector (#1565)
split large method into smaller ones
2020-03-19 20:46:53 -05:00
James Frowen
cc4032e236
Adding header before sync list (#1564)
matches untiy's Header style
2020-03-19 20:04:48 -05:00
James Frowen
55107115c6
feat: SyncSet and SyncDictionary now show in inspector (#1561)
SyncSet and SyncDictionary now show in inspector
2020-03-19 20:02:51 -05:00
Paul Pacheco
6b0fa18e0f Remove unused HideScriptField 2020-03-19 19:28:47 -05:00
Paul Pacheco
5571716749 Remove unused initialize field 2020-03-19 19:25:33 -05:00
James Frowen
b8c87d9053
fix: show private serializable fields in network behavior inspector (#1557)
* adding IsParameterControlledByCurve check

* Adding all visible syncvar fields to syncVarNames

old code only included public sync var fields
new code includes public and private fields with "SerializeField"

* adding comment

* adding method comment

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-03-19 18:52:31 -05:00
James Frowen
55767bb54d
Fixing syncs anything (#1560)
* adding IsParameterControlledByCurve check

* Fixing SyncsAnything

old code would not work with custom SyncObjects
2020-03-19 18:40:57 -05:00
James Frowen
98ecf7b647
Moving initialize code to onenable (#1558)
* adding IsParameterControlledByCurve check

* Moving Init code to OnEnable

the initialized bool is redundant

Co-authored-by: Paul Pacheco <paulpach@gmail.com>
2020-03-19 18:36:37 -05:00
James Frowen
b4ff4f2ce1
Using draw default inspector (#1559)
* adding IsParameterControlledByCurve check

* using DrawDefaultInspector

Now that SyncVar has a drawer this code is redundant
2020-03-19 18:29:55 -05:00
Chris Langsenkamp
e946c79194 fix: Fixed ClienRpc typos 2020-03-18 19:02:58 -04:00
James Frowen
cf8b979cce
adding IsParameterControlledByCurve check (#1547) 2020-03-18 17:30:16 +01:00
MrGadget
2d1b142276
fix: Prevent Double Call of NetworkServer.Destroy (#1554)
* fix: Prevent Double Call of NetworkServer.Destroy

* doc: Updated ChangeLog

* Extended comments and added LogWarning
2020-03-18 17:25:22 +01:00
James Frowen
35d7c9ddb4
adding PropertyDrawer for syncvar (#1552)
This fixing position of label with HeaderAttribute
This will also make sure that label is shown for all visable fields
2020-03-18 09:36:10 +01:00
Chris Langsenkamp
6f617f92e3 Added Tooltips and Headers to NetworkRoomManager and NetworkRoomPlayer 2020-03-17 23:47:57 -04:00
Chris Langsenkamp
a4ffcbe280 fix: Updated NetworkRoomPlayer inspector and doc and image 2020-03-17 19:22:53 -04:00
MrGadget
46c80bdc2e
Reverted 6431c28a (#1553) 2020-03-17 19:08:47 -04:00
vis2k
4faec29559
removed obsoletes (#1542)
* lobby

* networkroommanager

* networkanimatoreditor

* networkidentityeditor

* preprocessordefine

* clientscene

* customattributes

* localclient

* messages

* networkbehaviour

* networkclient

* networkconnection

* networkidentity

* networkmanager

* networkserver

* networkwriter

* syncdictionary

* synclist

* unetwork

* transport

* networkmessage

* remove leftover obsoletes

* NetworkServer

* NetworkManager

* NetworkRoomManager

* NetworkRoomManager

* AddPlayerMessage

* NetworkLobbyManager & NetworkLobbyPlayer

* PreprocessorDefine

* Removed usings

* Commented test class

* Restored NetworkMessage as empty file

* Removed SyncVarSTRUCT tests

* Removed SyncVarSTRUCT tests

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

leaving a few ones still in there:

addplayermessage
llapi because still useful
networkbehaviour.getrpchandler for networkprofiler

BREAKING CHANGE: removed obsoletes
2020-03-17 15:25:36 -05:00
Chris Langsenkamp
7bd137847d Added Deprecated Comment 2020-03-17 11:03:00 -04:00
Paul Pacheco
658847b096
fix: Command and Rpc debugging information (#1551)
When replacing command and rpc methods,  we now correctly move over
the debugging information.

Now you can put breakpoints in commands and Rpc

Should fix #1550
2020-03-16 18:50:14 -05:00
Paul Pacheco
0b84d4c5e1 fix: Report correct channel to profiler in SendToObservers 2020-03-15 11:54:39 -05:00
vis2k
20a2d09d07 fix: NetworkBehaviour.SyncVarNetworkIdentityEqual made protected again so that Weaver finds it again 2020-03-09 21:54:19 +01:00
vis2k
165a1dd94c fix: NetworkBehaviour.SyncVarGameObjectEqual made protected again so that Weaver finds it again 2020-03-09 21:51:17 +01:00
vis2k
76dd0c83bf syntax 2020-03-09 16:50:32 +01:00
vis2k
c928ef2353 syntax 2020-03-09 16:39:31 +01:00
vis2k
5801051a29 Weaver Helpers: remove unused AddSearchDirectoryHelper 2020-03-09 16:23:51 +01:00
vis2k
a26a0a39e2 syntax 2020-03-09 16:22:27 +01:00
vis2k
eb4ccd54b7 syntax 2020-03-09 16:21:36 +01:00
vis2k
83c8beac5e NetworkClientTests: Send 2020-03-09 11:23:28 +01:00
vis2k
df0ec137d0 NetworkClientTests: DisconnectInHostMode 2020-03-09 11:12:22 +01:00
vis2k
53165d2096 NetworkClientTests: ConnectUri 2020-03-09 11:05:59 +01:00
vis2k
572866410f Tests: MemoryTransport server connection id changed from 0 to 1 because 0 is reserved for localhost and will be rejected 2020-03-09 11:05:48 +01:00
vis2k
fe94b74009 Tests: MemoryTransport LateUpdate exposed so we can process messages 2020-03-09 11:05:19 +01:00
vis2k
f26ba488b8 NetworkClientTests: isConnected 2020-03-09 10:51:41 +01:00
vis2k
f9b8914e6d NetworkClientTests: serverIp 2020-03-09 10:47:44 +01:00
Chris Langsenkamp
4b27388771 Removed StartHost from ScriptTemplate 2020-03-08 11:19:13 -04:00
Paul Pacheco
f1860e3db9 test: test for obsolete should also be obsolete 2020-03-08 09:12:10 -05:00
vis2k
b74ef10780 NetworkBehaviourTests: OnStartLocalPlayer 2020-03-07 20:50:55 +01:00
vis2k
d48ab55ede NetworkBehaviourTests: OnStartClient 2020-03-07 20:50:01 +01:00
vis2k
ad0788fb95 NetworkBehaviourTests: OnNetworkDestroy 2020-03-07 20:48:42 +01:00
vis2k
35ab00f4eb NetworkBehaviourTests: SerializeAndDeserializeObjectsAll 2020-03-07 20:42:52 +01:00
vis2k
d703072768 NetworkBehaviour.DeSerializeObjectsDelta made internal so it can be tested 2020-03-07 20:42:42 +01:00
vis2k
d5b7802ae3 NetworkBehaviourTests: SerializeAndDeserializeObjectsAll 2020-03-07 20:38:58 +01:00
vis2k
2ff53580ba NetworkBehaviour: DeSerializeObjectsAll made internal so we can test it 2020-03-07 20:38:46 +01:00
vis2k
07530a301f NetworkBehaviourTests: DirtyObjectBits 2020-03-07 20:31:30 +01:00
vis2k
a4e0b32713 NetworkBehaviour.DirtyObjectBits made internal so it can be tested 2020-03-07 20:31:19 +01:00
vis2k
f12048a5c8 NetworkBehaviourTests: ClearAllDirtyBitsClearsSyncObjectsDirtyBits 2020-03-07 20:21:06 +01:00
vis2k
81c86d3d80 NetworkBehaviourTests: ClearAllDirtyBitsClearsSyncVarDirtyBits 2020-03-07 20:15:57 +01:00
vis2k
258d3bed02 NetworkBehaviourTests: GetSyncVarNetworkIdentityOnClientNull 2020-03-07 18:57:06 +01:00
vis2k
29035aaa7e NetworkBehaviourTests: GetSyncVarNetworkIdentityOnClient 2020-03-07 18:56:54 +01:00
vis2k
c84cbe38de NetworkBehaviourTests: GetSyncVarNetworkIdentityOnServerNull 2020-03-07 18:56:45 +01:00
vis2k
ed71ab0824 NetworkBehaviourTests: GetSyncVarNetworkIdentityOnServer 2020-03-07 18:56:34 +01:00
vis2k
b81a48ff36 NetworkBehaviourTests: SetSyncVarNetworkIdentityZeroNetId 2020-03-07 18:54:04 +01:00
vis2k
abcecf1eaf NetworkBehaviourTests: SetSyncVarNetworkIdentityNull 2020-03-07 18:53:56 +01:00
vis2k
356a054109 NetworkBehaviourTests: SetSyncVarNetworkIdentityWithValidObject 2020-03-07 18:53:47 +01:00
vis2k
006d3d5660 NetworkBehaviourTests: GetSyncVarGameObjectOnClientNull 2020-03-07 18:36:47 +01:00
vis2k
01a16581b3 NetworkIdentityTests: GetSyncVarGameObjectOnClient 2020-03-07 18:35:26 +01:00
vis2k
8acdd76699 NetworkBehaviourTests: GetSyncVarGameObjectOnServerNull 2020-03-07 18:31:28 +01:00
vis2k
c6c1a36559 NetworkBehaviourTests: GetSyncVarGameObjectOnServer 2020-03-07 18:29:54 +01:00
vis2k
f51e587c67 remove old empty Telepathy.dll + meta file. This causes a confusing 'failed to parse meta file' warning in Unity 2019.3, and we don't need it anymore anyway. UNET never had Telepathy. 2020-03-07 18:02:44 +01:00
vis2k
7006313aad NetworkBehaviourTests: SetSyncVarGameObjectZeroNetId 2020-03-07 18:00:12 +01:00
vis2k
9ff2a60e7a NetworkBehaviourTests: SetSyncVarGameObjectWithoutNetworkIdentity 2020-03-07 17:57:04 +01:00
vis2k
be422c9fda NetworkBehavourTests: SetSyncVarGameObjectNull 2020-03-07 17:40:45 +01:00
vis2k
ab8da21853 tests: syncInterval 0 for isdirty to work 2020-03-07 17:40:37 +01:00
vis2k
87eecc5d3f clean up too 2020-03-07 17:38:16 +01:00
vis2k
971a499a82 NetworkBehaviourTests: SetSyncVarGameObjectWithValidObject 2020-03-07 17:36:42 +01:00
vis2k
9687168ea4 NetworkBehaviourTests: SyncVarNetworkIdentityEqualUnspawnedIdentityZeroNetIdIsTrue 2020-03-07 14:55:22 +01:00
vis2k
e4e540c602 NetworkBehaviourTests: SyncVarNetworkIdentityEqualUnspawnedIdentity 2020-03-07 14:55:20 +01:00
vis2k
a9f83bb8bc NetworkBehaviourTests: SyncVarNetworkIdentityEqualValidIdentityWithSameNetId 2020-03-07 14:55:18 +01:00
vis2k
1408e8de42 NetworkBehaviourTests: SyncVarNetworkIdentityEqualValidIdentityWithDifferentNetId 2020-03-07 14:55:16 +01:00
vis2k
c9a3a0dceb NetworkBehaviourTests: SyncVarNetworkIdentityEqualNull 2020-03-07 14:55:14 +01:00
vis2k
f9c9e140f5 NetworkBehaviourTests: SyncVarNetworkIdentityEqualZeroNetIdNullIsTrue 2020-03-07 14:55:11 +01:00
vis2k
cdf86ee3c8 NetworkBehaviour.SyncVarNetworkIdentityEqual made internal so it can be tested. will be made static soon anyway. 2020-03-07 14:55:09 +01:00
vis2k
a67db0df86 NetworkBehaviourTests: SyncVarGameObjectEqualUnspawnedGOZeroNetIdIsTrue 2020-03-07 14:45:54 +01:00
vis2k
b400f4a04a NetworkBehaviourTests: SyncVarGameObjectEqualUnspawnedGO 2020-03-07 14:45:51 +01:00
vis2k
5506503da4 NetworkBehaviourTests: SyncVarGameObjectEqualValidGOWithSameNetId 2020-03-07 14:45:49 +01:00
vis2k
a3ae46f8f4 NetworkBehaviourTests: SyncVarGameObjectEqualValidGOWithDifferentNetId 2020-03-07 14:45:47 +01:00
vis2k
46a13a2c2a NetworkBehaviourTests: SyncVarGameObjectEqualZeroNetIdAndGOWithoutIdentityComponentIsTrue 2020-03-07 14:45:45 +01:00
vis2k
8edad03328 NetworkBehaviourTests: SyncVarGameObjectEqualZeroNetIdNull 2020-03-07 14:45:43 +01:00
vis2k
08f426970a NetworkBehaviourTests: SyncVarGameObjectEqualWithoutIdentityComponent 2020-03-07 14:45:41 +01:00
vis2k
949ce8288c NetworkBehaviourTests: SyncVarGameObjectEqualNull 2020-03-07 14:45:39 +01:00
vis2k
fa707832a9 NetworkBehaviour.SyncVarGameObjectEqual made internal so we can test it. We will make this static soon anyway. 2020-03-07 14:45:37 +01:00
vis2k
7c4ea0d08b NetworkBehaviour.GetRpcHandler renamed to GetDelegate 2020-03-07 14:01:57 +01:00
vis2k
bf1ac3279b improve previous test 2020-03-07 13:58:52 +01:00
vis2k
3acdd97fee NetworkBehaviourTests: GetRpcHandler 2020-03-07 13:56:09 +01:00
vis2k
cdd7055b66 clean up last test too 2020-03-07 13:50:45 +01:00
vis2k
00ef376f2d NetworkBehaviourTests: RegisterDelegate improved 2020-03-07 13:48:20 +01:00
vis2k
f22188ff0b NetworkBehaviourTests: RegisterDelegateDoesntOverwrite 2020-03-07 13:43:35 +01:00
vis2k
7071794e46 NetworkBehaviour.InvokeDelegate: fix error message saying the same function twice instead of the new function 2020-03-07 13:43:27 +01:00
vis2k
88640c9d89 NetworkBehaviour.RegisterDelegate: improve syntax 2020-03-07 13:43:00 +01:00
vis2k
ab1211b287 NetworkBehaviourTests: InvokeSyncEvent 2020-03-06 16:29:23 +01:00
vis2k
05c2a13e02 NetworkBehaviourTests: SendEventInternal 2020-03-06 16:27:46 +01:00
vis2k
8e9bcac4f6 NetworkBehaviourTests: InvokeRPC 2020-03-06 10:41:48 +01:00
vis2k
3c4b2fd9d8 NetworkBehaviourTests: SendTargetRPCInternal 2020-03-06 10:39:07 +01:00
vis2k
7656a833c9 NetworkBehaviourTests: SendRPCInternal 2020-03-06 09:52:15 +01:00
vis2k
644626294b NetworkBehaviourTests: InvokeCommand 2020-03-05 21:45:24 +01:00
vis2k
92835cfc12 NetworkBehaviourTests: clear up delegates 2020-03-05 21:43:37 +01:00
vis2k
342f5b8b98 NetworkBehaviourTests: SendCommandInternal 2020-03-05 21:43:31 +01:00
vis2k
85dab627ef NetworkIdentityTests: clear up delegates 2020-03-05 21:43:14 +01:00
vis2k
b91ed1aead NetworkServerTests: clear up delegates 2020-03-05 21:43:10 +01:00
vis2k
1bdd6a80b2 NetworkBehaviourTests: SendCommandInternal improved 2020-03-05 16:01:42 +01:00
vis2k
faa78493b9 NetworkBehaviourTests: SendCommandInternal 2020-03-05 15:47:26 +01:00
vis2k
b330a9c6b3 accidentally merged this one 2020-03-05 14:31:12 +01:00
vis2k
e37e2ff2fc NetworkBehaviourTests: InitSyncObject 2020-03-05 13:42:45 +01:00
vis2k
cdea476212 NetworkBehaviourTests: HookGuard 2020-03-05 13:40:26 +01:00
vis2k
c4060df00b NetworkBehaviourTests: OnCheckObserverTrueByDefault 2020-03-05 13:26:24 +01:00
vis2k
43909bb40e NetworkBehaviourTests: ComponentIndex 2020-03-05 13:20:31 +01:00
vis2k
eb977896f8 NetworkIdentityTests: HasIdentitysConnectionToClient 2020-03-05 12:59:04 +01:00
vis2k
892215cfe3 NetworkIdentityTests: HasIdentitysConnectionToServer 2020-03-05 12:58:55 +01:00
vis2k
d396857148 NetworkBehaviourTests: HasIdentitysNetId 2020-03-05 12:42:03 +01:00
vis2k
6fffb051d1 NetworkBehaviourTests: HasNoAuthorityByDefault 2020-03-05 12:24:39 +01:00
vis2k
f326520d31 NetworkBehvaviourTests: simplify 2020-03-05 12:21:29 +01:00
vis2k
be6696032f NetworkIdentityTests: IsClientOnly 2020-03-05 12:19:48 +01:00
vis2k
8f9064a923 NetworkBehaviourTests: IsServerOnly 2020-03-05 10:09:08 +01:00
vis2k
15915f573e NetworkBehaviourTests preparations 2020-03-04 23:54:22 +01:00
vis2k
1d120a9d80 NetworkIdentity.RebuildObserver: move observers code above host visibility code 2020-03-04 18:38:17 +01:00
vis2k
d9ea5fdcf2 NetworkIdentityTests: RebuildObserversReturnsIfNull 2020-03-04 17:21:56 +01:00
vis2k
37e783f625 NetworkIdentityTests: RebuildObserversAddRemoveAndVisListTest that tests a full add/remove observers workflow 2020-03-04 17:17:21 +01:00
vis2k
0093a2cfe1 NetworkConnection.visList made internal so we can test RebuildObservers fully. It's a complex function and we need to be 100% sure that visList behaviour is correct. 2020-03-04 17:16:59 +01:00
vis2k
290561167d NetworkIdentityTests: RebuildObserversAddsReadyComponentConnectionsIfImplemented 2020-03-04 14:55:34 +01:00
vis2k
a5f495a774 fix: NetworkIdentity.RebuildObservers: added missing null check for observers coming from components that implement OnRebuildObservers. Previously this caused a NullReferenceException. 2020-03-04 14:55:27 +01:00
vis2k
26c0c03fd8 NetworkIdentityTests: RebuildObserversSetsHostVisibility 2020-03-04 14:34:07 +01:00
vis2k
1ddb9ae075 add comment 2020-03-04 13:21:18 +01:00
vis2k
0f110eb4b7 NetworkIdentity.RebuildObservers: put conn null/ready checks into one line 2020-03-04 13:20:39 +01:00
vis2k
4ba456439a NetworkIdentity.RebuildObservers: improve comments to explain what happens 2020-03-04 13:15:56 +01:00
vis2k
dbfd1830d3 NetworkIdentity.RebuildObservers: syntax improved 2020-03-04 13:14:26 +01:00
vis2k
1133fe4e25 forgot to remove comment 2020-03-04 09:23:23 +01:00
vis2k
8e6f5ba89c NetworkIdentityTests: RebuildObserversDoesNotAddServerConnectionsIfImplemented 2020-03-04 09:22:04 +01:00
vis2k
9c09c26a5c fix: SendToObservers missing result variable 2020-03-04 09:20:28 +01:00
vis2k
66d858e631 NetworkIdentityTests: RebuildObserversAddsReadyServerConnectionsIfNotImplemented 2020-03-04 09:17:47 +01:00
Paul Pacheco
9c81c9b2eb
refactor: SendToObserver returns void (#1539)
We calculate a bool out of SendToObserver, but it is not clear what it is
and we don't use the result at all.  So just simplify things.
2020-03-04 08:52:17 +01:00
vis2k
549c729a07 NetworkIdentityTests: AddAllReadyServerConnectionsToObservers 2020-03-03 23:43:20 +01:00
vis2k
a5602011dd rename to be 100% obvious 2020-03-03 23:31:44 +01:00
vis2k
66d3e8ddf7 NetworkIdentity.RebuildObservers code split into AddAllServerConnectionsToObservers helper function 2020-03-03 23:29:47 +01:00
vis2k
d6a93275f9 NetworkIdentity.RebuildObservers: result renamed to rebuildOverwritten because that's what it's for 2020-03-03 23:22:49 +01:00
vis2k
6eedd2405c NetworkIdentity.GetNewObservers: result renamed to rebuildOverwritten because that's what it's for 2020-03-03 23:22:37 +01:00
vis2k
15a47ca19c NetworkIdentityTests: RebuildObserversOnlyAddsOwnPlayerIfReady 2020-03-03 23:05:41 +01:00
vis2k
3e8c6089b0 NetworkIdentityTests: RebuildObserversAddsOwnReadyPlayer 2020-03-03 23:05:41 +01:00
Paul Pacheco
60226797ac tests: Fix tests
CI/CD pipeline runs in headless mode,  so this check is invalid
2020-03-03 15:43:25 -06:00
Paul Pacheco
108c83a43a refactor: use NUnit idiomatic constraints
Why?
Suppose you have this:
```cs
Assert.That(manager.networkAddress == "localhost");
```
and suppose it fails,   it will give you:
"Expected True,  but got False"
which does not give you anything useful.

Suppose you have this instead:
```cs
Assert.That(manager.networkAddress, Is.EqualTo("localhost"));
```
Suppose it fails,  now it will give you a much more useful error message:
"Expected 'localhost'  but got 'xxxxx'"

It makes debugging tests a lot easier.
2020-03-03 15:39:25 -06:00
vis2k
fb9c55bf6e NetworkIdentityTests cleaned up 2020-03-03 22:37:13 +01:00
vis2k
b2a094930f syntax 2020-03-03 22:27:27 +01:00
vis2k
a302306dd1 NetworkIdentityTests: GetNewObserversFalseIfNoComponents test 2020-03-03 22:24:13 +01:00
vis2k
102484b811 NetworkIdentityTests: GetNewObserversClearsHashSet test 2020-03-03 22:24:13 +01:00
vis2k
260ca9a491 NetworkIdentityTests: GetNewObservers test 2020-03-03 22:24:13 +01:00
vis2k
01f5fb4a94 NetworkIdentity.RebuildObservers: GetNewObservers code split into separate function 2020-03-03 22:24:13 +01:00
Paul Pacheco
e00e8195bb Simplify 2020-03-03 10:40:57 -06:00
vis2k
4bc1c3eb20 NetworkIdentityTests HandleEvent tests invalid component index / function hash too 2020-03-03 13:19:09 +01:00
vis2k
bbcc3599ef NetworkIdentityTests HandleRpc tests invalid component index / function hash too 2020-03-03 13:19:03 +01:00
vis2k
b9dab2ca7a NetworkIdentityTests HandleCommand tests invalid component index / function hash too 2020-03-03 13:18:55 +01:00
vis2k
ea54890dca NetworkIdentityTests: HandleCommand/Rpc/SyncEvent tests improved 2020-03-03 13:15:54 +01:00
vis2k
6cdb9a3d8b NetworkIdentityTests: HandleSyncEvent 2020-03-03 13:08:58 +01:00
vis2k
0f362ec1cf NetworkIdentityTests: HandleRPC 2020-03-03 13:06:20 +01:00
vis2k
598766764c typo 2020-03-03 13:03:25 +01:00
vis2k
0b257fbd3a NetworkIdentityTests: HandleCommand 2020-03-03 13:02:44 +01:00
vis2k
bd9747e735 NetworkReader/WriterTest: benchmark doesn't need to run each time, takes at least 6s together. 2020-03-03 12:15:07 +01:00
uwee
67462553fb
test add NetworkManagerTests (#1537)
* test add NetworkManagerTests

not complete and 1 does not reliably work

* fix broken client test

* remove incomplete test for NG

* added more state checking

* shutdown state test

* add startposition tests
2020-03-03 09:28:28 +01:00
Lymdun
ca166bd95f
Improve LocalConnectionTest (#1538) 2020-03-02 22:41:27 +01:00
vis2k
e9d4f04da5 typo 2020-03-02 15:55:01 +01:00
vis2k
7df6e79b61 NetworkIdentityTests: AssignAndRemoveClientAuthority improved 2020-03-02 15:54:47 +01:00
vis2k
4b6affb523 NetworkIdentityTests: AssignAndRemoveClientAuthority test improved 2020-03-02 15:50:32 +01:00
vis2k
eb958ae182 NetworkIdentity.AssignClientAuthority: null check first. more obvious error message and easier to test. 2020-03-02 15:50:13 +01:00
vis2k
66a9127b96 NetworkIdentityTests: AssignAndRemoveClientAuthority 2020-03-02 15:40:26 +01:00
vis2k
9c8d6f3cb1 NetworkIdentityTests: ServerUpdate 2020-03-02 13:28:10 +01:00
vis2k
97a5a1211d add comment 2020-03-02 12:13:23 +01:00
vis2k
b787274732 forgot to save 2020-03-02 12:07:56 +01:00
vis2k
5a1bfdf1a4 NetworkIdentity.MirrorUpdate renamed to ServerUpdate because that's what it does 2020-03-02 12:06:12 +01:00
vis2k
de4a7107a6 NetworkIdentityTests: Reset 2020-03-02 11:44:36 +01:00
vis2k
e43ed3e09d NetworkIdentityTests: ClearAllComponentsDirtyBits 2020-03-02 11:14:27 +01:00
vis2k
f9fdca3598 NetworkIdentityTests: ClearDirtyComponentsDirtyBits test improved 2020-03-02 11:09:16 +01:00
vis2k
eac93e1a27 NetworkIdentityTests: ClearDirtyComponentsDirtyBits 2020-03-02 11:07:07 +01:00
uwee
df430e1bfc
Test coverage for NetworkTransformChild (#1536)
* Test coverage for NetworkTransformChild

* add missing meta file

* applied codacy suggestions
2020-03-02 09:44:39 +01:00
uwee
05a44b9c6f
adds missing addplayertest (#1530)
* adds missing addplayertest

code is set to depreciate but should still be covered until then.

* remove json file from commit

opps

* updated to include suggestions from Codacy
2020-03-02 09:43:10 +01:00
Paul Pacheco
22636c9a6c
Disable telepathy tests until they are fixed (#1534) 2020-03-02 09:40:04 +01:00
vis2k
65645dd266 NetworkIdentity: AssignClientAuthority moved above RemoveClientAuthority 2020-03-01 12:05:46 +01:00
vis2k
508e253bb1 NetworkIdentityTests: AddObserver 2020-03-01 12:02:25 +01:00
vis2k
8cd50cf9f2 NetworkIdentityTests: make sure that calling OnStartClient twice will return early 2020-03-01 11:54:23 +01:00
vis2k
90cece63dc NetworkIdentityTests: ClearObservers 2020-03-01 11:54:02 +01:00
vis2k
d9036a6a79 CustomAttributeTests: use channels enum 2020-03-01 11:41:25 +01:00
uwee
b440130647
adds test coverage for CustomAttribute (#1531) 2020-03-01 11:13:48 +01:00
vis2k
3bc38d8938 copy paste error 2020-02-28 16:56:38 +01:00
vis2k
4357752f91 NetworkIdentityTests: OnNetworkDestroy 2020-02-28 16:55:22 +01:00
vis2k
6b35bf0133 NetworkIdentity.OnNetworkDestroy moved upwards and catches exceptions now too 2020-02-28 16:55:14 +01:00
vis2k
62c5cf4b14 fix error log 2020-02-28 16:54:55 +01:00
vis2k
5ed5f84409 fix: NetworkIdentity.OnStartLocalPlayer catches exceptions now too. fixes a potential bug where an exception in PlayerInventory.OnStartLocalPlayer would cause PlayerEquipment.OnStartLocalPlayer to not be called 2020-02-28 16:33:59 +01:00
vis2k
4926bb818a add comments 2020-02-28 16:32:48 +01:00
vis2k
fc7d2e8df6 NetworkIdentity: OnStartLocalPlayer moved next to OnStartClient 2020-02-28 16:31:39 +01:00
vis2k
1c356bff44 NetworkIdentity: remove redundant OnUpdateVars function 2020-02-28 16:26:05 +01:00
vis2k
782848094b NetworkIdentityTests: OnStartLocalPlayer 2020-02-28 16:23:14 +01:00
vis2k
bbaad910f7 NetworkIdentityTests: OnDeserializeSafelyShouldDetectAndHandleDeSerializationMismatch 2020-02-28 16:10:48 +01:00
vis2k
fe7c1c7f50 improve previous test 2020-02-28 15:43:01 +01:00
vis2k
0df42ebf75 NetworkIdentityTests: OnSerializeAllSafelyShouldDetectTooManyComponents 2020-02-28 15:41:34 +01:00
vis2k
bfe09ab141 NetworkIdentityTests: OnSerializeAndDeserializeAllSafely 2020-02-28 15:35:37 +01:00
vis2k
a5269b4261 NetworkIdentityTests: OnCheckObserver 2020-02-28 11:58:51 +01:00
vis2k
f21b80b8b0 NetworkIdentityTests: OnSetHostVisibilityCallsComponentsAndCatchesExceptions 2020-02-27 10:23:44 +01:00
vis2k
cd4e39729e NetworkIdentityTests: NotifyAuthorityCallsOnStartStopAuthority 2020-02-27 10:19:16 +01:00
vis2k
44addfa336 NetworkIdentityTests: rename 2020-02-27 10:10:54 +01:00
vis2k
47b1aa7400 NetworkIdentityTests: OnStopAuthorityComponentExceptionIsCaught 2020-02-27 10:10:07 +01:00
vis2k
b62487cf87 NetworkIdentity.OnStopAuthority made internal for consistency with OnStartServer/OnStartClient, and so that we can test it 2020-02-27 10:08:45 +01:00
vis2k
e87c1d6a26 add comments 2020-02-27 10:08:36 +01:00
vis2k
85aae6482d NetworkIdentityTests: OnStartAuthorityComponentExceptionIsCaught 2020-02-27 10:06:56 +01:00
vis2k
0965283c53 NetworkIdentity.OnStartAuthority made internal for consistency with OnStartServer/OnStartClient, and so that we can test it 2020-02-27 10:06:46 +01:00
vis2k
6183cae611 NetworkIdentityTests: OnStartClient test makes sure that OnStartClient was called exactly once 2020-02-27 10:05:07 +01:00
vis2k
f6c8e0e89e NetworkIdentityTests: OnStartServer test makes sure that OnStartServer was called exactly once 2020-02-27 10:04:58 +01:00
vis2k
617bd0a175 NetworkIdentity.OnStartClient: added comment 2020-02-27 09:53:24 +01:00
vis2k
53499f031f NetworkIdentityTests: OnStartClientComponentExceptionIsCaught 2020-02-27 09:53:24 +01:00
Paul Pacheco
59faa81926
fix: build in IL2CPP (#1524)
The weaver generated code now builds properly under IL2CPP
fixes #1519
fixes #1520
2020-02-26 18:02:14 -06:00
vis2k
ae451e6fe0 NetworkIdentityTests: OnStartServerInHostModeSetsIsClientTrue to make sure that isClient is true in OnStartServer if in host mode. we fixed the bug recently, now we have a test too 2020-02-26 22:08:47 +01:00
vis2k
6f3c286a62 Tests: MemoryTransport for easier testing 2020-02-26 21:56:55 +01:00
vis2k
89859c9fd4 NetworkIdentityTests: OnStartServerComponentExceptionIsCaught 2020-02-26 20:01:21 +01:00
vis2k
1b624f12e0 add comment 2020-02-26 19:55:27 +01:00
vis2k
42c0128f18 NetworkIdentityTests: OnValidateSetupIDsSetsEmptyAssetIDForSceneObject 2020-02-26 19:42:01 +01:00
vis2k
a0f798f65f NetworkIdentityTests: SetSceneIdSceneHashPartInternal 2020-02-26 19:34:35 +01:00
vis2k
12d2c68301 NetworkIdentityTest: make sure that it's added to sceneId dict too 2020-02-26 19:25:20 +01:00
vis2k
8ca4deb61d NetworkIdentityTests: AssignSceneID 2020-02-26 19:23:32 +01:00
vis2k
4b430d98f7 NetworkIdentityTests: RemoveObserverInternal 2020-02-26 19:12:34 +01:00
vis2k
4d2c81e12e NetworkIdentityTests: SetClientOwner test to make sure the previous commit's bug doesn't happen again 2020-02-26 18:30:55 +01:00
vis2k
548db52fdf fix: NetworkIdentity.SetClientOwner: overwriting the owner was still possible even though it shouldn't be. all caller functions double check and return early if it already has an owner, so we should do the same here. 2020-02-26 18:30:30 +01:00
vis2k
1a9625ee4a NetworkIdentity.SetClientOwner: improve error message 2020-02-26 18:28:57 +01:00
vis2k
4269cfe43c NetworkIdentityTests: cleanup spawned dict too 2020-02-26 18:19:11 +01:00
vis2k
ebe12b6cdb NetworkIdentityTest: GetSetAssetId 2020-02-26 18:15:14 +01:00
vis2k
22ee387470 NetworkIdentityTests: proper GameObject cleanup 2020-02-26 18:12:45 +01:00
vis2k
66776a744d NetworkServer.UnSpawn test 2020-02-26 17:40:07 +01:00
vis2k
29fe487954 NetworkIdentity.IsMarkedForReset helper function to check reset state 2020-02-26 17:39:57 +01:00
vis2k
8a05826ca4 NetworkServerTest.SpawnObject: make sure that it doesn't touch non-scene-objects 2020-02-26 17:30:19 +01:00
vis2k
708d7838d6 NetworkServerTest: SpawnObjects 2020-02-26 17:20:35 +01:00
vis2k
d4d524dad2 fix: NetworkServer.SpawnObjects: return false if server isn't running 2020-02-26 17:16:38 +01:00
vis2k
cdfc1752f2 NetworkServerTest: ValidateSceneObject 2020-02-26 17:08:36 +01:00
vis2k
e409ed8f48 NetworkServer.ValidateSceneObject made internal so it can be tested and reused if needed 2020-02-26 17:01:31 +01:00
vis2k
1be758b12b syntax 2020-02-26 17:01:10 +01:00
vis2k
c8fbea387d update comment 2020-02-26 16:57:09 +01:00
vis2k
bba4ebd154 NetworkServerTest: CommandTest tries invalid netid and command without authority too 2020-02-26 10:27:36 +01:00
vis2k
038e3c1969 NetworkServerTest: HideForConnection 2020-02-26 10:14:42 +01:00
vis2k
9bdfb676e3 NetworkServerTest: ShowForConnection 2020-02-26 10:11:00 +01:00
vis2k
5cdf02b258 NetworkServerTest: GetNetworkIdentity 2020-02-25 22:25:47 +01:00
vis2k
67a2a85cb9 NetworkServer.GetNetworkIdentity made internal so it can be tested and reused in other places if needed 2020-02-25 22:25:39 +01:00
vis2k
e7c9dc4f6e NetworkServerTest: SendToClientOfPlayer 2020-02-25 22:13:58 +01:00
vis2k
c2afc05692 NetworkServerTest: RegisterUnregisterClearHandlerTest 2020-02-25 22:07:44 +01:00
vis2k
212af3fc9d NetworkServerTest: RegisterHandlerTest 2020-02-25 22:01:48 +01:00
vis2k
d4f21c0818 remove unused var 2020-02-25 11:53:04 +01:00
vis2k
48bdc68906 NetworkServerTest: SendToAllTest 2020-02-25 11:35:15 +01:00
vis2k
4596b19dd9 fix: SendToReady sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:14:26 +01:00
vis2k
4b90aafe12 fix: SendToAll sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:13:59 +01:00
vis2k
4267983139 fix: SendToObservers sends to that exact connection if it is detected as local connection, instead of falling back to the .localConnection field which might be something completely different. 2020-02-25 11:13:38 +01:00
vis2k
a497803de0 NetworkServerTests: use call counts instead of bools to make sure that it's called exactly once 2020-02-25 11:00:35 +01:00
vis2k
69bb1574f0 NetworkServerTest: ActivateHostSceneCallsOnStartClient 2020-02-25 10:36:40 +01:00
vis2k
f378333000 NetworkServer.ActivateLocalClientScene renamed to ActivateHostScene because that's what it really does. It does NOT do something for every local client on a client. Only for a host. 2020-02-25 10:31:30 +01:00
vis2k
5efaa4af1a CommandMessageCallsCommandTest: use two components to make sure that the correct one is used by the command 2020-02-24 15:44:05 +01:00
vis2k
1315bd3dde CommandMessageCallsCommandTest: proper usage of weaver generated command code (static!) 2020-02-24 15:40:06 +01:00
vis2k
6d2b4eb102 remove comment 2020-02-24 15:37:31 +01:00
vis2k
e6b12133d1 remove comment 2020-02-24 15:35:46 +01:00
vis2k
3eb1e8968c add comment 2020-02-24 15:35:16 +01:00
vis2k
02c31d0805 NetworkServerTest: CommandMessageCallsCommandTest to run a full command through our pipeline 2020-02-24 15:31:53 +01:00
vis2k
e9c6f6f2a9 NetworkBehaviour.GetMethodHash made internal for tests 2020-02-24 15:31:53 +01:00
vis2k
e6cd2e2280 NetworkBehaviour.RegisterRpc/Command/EventDelegate made public for tests. internal won't work because they are called from outside assemblies like NetworkTransform. protected won't work because then we can't test them from the outside. 2020-02-24 15:31:53 +01:00
vis2k
31af385a70 NetworkBehaviour.ClearDelegates added for tests 2020-02-24 15:31:53 +01:00
vis2k
215e973903 NetworkServerTest: ReadyMessageSetsClientReadyTest 2020-02-24 14:46:58 +01:00
vis2k
dc29106370 NetworkServerTest.TearDown rests state 2020-02-24 14:32:41 +01:00
vis2k
ea0b20636b NetworkServerTest: SetAllClientsNotReadyTest 2020-02-24 14:31:30 +01:00
vis2k
012c053597 NetworkServerTest: SetClientReadyAndNotReadyTest 2020-02-24 11:26:19 +01:00
vis2k
3bd947a973 NetworkServerTest: OnDataReceivedInvalidConnectionIdTest 2020-02-24 11:17:53 +01:00
vis2k
e49f4e0aff NetworkServerTest: OnDataReceivedTest 2020-02-24 11:14:11 +01:00
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