rodolphito
59a041810f
Add float binary compatibility tests to NetworkWriter, add tolerance threshold to Ray normal test. ( #772 )
2019-04-08 09:15:29 +02:00
Rodol Phito
4f21275a51
Added one more test to ensure theres no initial garbage when setting length
2019-04-07 20:44:58 -05:00
Rodol Phito
09089f166d
Added another clearer SetLength test, just in case.
2019-04-07 20:44:58 -05:00
Rodol Phito
63a14afdec
Test that SetLength and Position work as expected
2019-04-07 20:44:58 -05:00
rodolphito
72e4e55778
fix: Added WriteBytesAndSize tests, and fixed the function to be pedantic. ( #773 )
2019-04-07 20:11:41 -05:00
rodolphito
99c8f5c356
fix(serialization): Added NetworkWriter tests, found and fixed a bug in Write(Ray). ( #769 )
2019-04-07 16:10:17 -05:00
Paul Pacheco
03c767db6a
fix: Mark weaver as failed if serializing invalid type
2019-04-07 15:45:09 -05:00
rodolphito
f310c61405
tests: Add Endianness testing to NetworkWriter. ( #768 )
2019-04-07 15:17:35 -05:00
rodolphito
269c05bbf6
Updated debug messages in NetworkClient ( #761 )
2019-04-07 21:50:07 +02:00
MrGadget
3846e2f904
Fixed Lobby ( #765 )
2019-04-07 21:48:17 +02:00
vis2k
95d74bae60
remove outdated comment
2019-04-07 19:03:49 +02:00
rodolphito
b7ae7f006c
Simplify network connection clientOwnedObjects ( #758 )
...
* Simplify network connection clientOwnedObjects
* Whoops, missed this null check in NetworkServer. Thanks vis
2019-04-07 18:57:38 +02:00
Paul Pacheco
146988a6bb
style: remove blank lines
2019-04-07 11:49:25 -05:00
Paul Pacheco
6525dba77f
Remove resolved TODO
2019-04-07 11:47:52 -05:00
Paul Pacheco
077be58584
refactor: move SetupWriteFuctions to Writers
2019-04-07 11:44:43 -05:00
rodolphito
765c87e80c
Promote the Warning to an Error, because thats how it was before. Move it above the disconnect, in case Disconnect throws. ( #756 )
2019-04-07 18:41:01 +02:00
rodolphito
ecccb88be5
Follow naming conventions in NetworkBehaviour ( #759 )
2019-04-07 18:39:54 +02:00
rodolphito
f07ad218e0
This should have been readonly from day 1 too ( #757 )
2019-04-07 18:37:41 +02:00
Paul Pacheco
e01b5e4c7d
refactor: Move SetupReaders in Readers class
2019-04-07 11:35:38 -05:00
Paul Pacheco
53b3f435a3
refactor: Move readerFunc to readers class
2019-04-07 11:24:13 -05:00
Paul Pacheco
bf6278a28b
refactor: Move writerFuncs inside Writers.cs
2019-04-07 11:18:32 -05:00
Paul Pacheco
b3ee67ee28
refactor: remove unnecesary function
2019-04-07 11:10:28 -05:00
Paul Pacheco
b3b2673e09
refactor: remove unnecesary caches
2019-04-07 11:05:57 -05:00
MrGadget
48b155f785
Update LocalClient.cs
...
Corrected version
2019-04-07 04:44:10 -04:00
rodolphito
d3e3cb6a54
This should have been readonly from day 1 ( #751 )
2019-04-07 01:20:55 +02:00
rodolphito
f99466fa88
Remove a bunch of internals, it can be private. ( #748 )
2019-04-07 00:28:07 +02:00
c6burns
53be9b6d99
fix(weaver): fix #706 find system dlls ( #729 )
...
* added asmresolver back in
* disambiguate Assembly symbol
* add cache for pipeline asms
* add back precomp refs from pipeline
2019-04-06 22:02:14 +02:00
Paul Pacheco
d3baeeeec3
refactor: simplify writer/reader function lookup
2019-04-06 13:10:01 -05:00
Paul Pacheco
209a59fe73
refactor: make method private
2019-04-06 13:06:02 -05:00
Paul Pacheco
420fef509f
refactor: Move reader and writer generation to separate classes ( #746 )
...
* refactor: Move writer generation to a separate class
* refactor: Move reader generation out of weaver.cs
* refactor: Rename struct code generation functions
2019-04-06 12:53:39 -05:00
Paul Pacheco
b024362c29
refactor: simplify syncobject initialization
2019-04-06 09:12:17 -05:00
Paul Pacheco
06bbf6c3ab
style: use explicit variable types
2019-04-06 08:59:35 -05:00
Paul Pacheco
4aa6b34d90
style: indent for readability
2019-04-06 08:55:34 -05:00
Paul Pacheco
cf9f12d012
refactor: follow naming conventions
2019-04-06 08:46:31 -05:00
Paul Pacheco
5dee4e0c92
refactor: Reduce ProcessMethods cognitive complexity
2019-04-06 08:37:56 -05:00
Paul Pacheco
5a8e42028c
refactor: follow naming convention
2019-04-06 08:22:56 -05:00
Paul Pacheco
683ada6bd1
refactor: remove unused parameter
2019-04-06 08:21:38 -05:00
Paul Pacheco
81c9644a07
style: use explicit type
2019-04-06 08:19:34 -05:00
Paul Pacheco
34f308430b
style: Make class static
2019-04-06 08:19:13 -05:00
Paul Pacheco
c77bd5c59d
style: Make class static
2019-04-06 08:18:35 -05:00
Paul Pacheco
b705b67b39
style: use explicit type
2019-04-06 08:18:04 -05:00
Paul Pacheco
7e50ceaa73
style: use explicit type
2019-04-06 08:17:19 -05:00
Paul Pacheco
0b64616aa7
style: use explicit type
2019-04-06 08:14:56 -05:00
Paul Pacheco
12aa61a00d
style: use explicit type
2019-04-06 08:14:21 -05:00
Paul Pacheco
02bf5a5cf6
style: use explicit type
2019-04-06 08:13:55 -05:00
Paul Pacheco
017b5203c0
refactor: Remove unused nop
2019-04-06 08:13:37 -05:00
Paul Pacheco
0fb0c3671b
style: use explicit type
2019-04-06 08:12:33 -05:00
Paul Pacheco
9e6523e3fb
inline variable declaration
2019-04-06 08:12:11 -05:00
Paul Pacheco
da4e9df534
style: use compound assignment
2019-04-06 08:11:33 -05:00
Paul Pacheco
744910598d
style: use explicit type
2019-04-06 08:11:01 -05:00
Paul Pacheco
a95c796407
style: use explicit type
2019-04-06 08:10:19 -05:00
Paul Pacheco
15bef0bf47
refactor: remove unused nop
2019-04-06 08:09:41 -05:00
Paul Pacheco
f3a0c5763e
refactor: Remove unused parameters
2019-04-06 08:08:18 -05:00
Paul Pacheco
b7b827cebe
refactor: Remove unused parameters
2019-04-06 08:02:50 -05:00
Paul Pacheco
d563ec7a5c
refactor: Remove unused parameter
2019-04-06 07:59:27 -05:00
Paul Pacheco
c466be0f85
style: naming conventions
2019-04-06 07:53:14 -05:00
Paul Pacheco
cadb0cc51c
style: naming conventions
2019-04-06 07:50:58 -05:00
Paul Pacheco
aa75387d60
refactor: made fields readonly
2019-04-06 07:45:02 -05:00
Paul Pacheco
a302c180d3
refactor: naming convention
2019-04-06 07:43:55 -05:00
Paul Pacheco
adb16921c8
style: naming convention
2019-04-06 07:41:57 -05:00
Paul Pacheco
76392a3a4e
refactor: keep consistent namespace
2019-04-06 07:33:47 -05:00
Paul Pacheco
3a7646bab7
refactor: simplify switch
2019-04-06 07:16:36 -05:00
Paul Pacheco
0e285a5645
style: use simplest function available
2019-04-06 07:05:31 -05:00
Paul Pacheco
87e962b52b
style: 2 lines if
2019-04-06 07:01:48 -05:00
Paul Pacheco
eb1654f26e
style: naming convention
2019-04-06 06:56:16 -05:00
Paul Pacheco
314dde7d40
style: naming convention
2019-04-06 06:53:57 -05:00
Paul Pacheco
e8679a0562
refactor: remove pointless if
2019-04-06 06:51:37 -05:00
vis2k
b202473bcf
syntax
2019-04-06 13:33:38 +02:00
vis2k
9d2682eb2a
NetworkServer.SetupLocalPlayerForConnection: removed unused variable
2019-04-06 13:33:18 +02:00
vis2k
512c7ff521
NetworkManager.OnServerConnectInternal: simplify code
2019-04-06 13:18:21 +02:00
vis2k
c5236f5504
ClientScene.DestroyAllClientObjects is now called from ClientScene.Shutdown so that the NetworkManager doesn't have to worry about it
2019-04-06 13:13:32 +02:00
vis2k
a9a2afd06e
Remove NetworkManager.address because it seems pointless ( #744 )
2019-04-06 13:03:25 +02:00
vis2k
dfd729850e
NetworkIdentity.ClearObservers: simplify code
2019-04-06 12:43:22 +02:00
vis2k
dac128f036
NetworkIdentity.SetLocalPlayer: use foreach
2019-04-06 12:42:30 +02:00
vis2k
1ad3b120b6
NetworkIdentity.OnUpdateVars: reuse NetworkBehaviours which already calls GetComponents if not initialized yet
2019-04-06 12:40:46 +02:00
vis2k
242cf9f1d2
NetworkIdentity.OnStartClient: fix log message
2019-04-06 12:36:44 +02:00
vis2k
9e8dc924de
NetworkClient.RegisterHandler: remove unnecessary ToString
2019-04-06 12:32:11 +02:00
vis2k
c6fffc6505
add empty line
2019-04-06 12:20:58 +02:00
vis2k
54a24d7bda
ClientScene.AddPlayer: use proper variable name
2019-04-06 12:09:52 +02:00
vis2k
ef14026be4
ClientScene.RemovePlayer: shorter code
2019-04-06 12:09:00 +02:00
vis2k
fb716df129
fix: NetworkClient.Shutdown calls ClientScene.Shutdown again to properly clean up client scene. ClientScene only cleans up itself without touching transport or NetworkIdentities (fixes the bug where the player object wouldn't be destroyed after calling StopClient)
2019-04-06 12:03:57 +02:00
MrGadget
c691c07d96
Added EditorBrowsable(EditorBrowsableState.Never) to Obsoletes ( #741 )
2019-04-06 10:43:14 +02:00
rodolphito
333bbb062a
A gift for vis. ( #742 )
2019-04-06 10:42:52 +02:00
rodolphito
9d0cf977f9
Use checked() syntax to throw on overflow ( #740 )
...
* Use checked() syntax to throw on overflow
* Expect exceptions in the tests. Tests pass now.
2019-04-05 19:49:49 -05:00
rodolphito
b995a98743
Fixed NetworkReader tests, everything passes now. Also sneaked in two more tests for 0-length byte arrays because the conventional test didnt apply to them, since they didnt throw when there wasnt any data for them. Also made NetworkReader throw when it can't satisfy a request to read bytes past EOS. ( #739 )
2019-04-05 18:37:13 -05:00
rodolphito
f64e127378
Add tests for buffer overrun, raising the bar on NetworkReader. ( #734 )
2019-04-06 00:20:04 +02:00
vis2k
bd9d7b9fd6
NetworkReader.ReadString throws exception again
2019-04-06 00:18:55 +02:00
vis2k
cc16df72cc
Transport.TransportReceive catches exceptions and disconnects the connection after invalid data was received. ( #737 )
2019-04-06 00:17:45 +02:00
vis2k
7d2c5e5b0e
remove empty whitespace
2019-04-05 23:48:18 +02:00
vis2k
64ed66edbe
NetworkServer.InternalSetClientNotReady moved into SetClientNotReady because it can't be overwritten anymore anyway
2019-04-05 22:00:58 +02:00
vis2k
7b550fdf4b
NetworkServer.SetAllClientsNotReady: simplify code
2019-04-05 22:00:15 +02:00
vis2k
a526c39228
NetworkServer.InternalReplacePlayerForConnection: rename 'playerGameObject' to 'player' for consistency with AddPlayerForConnection
2019-04-05 21:57:36 +02:00
vis2k
e27ebf65bb
NetworkServer.InternalReplacePlayerForConnection: rename 'playerNetworkIdentity' to 'identity' for consistency with AddPlayerForConnection
2019-04-05 21:56:54 +02:00
vis2k
a3e9fbb5bd
NetworkServer.DisconnectAllConnections: simplify code
2019-04-05 21:53:24 +02:00
vis2k
a574b181bb
remove empty line
2019-04-05 21:45:01 +02:00
vis2k
fa64fa077f
NetworkServer: move UpdateServerObjects into Update
2019-04-05 21:43:17 +02:00
vis2k
2048addde4
NetworkClient.RegisterSystemHandlers: add comments
2019-04-05 21:33:02 +02:00
vis2k
a7e0b2c728
Add LocalClient.cs generated meta file
2019-04-05 20:23:39 +02:00
MrGadget
355585f1fc
Fixed Typo
2019-04-05 14:21:50 -04:00
MrGadget
fdb81ca2b2
Add LocalClient.cs Dummy for Asset Store ( #733 )
...
This file should ship with 1.7 to the Asset Store, and can be removed when 1.8 is ready to publish to the store in a May 2019.
2019-04-05 20:14:02 +02:00
rodolphito
95baed5e83
Add tests for strange floats, doubles, and decimals ( #732 )
2019-04-05 20:13:19 +02:00
vis2k
de0b9b5789
NetworkClient.active reads from .connectState so we don't have redundant states.
2019-04-05 20:11:22 +02:00
rodolphito
04370e56c0
Add more test cases to string read/write. ( #731 )
2019-04-05 19:52:39 +02:00
rodolphito
015d0d508e
fix: Potential DOS attack on server by sending packed ulongs when packed uints are expected. ( #730 )
...
* fix: Potential DOS attack on server by sending packed ulongs when packed uints are expected.
* Update NetworkReader.cs
2019-04-05 19:52:00 +02:00
rodolphito
3cee3abc48
fix: Potential DOS attack by sending invalid UTF8 byte sequences ( #727 )
...
* fix: Potential DOS attack by sending invalid UTF8 byte sequences
* Added test case for invalid UTF8 bytes
2019-04-05 19:47:37 +02:00
rodolphito
0d2f64228c
Added Unicode Strings test ( #728 )
2019-04-05 18:12:28 +02:00
vis2k
fdd35bc840
List Server Example: read IP from bytes again after list server IPv6 bug was fixed
2019-04-05 11:26:31 +02:00
rodolphito
4ee787b0eb
What even is m_td? Rename it to something that can actually be read. ( #709 )
2019-04-05 09:59:45 +02:00
rodolphito
5f63256cd1
We can hide this better by using this attribute ( #725 )
2019-04-05 09:59:25 +02:00
vis2k
ee2ace8e42
fix : #652 OnPostProcessScene includes disabled NetworkIdentities in scene
2019-04-04 18:41:42 +02:00
MichalPetryka
8caf299f4a
Whitespace and encoding normalization ( #722 )
2019-04-04 18:20:13 +02:00
rodolphito
7948961e14
Simplified code in NetworkConnection. ( #717 )
2019-04-04 18:17:44 +02:00
vis2k
62e28bdc46
List Server Example: IP as string again for easier IPv6 support
2019-04-04 17:08:44 +02:00
vis2k
11f34ef90f
List Server Example: update comments
2019-04-04 17:08:44 +02:00
vis2k
b329bc4e8a
List Server Example: improve comment log message
2019-04-04 17:08:44 +02:00
vis2k
bfe27ffadf
List Server Example: read/write title as UTF8 encoded bytes with length prefix
2019-04-04 17:08:44 +02:00
vis2k
5226ed64de
List Server Example: warn gameserver if it tries to send a too big message which would be rejected by List Server
2019-04-04 17:08:44 +02:00
vis2k
401455197f
List Server Example: read player, capacity before title
2019-04-04 17:08:44 +02:00
vis2k
33c8d5685f
add comment
2019-04-04 17:08:44 +02:00
vis2k
02fd8d3e8c
List Server Example: parse IP from bytes because the list server sends it as bytes now.
2019-04-04 17:08:44 +02:00
rodolphito
699a261e91
fix: weaver Cmd/Rpc/Target prefix check is no longer trash ( #707 )
...
* fix: weaver Cmd prefix check should not allow methods with names shorter than 3 characters.
* fix: weaver Rpc prefix check should not allow methods with names shorter than 3 characters.
* fix: weaver Target prefix check should not allow methods with names shorter than 6 characters.
* Update Assets/Mirror/Editor/Weaver/Processors/CommandProcessor.cs
Co-Authored-By: rodolphito <rodol@rivalrebels.com>
* Update Assets/Mirror/Editor/Weaver/Processors/TargetRpcProcessor.cs
Co-Authored-By: rodolphito <rodol@rivalrebels.com>
* Update Assets/Mirror/Editor/Weaver/Processors/RpcProcessor.cs
Co-Authored-By: rodolphito <rodol@rivalrebels.com>
2019-04-04 05:45:21 -05:00
vis2k
5994f0f207
List Server Example: show status indicator for client to list server connection
2019-04-04 10:08:58 +02:00
rodolphito
22d237505c
Renamed m_MessageHandlers to messageHandlers ( #708 )
2019-04-04 09:50:02 +02:00
rodolphito
cdeed8b558
Remove prefixes in NetworkAnimator. ( #710 )
2019-04-04 09:48:52 +02:00
rodolphito
77e5de7352
Renamed m_VisUpdateTime lastUpdateTime ( #711 )
2019-04-04 09:48:28 +02:00
rodolphito
a5ead70961
Rename s_NextNetworkId to nextNetworkId ( #712 )
2019-04-04 09:47:51 +02:00
rodolphito
13679887f4
Renamed m_CmdHandlerDelegates to cmdHandlerDelegates ( #713 )
2019-04-04 09:47:37 +02:00
rodolphito
382e125146
Removed s_ prefixes in NetworkManager ( #714 )
2019-04-04 09:47:12 +02:00
rodolphito
46841cdd3f
Remove k_ prefixes in weaver ( #715 )
...
* Rename k_CmdPrefix to CmdPrefix
* Rename k_RpcPrefix to RpcPrefix
* Rename k_TargetRpcPrefix to TargetRpcPrefix
2019-04-04 09:46:49 +02:00
rodolphito
df132b6893
Inlined an internal method call. ( #716 )
2019-04-04 09:46:19 +02:00
vis2k
e9717d87ad
Syntax
2019-04-03 16:05:45 +02:00
vis2k
370f66b9b4
List Server Example: add connected/disconnected log messages
2019-04-03 16:05:16 +02:00
vis2k
c617ffd61c
List Server Example: improve log messages
2019-04-03 16:05:03 +02:00
Paul Pacheco
053949b7d2
fix(weaver): #696 detect .mystruct = new MyStruct() changes with syncvars ( #702 )
...
* clearing struct should set dirty bit
This reproduces issue #696
using .mystruct = default uses initobj instead of stfld, so the weaver misses it
* refactor: use index for so that we can insert instructions
* refactor: rename test
* fix : #696 use generated setter for .mystruct = new MyStruct()
* Update PropertySiteProcessor.cs
* Update PropertySiteProcessor.cs
2019-04-03 13:59:37 +02:00
vis2k
5b30a94923
Merge pull request #705 from vis2k/MrGadget1024-patch-2
...
fix: Lobby Remove button not showing for P1 when Server Only
2019-04-03 13:37:16 +02:00
Paul Pacheco
e7c98af6eb
Obsolete non generic InvokeHandler
2019-04-03 06:27:46 -05:00
MrGadget
377c47ce74
fix: Lobby Remove button not showing for P1 when Server Only
2019-04-03 00:16:23 -04:00
Paul Pacheco
040bcb45ad
feat: SyncList now supports any IList implementation ( #704 )
2019-04-02 21:39:19 -05:00
Paul Pacheco
2683572fb4
feat: SyncDictionary can now be used for any IDictionary ( #703 )
2019-04-02 21:26:24 -05:00
vis2k
0c1d5001ba
Merge pull request #701 from Katori/DontDeletePDB
...
fix(Weaver): Don't delete the PDB after Weaving
2019-04-02 23:51:13 +02:00
Zac North
c78120eca2
Don't delete the PDB, what were they thinking?
2019-04-02 14:28:56 -04:00
vis2k
8dc0c73d77
Merge pull request #695 from MrGadget1024/Additive-Scene-Example
...
Additive Scenes Example
2019-04-02 17:08:28 +02:00
vis2k
e1b4b181c4
NetworkIdentity.RebuildObservers: change "Observer is not ready for: ..." warning to debug log, because it would constantly be spammed if a connection disconnects and we keep the player in the game for a while before disconnecting. E.g. if NetworkManager.OnServerDestroy delays the disconnect to avoid a player from fleeing combat.
2019-04-02 12:24:36 +02:00
vis2k
9c8211e573
NetworkServer.OnDisconnected: remove "Player not destroyed when connection disconnected." warning. This warning would be shown if a NetworkManager's OnServerDisconnect function wouldn't remove the player immediately, which is completely normal in most online games where the server delays a disconnect if the player was recently in combat - which would then show this warning every single time. OnServerDisconnect removes the player controller anyway, so there is no need for this warning at all.
2019-04-02 12:11:26 +02:00
Paul Pacheco
c58cf884d4
test: Test that setting syncvar sets dirty bits
2019-04-02 03:45:29 -05:00
Paul Pacheco
2ca80e1a90
refactor: move property site processor into a separate class
2019-04-02 03:16:50 -05:00
Paul Pacheco
ac697a454b
style: C#7 syntax
2019-04-02 02:32:29 -05:00
Paul Pacheco
312c0fcf5d
style: C# 7 code style
2019-04-02 02:27:11 -05:00
Paul Pacheco
9d54bf7bb1
style: naming convention
2019-04-02 02:26:01 -05:00
Chris Langsenkamp
297b671766
Renamed script to AdditiveNetworkManager
2019-04-01 19:18:15 -04:00
Chris Langsenkamp
2c0fa42568
Made Lobby player controller more similar to Additive player controller, per request.
2019-04-01 13:55:34 -04:00
Chris Langsenkamp
dc8f9b462a
Code changes as requested
2019-04-01 13:54:15 -04:00
vis2k
ab44ac8f8b
fix : #692 by always adding connectionToClient when rebuilding observers
2019-04-01 17:19:47 +02:00
vis2k
8f3c8edd86
RebuildObservers: add comments
2019-04-01 17:09:11 +02:00
vis2k
512e904ec0
RebuildObservers: order hashset syntax more logically
2019-04-01 17:01:44 +02:00
Chris Langsenkamp
32d6c19e5f
Initial Publish
2019-03-31 22:07:37 -04:00
Paul Pacheco
ee9c737bda
feat: allow users to detect mirror version 3
2019-03-31 13:27:03 -05:00
Paul Pacheco
e75d4b29dd
style: remove redundant methods
2019-03-31 11:30:30 -05:00
vis2k
b876e256eb
Merge pull request #689 from paulpach/zigzag
...
perf: Implement zigzag algorithm so negatives pack efficiently
2019-03-31 14:25:35 +02:00
Paul Pacheco
5f1ef4ab1f
perf: Pack small 64 bit negatives efficiently
2019-03-31 07:16:57 -05:00
Paul Pacheco
480af1aa6c
perf: Pack small 32 bit negatives efficiently
2019-03-31 07:16:51 -05:00
rodolphito
f5d80175fe
Fixed a typo in NetworkServer ( #691 )
2019-03-30 16:01:12 -05:00
rodolphito
2db7576bbc
perf: Use WritePackedUInt32 in SyncList ( #688 )
2019-03-30 12:33:16 -05:00
Paul Pacheco
3ec7f6c1d0
style: remove redundant field initialization
2019-03-30 12:21:37 -05:00
Paul Pacheco
d12c4b80ca
style: constructor of abstract class should be protected
2019-03-30 12:20:02 -05:00
rodolphito
594e8c9d89
Syncdict style ( #687 )
...
* Renamed m_Objects to objects
* Renamed Changes to changes
2019-03-30 12:16:35 -05:00
rodolphito
f61b757b8a
Synclist style ( #686 )
...
* Rename m_Objects to objects
* Rename Changes to changes
* Empty braces
* use default shorthand
* Use expression body getter
2019-03-30 12:09:37 -05:00
Paul Pacheco
bd304ab90b
style: follow C# code style conventions
2019-03-30 12:06:39 -05:00
Paul Pacheco
695979e914
feat: Add SyncHashSet and SyncSortedSet ( #685 )
...
* feat: Add SyncHashSet and SyncSorted set
2019-03-30 11:51:06 -05:00
Paul Pacheco
a8599c1af2
feat: Show compile time error if overriding unused OnServerAddPlayer ( #682 )
...
* remove obsolete OnServerAddPlayer
BREAKING CHANGE: Remove obsolete OnServerAddPlayer
Any person that overrides this method has a broken game. These methods are never called anywhere.
The user gets a warning because they are overriding an obsolete method, which might get ignored if they have lots of other warnings. They would run their game and their game would not work at all. No errors.
By removing these methods, users that override these methods will get a compile time error instead. So they cannot ignore this error and they will fix it.
* Method is no longer available in NetworkLobbyManager
2019-03-28 11:36:13 +01:00
Paul Pacheco
8dea50ed18
fix: call Obsoleted OnStartClient ( #681 )
2019-03-27 18:13:59 -05:00
MichalPetryka
468ec80dbb
Remove useless method ( #680 )
2019-03-27 17:23:37 -05:00
rodolphito
375303297c
Removed internal access modifier. ( #675 )
...
good catch, this should be private
2019-03-27 17:22:21 -05:00
rodolphito
40d2ec54e5
This method seems pretty redundant, could just be called directly. ( #677 )
2019-03-27 13:06:42 -05:00
MrGadget
49f39f9c09
Updated Obsolete comment and code to remove singleton ( #661 )
...
* Updated Obsolete comment and code to remove singleton
* Update NetworkClient.cs
* Update NetworkClient.cs
* Update NetworkClient.cs
2019-03-27 15:13:25 +01:00
rodolphito
1feff9d749
Removed useless comment. ( #676 )
2019-03-27 13:56:59 +01:00
rodolphito
6edfd3ddf1
Removed more internals. ( #673 )
2019-03-27 13:37:12 +01:00
rodolphito
ba298c74b0
Style guidelines say these are bad. ( #672 )
2019-03-27 13:20:36 +01:00
rodolphito
57066a6003
These can be private. ( #669 )
2019-03-27 13:13:27 +01:00
rodolphito
4897edd76a
More internal access modifier removals ( #671 )
2019-03-27 13:13:11 +01:00
rodolphito
9be7426efa
Remove s_ prefix because the entire class is static, the prefix doesnt actually specify anything. ( #668 )
2019-03-27 12:04:07 +01:00
rodolphito
86c1942310
Remove s_ prefix because the entire class is static, the prefix doesnt actually specify anything. ( #667 )
2019-03-27 12:03:37 +01:00
rodolphito
595039865f
Removed duplicated address storage. ( #664 )
...
* Removed duplicated address storage.
* Removed the obsoletion as per vis' request.
2019-03-27 10:27:41 +01:00
rodolphito
c289ffb440
Remove proxy methods for setting playerController. ( #665 )
...
* Deprecate proxy methods for setting playerController.
* shortened obsoleted methods.
* This isnt actually public facing, its internal. Obsoletion is unnecessary, plain removal is ok.
2019-03-27 10:26:45 +01:00
uwee
f4cdfbf952
Remove IsClientConnected ( #663 )
...
* remove IsClientConnected
no longer needed now that NetworkClient is static
* removed in other scripts also
* marked as obsolete
2019-03-27 09:15:03 +01:00
MrGadget
d7306986b6
Updated Lobby Example Scenes Lighting ( #662 )
2019-03-26 17:49:56 +01:00
MrGadget
d2868646fa
SyncVar Updates ( #660 )
...
* Change SyncVar hooks to use `nameof`
I intentionally left the test for missing hook as a literal string because it won't compile otherwise.
* Removed unnecessary property value set from hook
2019-03-26 15:40:28 +01:00
uwee
68f63b5f69
bool InActiveScene not referenced in any script? ( #656 )
...
* code is not referenced in any script?
* fully remove code
2019-03-26 13:58:05 +01:00
Paul Pacheco
2d63ee1318
fix: Set syncvar variables after calling the hook ( #659 )
...
Previously, during deserialize, Mirror either called the hook for a syncvar or it set the variable, but never both. So users had to set the variable inside the hook.
```cs
class Player : NetworkBehaviour {
[SyncVar(hook=nameof(OnVarChanged))]
public int myvar;
public void OnVarChanged(int newvalue) {
Debug.Log("Got new value " + newvalue);
Debug.Log("Old value is " + myvar);
// with this pull request the following line is no longer needed
// the weaver will do this after the hook finishes
// this.myvar = newvalue;
}
}
```
fix: Hook not working with NetworkIdentity or GameObjects
Deserializing NetworkIdentity or GameObjects was broken, it called the hook only if there was no hook, and it saved the variable only if there was a hook.
2019-03-26 07:15:25 -05:00
Paul Pacheco
4d74f555b1
Update Assets/Mirror/Runtime/NetworkClient.cs
...
Co-Authored-By: vis2k <info@noobtuts.com>
2019-03-26 12:16:57 +01:00
vis2k
1879f5ecdc
Add [Obsolete] for compatibility
2019-03-26 12:16:57 +01:00
vis2k
9bc1dc1e85
NetworkClient class made static
2019-03-26 12:16:57 +01:00
vis2k
912572d6fe
NetworkClient.ConnectLocalServer: use the same order as Connect
2019-03-26 12:16:57 +01:00
vis2k
7bc320d098
LocalClient class moved into NetworkClient
2019-03-26 12:16:57 +01:00
vis2k
31836c16d1
NetworkClient.RemoveTransportHandlers made static
2019-03-26 12:16:57 +01:00
vis2k
4dbaff8ac1
NetworkManager.StartClient/StartHost don't return NetworkClient anymore
2019-03-26 12:16:57 +01:00
vis2k
d1d006e6d7
NetworkClient.Connect made static
2019-03-26 12:16:57 +01:00
vis2k
080bf2eaf0
NetworkClient.InitializeTransportHandlers made static
2019-03-26 12:16:57 +01:00
vis2k
32ed62f82b
NetworkClient.OnError made static
2019-03-26 12:16:57 +01:00
vis2k
461ba0b036
NetworkClient.OnDisconnected made static
2019-03-26 12:16:57 +01:00
vis2k
60083ff72d
NetworkClient.OnDataReceived made static
2019-03-26 12:16:57 +01:00
vis2k
42bceb25d9
NetworkClient.OnConnected made static
2019-03-26 12:16:57 +01:00
vis2k
493bf7fa5f
NetworkClient.RegisterSystemHandlers made static
2019-03-26 12:16:57 +01:00
vis2k
bc6c2542f6
NetworkClient.UnregisterHandler made static
2019-03-26 12:16:57 +01:00
vis2k
9eac983872
. NetworkManager.RegisterClientMessages doesn't require NetworkClient parameter anymore
2019-03-26 12:16:57 +01:00
vis2k
712aecb452
NetworkClient.REgisterHandle made static
2019-03-26 12:16:57 +01:00
vis2k
ba00554e0c
NetworkClient.GetRTT made static
2019-03-26 12:16:57 +01:00
vis2k
4abc58b136
NetworkClient.Send(msgId, msg) made static
2019-03-26 12:16:57 +01:00
vis2k
cd56c6a6f7
NetworkTime.UpdateClient doesn't require NetworkClient anymore
2019-03-26 12:16:57 +01:00
vis2k
8c125d2fd3
NetworkClient.Send made static
2019-03-26 12:16:57 +01:00
vis2k
558e1d8754
NetworkClient.SetHandlers made static
2019-03-26 12:16:57 +01:00
vis2k
180d3f8cf4
NetworkClient.isConnected made static
2019-03-26 12:16:57 +01:00
vis2k
604c205025
NetworkClient.serverIp made static
2019-03-26 12:16:57 +01:00
vis2k
882a7d5ba8
NetworkClient.connection made static
2019-03-26 12:16:57 +01:00
vis2k
f351a8a6d4
NetworkClient.connectState made static
2019-03-26 12:16:57 +01:00
vis2k
006d5d3bc8
NetworkClient.handlers made static
2019-03-26 12:16:57 +01:00
rodolphito
3a8fa3f571
Remove internal access modifier. ( #658 )
2019-03-26 12:09:43 +01:00
rodolphito
a96417112d
Use ulong instead of uint to support up to 64 animator parameters. ( #655 )
...
* Use ulong instead of uint to support up to 64 animator parameters.
* Split onto new line as Paul asked
2019-03-26 07:57:51 +01:00
uwee
65eaba1fe0
fix : #651 GetSceneAt assumes default scene ( #654 )
...
Changed to GetActiveScene
2019-03-26 07:57:31 +01:00
Paul Pacheco
8c93f31b80
refactor: Load parameters right before function call
2019-03-25 23:13:52 -05:00
vis2k
ff909bf830
Telepathy license file included
2019-03-25 20:03:27 +01:00
vis2k
14807f6ef7
add comment
2019-03-25 16:20:17 +01:00
vis2k
13bb748603
fix: Revert "NetworkClient.Shutdown: call ClientScene.Shutdown, otherwise it's never called" - caused client's player to not be removed from scene after disconnecting
...
This reverts commit e1e7b3132e
.
2019-03-25 16:19:22 +01:00
rodolphito
d483901432
Use PackedUInt for dirty bits for bandwidth ( #649 )
2019-03-25 13:13:14 +01:00
uwee
4c7c97bf70
reset netId counter to 1 on NetworkServer.Shutdown ( #645 )
2019-03-25 05:37:28 -05:00
rodolphito
6120a8e082
Removed unused parameter from NetworkAnimator. ( #648 )
2019-03-25 08:07:45 +01:00
Paul Pacheco
e2a6ce9811
feat: Add weaver support for Vector2Int and Vector3Int ( #646 )
2019-03-24 16:04:13 -05:00
vis2k
7836433b4f
Local Connection's connectionId is now set to 0 inside of their constructors, instead of doing it in LocalClient
2019-03-24 21:16:55 +01:00
vis2k
5f7c4d48b4
NetworkServer.AddLocalClient renamed to SetLocalConnection because that's what it does. The connection is created in LocalClient now too, this way NetworkServer doesn't need to depend on LocalClient(!)
2019-03-24 21:15:05 +01:00
vis2k
829da79288
LocalClient.InternalConnectLocalServer sets connectionId to 0 directly instead of getting it from NetworkServer.AddLocalClient (which shows an error message if failed anyway)
2019-03-24 21:07:41 +01:00
vis2k
56c163d9cd
NetworkServer.RemoveLocalClient renamed to RemoveLocalConnection because NetworkServer only keeps a local connection, not a local client
2019-03-24 21:07:41 +01:00
uwee
6db11b298b
Add the name of the Message back to the debug
...
The random int representing the Message is less human readable.
2019-03-24 14:50:13 -05:00
vis2k
ca2c72aee8
NetworkServer.s_LocalConnection replaced with .localConnection private setter
2019-03-24 20:46:34 +01:00
Paul Pacheco
48674151f0
perf: don't varint bytes and shorts
2019-03-24 14:45:03 -05:00
vis2k
bdf12c85d0
fix : #640 InternalReplacePlayerForConnection calls SpawnObserversForConnection now too
2019-03-24 19:41:41 +01:00
vis2k
a2d6317642
fix : #573 NullReferenceException because destroyed NetworkIdentities were never removed from sceneIds dict
2019-03-24 19:28:25 +01:00
rodolphito
1e5fc3cde5
Made dirty bits not rely on NetworkWriter position manipulation hackery. ( #636 )
...
* Made dirty bits not rely on NetworkWriter position manipulation hackery.
* Renamed GetDirtyBits to NextDirtyBits, as discussed with Paul.
* Expanded one line ifs.
2019-03-24 12:43:39 -05:00
Paul Pacheco
a495f66fc1
refactor: configure frame rate in a virtual method ( #638 )
...
Moved frame rate configuration into a virtual method so that people can override it and we reduce StartServer complexity
Fixes #567
2019-03-24 08:58:11 -05:00
vis2k
2d492607c8
pong example: ball is only simulated on server now
2019-03-24 14:38:22 +01:00
vis2k
e521a20052
fix : #573 (part 2) NetworkManager detects additive scene loads and respawns objects on server/client again
2019-03-24 13:24:29 +01:00
vis2k
c1af84e6bf
fix : #573 (part 1) NetworkScenePostProcess handles NetworkIdentities of all scenes except DontDestroyOnLoad. this way it works for additively loaded scenes too.
2019-03-24 13:24:29 +01:00
vis2k
603dfa1fe9
don't use continue and improve comments
2019-03-24 13:24:29 +01:00
vis2k
051cd7cf66
add comment
2019-03-24 13:24:29 +01:00
vis2k
bce7c54fa1
NetworkScenePostProcess: only set inactive if this was actually a valid scene object
2019-03-24 13:24:29 +01:00
rodolphito
b3595d3f5d
Code simplification and optimization. ( #635 )
2019-03-24 10:47:14 +01:00
Zac North
7d21bded9a
feat(syncvar): Add SyncDictionary ( #602 )
...
* Added basic SyncDictionary support, no support for structs yet
* Fixed TryGetValue usage
* Removed extraneous hardcoded SyncDictionary type
* Added a couple basic tests, more coming
* Added 4 more tests
* Added two tests and SyncDictionary now bubbles item to Callback on Remove (both Remove cases)
* Added the remainder of tests
* Added basic documentation about SyncDictionaries on StateSync.md page
* Simplify test syntax
Co-Authored-By: Katori <znorth@gmail.com>
* Simplify test syntax
Co-Authored-By: Katori <znorth@gmail.com>
* Simplify test syntax
Co-Authored-By: Katori <znorth@gmail.com>
* Simplify test syntax
Co-Authored-By: Katori <znorth@gmail.com>
* Remove null-check when setting value directly (and updated expected test behaviour)
* fix: Provide default implementation for SyncDictionary serializers
* feat: Add Weaver support for syncdictionary
* Fix minor issue with Set code and made test use Weaved serialization instead of manual
* Added a new test for bare set (non-overwrite)
* Added another test for BareSetNull and cleaned up some tests
* Updated SyncDictionary documentation on StateSync.md
* Update docs with SyncDictionary info
* Update SyncDictionary docs wording
* docs: document the types and better example
* Add two SyncDictionary constructors
* Removed unnecessary initialization
* Style fixes
* - Merged many operation cases
- Fixed Contains method
- Added new test to test contains (and flag its earlier improper usage)
- Use PackedUInt32 instead of int for Changes and Counts
* - Simplify "default" syntax
- Use Rodol's remove method (faster)
- Don't use var
* Removed unnecessary newline, renamed <B, T> to <K, V> per vis2k, corrected wording of InvalidOperationException on ReadOnly AddOp
* Code simplification, style fixes, docs example style fixes, newly improved implementation for CopyTo that fails gracefully
2019-03-24 10:18:31 +01:00
rodolphito
fea46b801d
Remove NetworkAnimatorEditor and animator parameter mask. ( #633 )
2019-03-24 09:39:51 +01:00
vis2k
67d715fe74
fix: Telepathy updated to latest version: protect against allocation attacks via MaxMessageSize. Can be configured in the TelepathyTransport component now.
2019-03-23 20:34:48 +01:00
Zac North
b0af876221
fix(tests): Added missing SyncListByteValid test file ( #634 )
...
* Added missing SyncListByteValid test file (passing)
* Added a missing newline
2019-03-23 18:40:38 +01:00
MichalPetryka
1595fb07b1
PreprocessorDefine rework ( #626 )
...
perf: speed up preprocessor define
2019-03-23 06:59:35 -05:00
vis2k
1bf2f9ee56
Update List Server demo text
2019-03-23 12:51:39 +01:00
vis2k
4eb01da0c1
update welcome message
2019-03-22 17:19:05 +01:00
vis2k
fa04185fa8
remove empty line
2019-03-22 14:08:59 +01:00
vis2k
c194771084
ClientScene.DestroyAllClientObjects simplified: use .Values
2019-03-22 14:05:47 +01:00
vis2k
6e11429699
NetworkClient.Shutdown made static too. ShutdownAll made obsolete.
2019-03-22 13:56:43 +01:00
vis2k
1d94464023
NetworkClient.ShutdownAll calls .Shutdown
2019-03-22 13:54:20 +01:00
vis2k
e1e7b3132e
NetworkClient.Shutdown: call ClientScene.Shutdown, otherwise it's never called
2019-03-22 13:53:28 +01:00
vis2k
227b0a71d1
tanks example namespaces updated
2019-03-22 13:29:24 +01:00
vis2k
c5b4211ac7
list server examples namespace changed
2019-03-22 13:28:08 +01:00
vis2k
5c00577746
fix : #609 by spawning observers in NetworkServer.AddPlayerForConnection after setting the controller. There is no point in trying to spawn with a null controller in SetReady, because by definition no one can observer something that is null. ( #623 )
2019-03-22 12:50:35 +01:00
Paul Pacheco
b7e977a7a3
synclist code generator is now reusable ( #624 )
...
* refactor: Made serializer generation reusable
* refactor: SyncList code generator is reusable for other structs
2019-03-22 06:44:57 -05:00
vis2k
1d166c699a
add comment
2019-03-22 12:24:22 +01:00
vis2k
694185b756
NetworkServer.SpawnObserversForConnection helper function instead of doing it all in SetClientReady
2019-03-22 12:23:33 +01:00
vis2k
009943f368
remove outdated comment
2019-03-22 12:10:13 +01:00
vis2k
c3bd7d6e07
NetworkServer.SetClientReady: get rid of 'continue'
2019-03-22 12:09:22 +01:00
vis2k
400bb91821
NetworkServer.SetClientReady: remove unnecessary null check because we don't have one in the above foreach either, and we don't have them anywhere else for NetworkIdentity.spawned because OnDestroy removes objects from it before they become null. The only way to cause this would be by calling Destroy(GetComponent<NetworkIdentity>()) - which no one does, and if someone does it then it's fine to get an exception here.
2019-03-22 12:08:47 +01:00
vis2k
9567daedba
add comments
2019-03-22 12:06:13 +01:00
vis2k
b869e3af99
improve comment
2019-03-22 12:04:25 +01:00
vis2k
c176da7bc3
NetworkServer.SetClientReady: use if+else instead of if + early return
2019-03-22 12:00:16 +01:00
vis2k
0e8b442cad
add some ocmments
2019-03-22 11:59:12 +01:00
vis2k
f6a6440294
NetworkServer.SetClientReady: move isReady=true upwards
2019-03-22 11:57:27 +01:00
vis2k
47d5ee976e
remove unused variable
2019-03-22 11:53:42 +01:00
Paul Pacheco
6f19489721
feature(synclist): allow SyncList of primitive types ( #622 )
...
* feature(synclist): allow SyncList of primitive types
As it turns out this never really worked:
```cs
class SyncListByte : SyncList<byte> {};
```
You had to write your own serializeItem / deserialize item for native types.
This change lifts the restriction, now you can use a synclist of anything that mirror can serialize/deserialize
* fix: fix unit tests error messages
2019-03-22 05:51:20 -05:00
vis2k
aa5e5a104f
ClientScene.s_PendingOwnerNetIds converted to HashSet
2019-03-22 10:10:53 +01:00
vis2k
0d6b03989a
NetworkServer.InternalAddPlayerForConnection moved into AddPlayerForConnection because there is no reason to keep it in an internal method anymore, since NetworkServer is static now
2019-03-22 10:04:14 +01:00
vis2k
fb2131207c
NetworkServer.InternalAddPlayerForConnection: reuse 'identity' for log message
2019-03-22 10:03:00 +01:00
vis2k
4f53f37dc8
NetworkServer.InternalAddPlayerForConnection: rename playerGameObject parameter for consistency
2019-03-22 10:02:30 +01:00
vis2k
75e51513db
added the log message again too
2019-03-22 09:58:04 +01:00
vis2k
1a55c3d52d
NetworkManager: move OnServerAddPlayerInternal code into OnServerAddPlayer because it was really just the implementation for OnServerAddPlayer moved into another function
2019-03-22 09:53:21 +01:00
vis2k
4b4dd179cc
sort regular and obsolete OnServerAddPlayer functions
2019-03-22 09:51:27 +01:00
vis2k
a39954003a
NetworkManager.RegisterServerMessages for AddPlayerMessage uses OnServerAddPlayer directly instead of wrapping it with a OnServerAddPlayerMessageInternal function
2019-03-22 09:46:14 +01:00
vis2k
fa4efa6683
syntax
2019-03-21 18:12:34 +01:00
vis2k
155764cea8
simplify NetworkIdentity.RebuildObservers
2019-03-21 17:58:15 +01:00
vis2k
f90cdae3c6
fix #384 : duplicating scene objects at runtime is now detected and and error is shown. otherwise the user could instantiate scene objects at runtime, which would then send the sceneId to the client, then the client wouldn't know which of the multiple objects to use for the sceneId, resulting in things getting out of sync.
2019-03-21 11:46:55 +01:00
Zac North
c9eac57ce8
fix: OnClientReady is called and passed the appropriate ready state value in NetworkLobbyPlayer ( #618 )
2019-03-21 02:27:25 -05:00
Martin Evans
28b067d3cd
refactor: Generic IMessageBase
to allow struct message types ( #619 )
...
* - Added a `IMessageBase` as an interface to `MessageBase`. Existing messages which inherit `MessageBase` (including ones which do not implement Serialize/Deserialize and rely on the weaver) will continue to work in exactly the same way as before!
- Modified any methods which were generic `T where T : MessageBase` to be `T where T : IMessageBase`. this does not change things at all for all existing usages of the method.
These two changes allow end users to implement IMessageBase as a `struct` instead of `MessageBase` as a `class`, so they are no longer forced to allocate message objects in their own code.
* Update .gitignore
* Update Messages.cs
* Update MessageBaseTests.cs
* Update MessageBaseTests.cs
* Update MessageBaseTests.cs
2019-03-20 19:44:42 -05:00
Paul Pacheco
9d043182bf
feature: SyncList now support structs ( #614 )
...
Previously, if you wanted a synclist of structures, you would do: SyncListSTRUCT<MyStruct>
Now you can use SyncList<MyStruct>
SyncListSTRUCT is left there, but obsolete
2019-03-20 12:45:46 +01:00
vis2k
22640b5e62
Mirror List Server example ( #611 )
...
feature: Mirror List Server example
2019-03-20 09:38:53 +01:00
Anthony Eckert
00961ccc9c
feature: Add NoRotation to NetworkTransform ( #616 )
...
This allows you to leave rotation out of the NetworkTransform if you only need position.
Right now if you don't need sync rotation and set compression to Lots, it can move your object in ways not expected. This forces you to use no compression as a fix. Using more bandwidth for something you don't need. I think this is all that is needed, tested it in my game and it works.
2019-03-19 23:46:33 -05:00
Paul Pacheco
80bce0a626
refactor: rename SyncObjectProcessor -> SyncObjectInitializer
...
The name SyncObjectProcessor is confusing because it does not process syncobjects. Instead it initializes syncobjects in a NetworkBehaviour.
this avoids the confusion with SyncListStructProcessor, that does process synclists to add serialization methods
2019-03-19 08:26:03 -05:00
Paul Pacheco
6e51e69e3d
refactor: rename SyncListProcessor -> SyncListInitializer
...
SyncListProcessor is a very confusing name, it does not process synclists at all, instead it initializes synclists in the network behaviour.
This is more confusing especially since SyncListStructProcessor does process the synclists to add serialization methods, and both of them normally work
in tandem in different parts of the code
2019-03-19 08:23:28 -05:00
vis2k
8f8856d320
remove targetrpc first parameter networkconnection test because it's optional now
2019-03-18 13:08:28 +01:00
MichalPetryka
c1707e5917
fix: Don't disconnect host ( #608 )
...
* Don't disconnect host
* Update NetworkConnection.cs
2019-03-18 09:38:51 +01:00
vis2k
ed6a93724f
tanks: projectiles
2019-03-17 22:23:20 +01:00
vis2k
21327065f2
rename Examples/Movement to Examples/Tank
2019-03-17 21:46:53 +01:00
vis2k
97b4e26d8b
movement: add a light to the tank
2019-03-17 21:46:18 +01:00
vis2k
a2165d3278
movement: dirt texture
2019-03-17 21:38:58 +01:00
vis2k
d41c5d0040
movement: adjust camera
2019-03-17 21:31:45 +01:00
vis2k
6a11335050
movement: improve code
2019-03-17 21:30:45 +01:00
vis2k
a773df4905
movement: use animations
2019-03-17 21:30:45 +01:00
vis2k
c0b2d63a8d
movement: rename player to tank
2019-03-17 21:18:57 +01:00
vis2k
13717c8b57
movement: rotate camera
2019-03-17 21:17:20 +01:00
vis2k
fbe2895eab
movement: delete old model
2019-03-17 21:12:49 +01:00
vis2k
14b63e9d10
movement: add some spawn positions
2019-03-17 21:08:52 +01:00
vis2k
477fe61a14
movement example: fix movement in builds by using navmeshagent; use better model (tank)
2019-03-17 21:05:12 +01:00
MichalPetryka
b67b3e4304
fix: Stop calling ClientDisconnect on host ( #597 )
...
* Stop calling ClientDisconnect on host
* Update NetworkConnection.cs
* Update NetworkServer.cs
2019-03-17 19:37:21 +01:00
MrGadget
78504533f3
Fix Scene Handling ( #463 )
...
* Fix Scene Handling
Line 361: Passing false prevents the switch to offline scene...pass true instead to forceReload paramater.
Line 588: Never assume Network Manager is in Scene 0 of Build Settings...it often is not.
* Reverted GetActiveScene
Will make separate PR
* Added code to unwind DontDestroyOnLoad
* Fixed typo in comment
* Removed the unwinding of DDOL
2019-03-17 19:32:49 +01:00
vis2k
7efeaa980c
not public
2019-03-17 14:35:53 +01:00
vis2k
d72a10b4a9
pong: NetworkManagerPong handles ball spawn and despawn
2019-03-17 14:34:59 +01:00
vis2k
7e9b3efa7d
pong: fixed racket spawn position after reconnecting
2019-03-17 14:24:15 +01:00
vis2k
6d8d9f2998
pong: racket uses * Time.fixedDeltaTime
2019-03-17 14:14:22 +01:00
vis2k
a3209add85
pong ball uses continous collision detection and interpolation to fix going through walls
2019-03-17 14:08:08 +01:00
vis2k
f360e5070c
pong ball velocity only starts when both players are connected
2019-03-17 14:07:24 +01:00
vis2k
c956148982
pong ball position centered
2019-03-17 14:02:42 +01:00
vis2k
46dd15d4a4
spawn scene object not found message shows sceneID as hex
2019-03-17 09:54:44 +01:00
MrGadget
f64eb8be0b
Should be fixedDeltaTime in FixedUpdate ( #605 )
2019-03-16 13:15:32 -05:00
MrGadget
d09c7cddc0
Fixed typos ( #604 )
2019-03-16 12:57:17 -05:00
MrGadget
54c964c232
Made Lists available to inheritors ( #603 )
...
* Made Lists available to inheritors
* Update NetworkLobbyManager.cs
Made them public
2019-03-16 15:47:33 +01:00
rodolphito
0b83c9feb9
Add scale to spawn payload. ( #599 )
2019-03-16 11:57:59 +01:00
vis2k
4193574864
[TargetRPC] optional connection parameter for easier usage while still allowing for previous usage ( #592 )
...
* [TargetRPC] optional connection parameter for easier usage while still allowing for previous usage
* allow for parameterless targetrpc too
* syntax
* Add Helpers.ReaderParameters change from HLAPI 2019.2 package just to be sure
2019-03-14 14:52:32 +01:00
vis2k
1824e8db80
sceneID buildIndex byte replaced with scenePath hash and sceneID converted to long to fix #571 , #577
2019-03-14 11:26:19 +01:00
vis2k
ca69cb9c14
log sceneid as hex
2019-03-14 11:15:51 +01:00
vis2k
de9d31f6b6
syntax
2019-03-14 11:01:42 +01:00
vis2k
e962fd2f35
sceneID random generation excludes 0 because 0 is for random sceneIDs
2019-03-14 11:01:12 +01:00
vis2k
62fc738673
Fix sceneID mismatch bug between build (buildIndex=-1) and editor (buildIndex=0) for projects where the scene was not added to build settings list
2019-03-13 18:36:20 +01:00
vis2k
8642056f21
add comments
2019-03-13 18:27:00 +01:00
MichalPetryka
8c41ee2380
Remove a per packet Encoding allocation ( #588 )
...
* Remove a per packet encoding allocation
* Update NetworkReader.cs
* Update NetworkReader.cs
* Update NetworkWriter.cs
* Update NetworkWriter.cs
* Update NetworkReader.cs
2019-03-13 15:53:18 +01:00
MrGadget
ab668962d1
Added Obsoleted Methods ( #590 )
2019-03-13 15:49:43 +01:00
MrGadget
dc0b8d406a
NetworkLobbyManager: Added Obsoleted Method ( #591 )
2019-03-13 15:49:11 +01:00
vis2k
f17ddfec5f
syntax
2019-03-13 14:03:41 +01:00
vis2k
d23facc048
simplify code
2019-03-13 14:01:50 +01:00
vis2k
00a1004b41
Weaver sourcebased hlapi2019.2package ( #587 )
...
* move weaver into assets folder
* disable tests for now
* asmdef
* add logs
* Use UNET's WeaverRunner code, slightly modified to find Mirror assembly
* Use UNET's 2019.2 package Weave function changes
* compiler messages error checked moved into separate function
* fix typo
* syntax
* replace 'var'
* rename
* replace var
* fix log
* update comment
* syntax
* rename to assemblyPath. no need for an extra variable.
* remove extra variable
* fix typo
* remove old code
* don't use .Contains to find Mirror dll. that's crazy. would fail for all DLLs in Mirror folder.
* look for 'this' assembly separately
* separate unityEngine assembly search
* add comment
* move null check up
* move null check upwards
* move outputDirectory down
* check process result properly
* use our previous way to find unity engine dll
* rename to unityEngineCoreModuleDLL again
* improve output directory construction
* move unityengine dll finding upwards
* move foundThisAssembly down, where it is used
* add comments
* split dependency code into separate functions
* add TODO
* store this assembly in a variable
* split dependency search depending on if we found assembly or not
* move usesMirror logic into if and out of 'not found' else
* syntax
* improve order
* GetNonDynamicAssemblyDirectories helper function
* check File.Exists instead of exception
* improve comment
* rename HlapiRuntimeAssemblyName to MirrorAssemblyName
* reuse MirrorAssemblyName
* remove telepathy check
* rename to MirrorRuntimeAssemblyName
* add MirrorWeaverAssemblyName
* reuse name consts
* don't use contains to check if assembly depends on Mirror
* add actions for testing again
* make CompilationFinishedHook public so it can be used by tests
* fix typo
* Mirror.Tests.asmdef references weaver asmdef
* reenable tests
* pass error handlers to Weaver Processing for tests to work
2019-03-13 12:17:04 +01:00
Liu
dea7b58792
Fix network animator doesn't sync float value as expected ( #589 )
...
Maybe we should do float sync when the Abs of newValue - lastValue > 0.001f
2019-03-13 12:15:34 +01:00
vis2k
b0ef89a0d9
resave scenes because of new sceneIDs
2019-03-12 18:45:42 +01:00
MrGadget
303d0f4b3a
Reverted spelling error from #537 ( #584 )
2019-03-11 18:51:34 -05:00
rodolphito
dd362b18a0
Fixed the NetworkAnimator issue I introduced in the bandwidth fix. This should also further improve bandwidth, too. ( #576 )
2019-03-11 08:54:46 +01:00
Paul Pacheco
092c5663b6
NetworkReader should enforce read only ( #580 )
2019-03-10 12:04:45 -05:00
rodolphito
4aa1a4b169
Removed one liner braces from transport files. ( #544 )
2019-03-10 10:18:11 +01:00
vis2k
98a0e23413
Persistent sceneid ( #563 )
...
* add empty line
* persistent scene ids
* never assign scene ids at runtime
* fix warning
* fix 'sceneid is never assigned to' warning in play mode
* simplify bitwise operation
* set dirty even if only scene index byte changed
* improve log message
* assign build index byte in OnPostProcessScene to also work with unopened scenes and build index changes
* add comment
* improve log
* Add sceneid not set check
* Only PostProcess the objects from this scene.
* Interrupt build if there is an unopened scene that still needs sceneId assignments. This makes it 100% fail safe.
* improve comment and error message
* clear build index byte before or-ing into it
2019-03-08 20:24:18 +01:00
vis2k
508ba558fc
NetworkManager: headless start moved to Start() because Awake() is for initialization.
2019-03-07 15:30:23 +01:00
vis2k
3a86bd501a
headless start doesn't unnecessarily set tick rate anymore. StartServer already takes care of that.
2019-03-07 15:27:15 +01:00
vis2k
8b85e1c846
NetworkIdentityEditor: create GUIContent directly
2019-03-07 13:39:30 +01:00
vis2k
f3738d87d7
NetworkAnimatorEditor: create GUIContent directly
2019-03-07 13:39:30 +01:00
rodolphito
ca7824bbc1
Fixed animator bandwidth problem. ( #536 )
...
* Fixed animator bandwidth problem.
* Renamed xShadowCopy to lastXParamters, renamed val to be consistent with the reading value names, renamed newValue to newIntValue to be consistent with newFloatValue and newBoolValue.
* Removed Debug.log which slipped by.
2019-03-06 22:52:26 +01:00
MichalPetryka
9afefbdce7
Adjusted line endings, encoding and trimmed whitespaces at EOL ( #561 )
2019-03-06 18:08:48 +01:00
rodolphito
896551eb00
Finished replacing comment walls with regions. ( #558 )
2019-03-06 10:53:35 -06:00
vis2k
17ab8ae30a
add empty line
2019-03-06 14:42:22 +01:00
rodolphito
ca57f1180c
Removed trailing whitespace ( #556 )
2019-03-06 09:08:34 +01:00
rodolphito
98284e4253
Removed single line braces from NetworkWriter. ( #545 )
...
* Removed single line braces from NetworkWriter.
* Undid alignment.
2019-03-05 18:17:42 -06:00
vis2k
ed64872163
NetworkIdentity.OnValidate: wrap in #if UNITY_EDITOR in case OnValidate is needed at runtime later
2019-03-04 17:43:51 +01:00
vis2k
8eb27ea0af
Syntax
2019-03-04 17:42:24 +01:00
rodolphito
f6d89c763f
Removed comment divider thingies and used regions where applicable. Reordered a bit of code to make the regions make sense. ( #532 )
2019-03-04 10:04:54 +01:00
rodolphito
f324c0df94
Removed SetInstanceId by making netId setter internal. ( #510 )
...
* Removed SetInstanceId by making netId setter internal.
* Split isServer into multiple lines as per vis' suggestion.
2019-03-04 10:02:00 +01:00
rodolphito
15c3991905
Removed braces from everything else. ( #551 )
2019-03-04 09:57:27 +01:00
rodolphito
c1179fbd0d
Renamed UNetInvokeType to MirrorInvokeType. ( #553 )
2019-03-04 09:56:59 +01:00
rodolphito
8141c44e50
Brace crunching ( #554 )
...
* Made bracing consistent in WeaverTests.
* Made bracing consistent everywhere else.
2019-03-04 08:48:28 +01:00
rodolphito
335ed683a5
Remove one liner braces in NetworkManager. ( #547 )
2019-03-04 08:47:11 +01:00
rodolphito
0790dd2ac9
Remove one liner braces on NetworkServer. ( #548 )
2019-03-04 08:46:54 +01:00
rodolphito
b3e6194665
Remove one liner braces. ( #550 )
2019-03-04 08:44:39 +01:00
rodolphito
45e886e2c4
Removed one liner braces in NetworkIdentity. ( #546 )
2019-03-04 08:44:27 +01:00
rodolphito
a9deb56282
Remove one liner braces in ClientScene ( #549 )
2019-03-04 08:43:33 +01:00
Paul Pacheco
70cfe9e8ce
Websocket transport should be namespaced ( #542 )
2019-03-04 08:42:17 +01:00
Paul Pacheco
9a0af7cb55
Allow users to unpack messages too ( #543 )
2019-03-03 18:06:36 -06:00
Paul Pacheco
4749abd307
Move GetId<T> to MessagePacker ( #540 )
...
Now we have the logic of how many bits in just one place and we free up MessageBase for eventually converting to an interface
2019-03-03 14:02:34 -06:00
Paul Pacheco
e4fbbeddc3
Simplify add player extra data ( #537 )
...
* Simplify add player extra data
* Pass byte[] in the client too
* Renamed to extra message
2019-03-03 19:53:24 +01:00
vis2k
001cec6d82
NetworkManager.InitializeSingleton: set active transport AFTER setting singleton or destroying self. not before. Otherwise we would set it to a transport that is destroyed a moment later.
2019-03-03 18:19:07 +01:00
vis2k
440a6dfc6f
NetworkManager.InitializeSingleton: show warning if destroying self. No need to show an error, since this can be completely normal if we use zones/multiple scenes and switch back to the main scene, which still has a networkmanager.
2019-03-03 18:16:29 +01:00
Paul Pacheco
480bd8c9c6
Transport should be protected so that people can implement their own OnValidate logic ( #539 )
2019-03-03 16:51:03 +01:00
Paul Pacheco
c7b8f78aae
#418 Send messages without id ( #422 )
...
* Client can send/receive messages without id
* Server can send and receive messages without id
* Move message id to one common place
* Client use the new send method
* Obsolete the message ids
* Remove player uses the new api
* Refactor AddPlayer with new message api
* Provide a Pack method that gets the message id
* Convert ready message to new api
* Use new api for ObjectDestroy and ObjectHide
* Refactored ready message to new API
* Refactored SpawnSceneObjectMessage to new api
* Convert local authority message to new api
* Convert spawn started message to new api
* Convert spawn finished message to new api
* Convert upate vars message to new api
* Convert owner message to new api
* Convert pong message to new api
* Convert RPC message to new api
* Convert SyncEvent rpc to new api
* Refactor Command to new api
* Refactor Ping to new api
* Convert ErrorMessage to new api
* Convert ErrorMessage to new api
* Use int instead of short for message id to avoid collisions
* Keep only 16 bit hash for message id
* Converted Disconnect Message to new api
* Convert Connect to new message api
* Convert not ready message to new api
* Convert scene message to new api
* the Enum is no longer used for message id
* Add non obsolete version of SendToClient
* Document how to use new API
With this PR, we no longer use Message id, document the proper use of the api
* use C# syntax highlight
* Update NetworkMessages.md (#5 )
Punctuation changes, added `cs` to code blocks.
* Write message id in short instead of packed int
* Use packer method with id
* Pass the NetworkConnection to the client message handlers
2019-03-03 14:52:35 +01:00
rodolphito
834fab5ba4
Changed several mentions of UNet to instead say Mirror. ( #531 )
2019-03-03 10:34:23 +01:00
rodolphito
8b2f99b3c4
Made SetDynamicAssetId a setter on the assetId property. ( #530 )
...
* Made SetDynamicAssetId a setter on the assetId property.
* Update NetworkIdentity.cs
2019-03-03 10:32:49 +01:00
rodolphito
c0ba0073b2
Removed RequireComponent(Animator) because NetworkAnimator does not have to be on the same game object as the Animator. ( #529 )
2019-03-03 10:30:59 +01:00
rodolphito
bc9982e187
Remove useless comment ( #528 )
2019-03-02 23:25:10 -06:00
rodolphito
d9be5cf941
Update tooltip in NetworkTransform. ( #527 )
2019-03-02 23:13:38 -06:00
MrGadget
24b8003b74
Fixed guidance for hostId
...
It should be `typeof(NetworkConnection)`
2019-03-02 22:46:12 -05:00
MrGadget
11a755e961
Restored GetConnectionInfo with [Obsolete] ( #504 )
...
* Restored GetConnectionInfo with [Obsolete]
* Update Transport.cs
* Update Transport.cs
* Update Transport.cs
2019-03-02 21:03:26 +01:00
vis2k
ce723a62ff
Ninja.Websockets license.meta file generated by Unity
2019-03-02 10:27:48 +01:00
vis2k
c4f436d71e
Rebuild Weaver.dll
2019-03-02 09:55:37 +01:00
Zac North
7da51e62ff
Removed an unused override in the Example NetworkLobbyPlayer ( #521 )
2019-03-02 09:53:36 +01:00
vis2k
cfc5a0888f
Rebuild Weaver.dll
2019-03-02 09:46:26 +01:00
c6burns
92596de38a
Weaver follow on pr to 490 ( #519 )
...
* removed workaround from previous cecil version that now causes sharing violation console warning
* fixed language feature error -- null prop op is C#4 but .sln target is net35
* separated editor logging (required) from console logging (optional)
* fix issue introduced by flipping boolean property meaning in 9895bff
* added updated weaver assembly
* updated to release assembly - wrong assembly in ef0c903
* commenting weave target debug log to retain prev behaviour (oops)
2019-03-02 09:45:38 +01:00
vis2k
400382be76
ProximityChecker NonAlloc to avoid GC (see https://github.com/vis2k/Mirror/pull/228/ )
2019-03-01 22:51:49 +01:00
Zac North
d41701e0c5
Added a license for Ninja.WebSockets ( #518 )
2019-03-01 21:29:02 +01:00
vis2k
32b9fcc987
Remove old comment
2019-03-01 15:30:20 +01:00
vis2k
0e5181f26a
NetworkClient: move PrepareForConnect code into Connect
2019-03-01 15:29:55 +01:00
rodolphito
6b6d2b00a5
Spaces around equal signs. ( #515 )
2019-03-01 15:26:20 +01:00
rodolphito
4d40ddb891
Minor style fixes. ( #514 )
2019-03-01 15:01:42 +01:00
rodolphito
5a9f10ec47
Made member accessor debug logs consistent. ( #513 )
2019-03-01 07:29:38 -06:00
rodolphito
1e13ef5c31
Made it more clear that the checkboxes on the NetworkAnimator are referring to whether the parameter should be synced or not. ( #512 )
2019-03-01 11:45:01 +01:00
vis2k
fcc3f06feb
move RegisterSystemHandlers from ClientScene to NetworkClient. There is no reason why it should be in ClientScene, especially since it passes a NetworkClient, which is very strange. Additionally, not all delegates are in ClientScene anyway (like NetworkTime) ( #473 )
2019-03-01 11:38:00 +01:00
rodolphito
e30ec76581
Made client authority setter internal to remove internal setter method. ( #508 )
2019-03-01 01:18:20 -06:00
Paul Pacheco
32c89f4f33
Use property setter instead of custom setter
2019-03-01 01:11:46 -06:00
rodolphito
848e9cfbe9
Removed unused line. ( #506 )
2019-03-01 01:07:08 -06:00
Zac North
fbada30e01
Changed WebSockets default port to 7778 in case we add Multiplex ( #503 )
2019-02-28 22:55:12 +01:00
Zac North
8f041331de
Fix WebSocket transport default port ( #502 )
2019-02-28 22:13:34 +01:00
Zac North
abf95651e2
Added modified version of Paul's 2018 WebSockets transport ( #369 )
...
* Added modified version of Paul's 2018 WebSockets transport, modifications include:
- Basic support for WSS
- Event format converted to master event format (UnityEvents)
* Fixed indentation and added support for Available()
* Manually merged in Paul's changes for latest version of Transport
* Added comment to CertVerificationCallback to reflect new research done in live environment.
* Added NoDelay option and merged in some minor renames from 2018 branch version
2019-02-28 20:53:22 +01:00
MrGadget
c8a12eb12e
Update Readme.txt ( #498 )
...
Removed GitHub link
Added notice to restart unity after import
2019-02-28 18:38:01 +01:00
Lymdun
73f822d9b7
Weaver - My kingdom for some tests ( #490 )
...
* Added custom assembly compiler for easier testing
* Added weaver tests
* Added controls to silence Weaver logging and collect logs
* Update weaver dll
* Added new weaver test fixture and tests
* Connected WeaveFailed property to weave result status
* Removed useless meta files
* Removed useless comment
* Fix artifacts deletion
* Moved to [SetUp]
* Removed logs noise
2019-02-28 17:22:18 +01:00
vis2k
a28355d771
Weaver: remove unused ULocalConnectionToClientType
2019-02-28 15:44:18 +01:00
vis2k
cbeea38298
move Command NetworkClient.active check out of weaver ( #494 )
2019-02-28 15:23:04 +01:00
vis2k
9f0c485b7d
move TargetRpc NetworkServer.active and conn is ULocalConnectionToServer check out of weaver ( #492 ) ( #491 )
2019-02-28 15:21:07 +01:00
vis2k
d7b6c8556f
move TargetRpc NetworkServer.active and conn is ULocalConnectionToServer check out of weaver ( #492 )
2019-02-28 15:18:52 +01:00
vis2k
8d96dd77cd
Fix trailing whitespace
2019-02-28 13:57:46 +01:00
MichalPetryka
5ac23dd231
More using cleanup ( #489 )
2019-02-28 12:36:21 +01:00
MichalPetryka
97fc7aca4c
Use type keywords ( #472 )
...
* Use type keywords
* Update
2019-02-28 12:21:27 +01:00
SuperCables
2b429c9b3a
This doesn't sync slow rotating objects ( #428 )
...
* This doesn't sync slow rotating objects
The function sets lastRotation to the current rotation every frame, regardless of whether or not it detected a change. Because comparing two similar, but different Quaternions return true, only quickly rotating objects will return true; slow turning objects will return false, and the rotation will not be synced. By not updating lastRotation until a difference is spotted, any rotation will be synced.
This fix allowed my slow rotating spaceship to sync rotation.
TL;DR
lastRotation should be the last time this function returned true, not the rotation last frame.
* Update NetworkTransformBase.cs
2019-02-28 12:19:09 +01:00
rodolphito
7ecd66d6ec
Transport.activeTransport instead of NetworkManager.singleton.transport ( #479 )
...
* Created Transport.activeTransport to decrease NetworkManager god status.
* Fixed NetworkManagerHUD. (I forgot I had deleted it temporarily for testing)
2019-02-28 11:58:37 +01:00
MichalPetryka
c33c72e720
Using cleanup ( #452 )
2019-02-28 11:44:55 +01:00
rodolphito
c13f4bd13b
Used Expression Body Members to make code smaller and nicer in NetworkIdentity. ( #486 )
2019-02-28 10:20:57 +01:00
rodolphito
2d37a9e87c
First pass of moving stuff out of UNetwork. ( #481 )
2019-02-28 09:42:03 +01:00
Paul Pacheco
d39f999f0f
Simplify with auto property
2019-02-27 22:12:19 -06:00
rodolphito
51458762d4
Split Utils into FloatBytePacker and NetworkManager. ( #483 )
2019-02-27 21:47:37 -06:00
rodolphito
96133d1583
Removed useless proxy methods and substituted in direct property modification. ( #454 )
2019-02-27 18:33:10 -06:00
rodolphito
82535b0a8c
Moved SceneAttribute into CustomAttribute. ( #470 )
2019-02-27 18:32:13 -06:00
MichalPetryka
f746ba8b08
Hide obsolete warnings ( #476 )
2019-02-27 17:06:13 +01:00
MrGadget
e7e890988d
Re-applied GetActiveScene ( #474 )
2019-02-27 15:57:33 +01:00
vis2k
732111c1b9
add obsolete hostId again for easier transition from UNET
2019-02-27 15:43:35 +01:00
vis2k
26a9b5670d
NetworkClient.allClients added as obsolete
2019-02-27 15:24:44 +01:00
rodolphito
dbd5f57e96
Remove List.ForEach on hot path. ( #467 )
...
* Remove LINQ on hot path.
* Fixed erroneous classification of List.ForEach as LINQ.
* Added back using so that it could be removed by #452 .
2019-02-27 15:11:52 +01:00
rodolphito
d9a64c62b7
Move NetworkProximityChecker to ../Components/. ( #471 )
2019-02-27 14:39:44 +01:00
MichalPetryka
a3a10e82f2
Use string interpolation expressions ( #469 )
2019-02-27 14:37:54 +01:00
vis2k
6630b0bdbf
Move NetworkIdentity.UNetStaticUpdate to NetworkManager.Update. There is no reason why it should be in NetworkIdentity. ( #457 )
2019-02-27 14:36:53 +01:00
vis2k
b1c028a067
Rename Protocol to MessagePacker( #444 )
2019-02-27 14:36:09 +01:00
vis2k
07a5cca725
NetworkConnection.isConnected obsolete
2019-02-27 14:32:15 +01:00
MichalPetryka
ffda610f0d
Use nameof expression ( #468 )
2019-02-27 14:27:52 +01:00
rodolphito
0114a36fe1
Expanded symbols in test comments to english. ( #465 )
2019-02-27 09:42:50 +01:00
vis2k
81d031c6a1
Rebuild weaver.dll
2019-02-27 09:39:53 +01:00
Lymdun
cb432a12fb
Weaver aesthetic ( #455 )
...
* Renamed lists to WeaveList
* Renamed scriptDef to CurrentAssembly
* Renamed corLib to CorLibModule
* Renamed m_UnityAssemblyDefinition to UnityAssembly
* Renamed m_UNetAssemblyDefinition to NetAssembly
* Renamed MaxRecursionCount to m_kMaxRecursionCount
* Renamed s_RecursionCount to m_recursionCount
* Renamed m_DebugFlag to m_debugLogEnabled
* Moved properties & fixed comment
* Renamed fail to WeavingFailed
* Renamed generateLogErros to GenerateLogErrors
* Removed UNET references
* Updated dll
* WeaveLists better than WeaveList
* Removed m_ prefix
* Updated dll
2019-02-27 09:38:17 +01:00
rodolphito
7d3d8dad72
Simplify ClientScene functions. ( #461 )
2019-02-26 22:16:42 -06:00
rodolphito
72474af073
Fixed typos in Lobby Example README. ( #456 )
2019-02-26 22:16:03 -06:00
rodolphito
ca9d88d602
Greatly simplified SyncList by using Expression Bodied Members. ( #466 )
2019-02-26 22:15:22 -06:00
vis2k
a851ca7554
Rename NetworkWriter.Reset to SetLength(value). Seems more obvious. Reset could mean a lot of things. ( #459 )
2019-02-26 20:59:32 +01:00
vis2k
619d5f47e3
Remove hostId from NetworkServer and NetworkConnection because it was only needed for the old LLAPI. Also added comment for NetworkConnection.isConnected which can be removed later.
2019-02-26 17:08:10 +01:00
vis2k
74b297819b
NetworkServer: remove unnecessary check because hostId is set to 0 one line before that
2019-02-26 16:57:19 +01:00
vis2k
d08b9c0272
NetworkClient.clientId removed because all it ever did was change between -1 and 0 to indicate if a connection was made. The .active variable is enough here.
2019-02-26 16:45:58 +01:00
vis2k
3d945666a8
NetworkClient.Connect: use 0 as second parameter because the third one was actually the client id. The second one was the host id, which will likely be removed soon because it's left over from LLAPI.
2019-02-26 16:43:55 +01:00
vis2k
9a143dac5b
NetworkClient.Disconnect sets active = false too
2019-02-26 16:41:18 +01:00
vis2k
bd2952446e
NetworkClient.clientId: add comment
2019-02-26 16:36:08 +01:00
vis2k
70ecdd8f3a
NetworkClient.UpdateClients renamed to UpdateClient
2019-02-26 16:28:45 +01:00
vis2k
db32754100
NetworkClient: move Shutdown next to ShutdownAll
2019-02-26 16:26:33 +01:00
vis2k
9957cbc3b5
NetworkServer.OnConnected: call AddConnection in here too, instead of manually doing it from AddLocalClient and OnConnected
2019-02-26 16:07:40 +01:00
vis2k
fd561db9c2
NetworkServer.AddLocalClient: reused OnConnected
2019-02-26 16:07:40 +01:00
vis2k
81ecf61eed
LocalClient: move connect above disconnect
2019-02-26 16:07:40 +01:00
vis2k
7ac3749274
NetworkServer.RemoveLocalClient: remove unnecessary parameter
2019-02-26 16:07:40 +01:00
vis2k
9c58cb5c80
syntax
2019-02-26 16:07:40 +01:00
vis2k
a724503f6e
LocalClient.Disconnect: modify syntax to be more similar to NetworkClient.Disconnect
2019-02-26 16:07:39 +01:00
vis2k
6fa3aacea2
LocalClient: removed unnecessary m_Connected variable
2019-02-26 16:07:39 +01:00
vis2k
3967a7c089
LocalClient.InternalConnectLocalServer: always generate connect message
2019-02-26 16:07:39 +01:00
vis2k
903ca76c65
Remove NetworkServer.InvokeBytes. LocalConnection uses TransportReceive instead.
2019-02-26 16:07:39 +01:00
vis2k
c2dcf69e15
improve comments
2019-02-26 16:07:39 +01:00
vis2k
1c999df5de
syntax
2019-02-26 16:07:39 +01:00
vis2k
312ef309ae
NetworkConnection.TransportReceive: reuse InvokeHandler
2019-02-26 16:07:39 +01:00
vis2k
b15ad7dbc0
syntax
2019-02-26 16:07:39 +01:00
vis2k
17c343d28d
NetworkConnection.InvokeHandler: improve error message
2019-02-26 16:07:39 +01:00
vis2k
2f322c37fe
NetworkConnection: move InvokeHandler functions down to TransportReceive for better overview
2019-02-26 16:07:39 +01:00
vis2k
038f09de3f
NetworkConnection: remove unused InvokeHandler(NetworkMessage) function
2019-02-26 16:07:39 +01:00
vis2k
06a334e6dd
NetworkConnection.HandleBytes moved into TransportReceive
2019-02-26 16:07:39 +01:00
vis2k
f68119d614
LocalClient.Update uses OnDataReceived
2019-02-26 16:07:39 +01:00
vis2k
e605ec7251
NetworkClient.OnDataReceived made protected so it can be called from LocalClient
2019-02-26 16:07:39 +01:00
vis2k
cbc3c724c9
ClientScene.RegisterSystemHandlers: sort and add empty handlers to local client's handlers to avoid 'messageid not found' errors. This way we can reuse NetworkConnection.HandleBytes for local client without errors.
2019-02-26 16:07:39 +01:00
vis2k
29a95b33a1
NetworkConnection: move InvokeHandlers next to HandleBytes for a better overview
2019-02-26 16:07:39 +01:00
vis2k
2fcd0cac64
LocalClient packetQueue stores byte arrays and unpacks them in Update
2019-02-26 16:07:39 +01:00
vis2k
d86d9e3e87
m_internalmsgs renamed to packetqueue
2019-02-26 16:07:39 +01:00
vis2k
93e7da9b88
syntax
2019-02-26 16:07:39 +01:00
rodolphito
c931d03ae0
Simplified code a bit, and also removed allocation. ( #453 )
2019-02-26 08:21:43 -06:00
Paul Pacheco
58b7126f0b
Use Length instead of position for getting the written data ( #449 )
...
* Use Length instead of position for getting the written data
* Update NetworkBehaviour.cs
2019-02-26 14:54:41 +01:00
vis2k
7109be3c1c
move ProcessInternalMessages to Update
2019-02-26 09:09:55 +01:00
vis2k
b0da7f8b0f
syntax
2019-02-26 09:03:00 +01:00
vis2k
48e08bdd05
no need for extra variable
2019-02-26 09:02:37 +01:00
vis2k
f1e3c6f8fd
syntax
2019-02-26 09:02:12 +01:00
vis2k
0cdaaecd3a
avoid shadowing member
2019-02-26 09:02:02 +01:00
vis2k
c7524cb7f1
NetworkClient.Update: remove unnecessary checks
2019-02-26 09:01:09 +01:00
vis2k
d42c13ad15
comment out unused function
2019-02-26 09:00:16 +01:00
vis2k
2c54ab3722
NetworkClient.connection via property
2019-02-26 08:59:43 +01:00
vis2k
605c4d471c
rename m_ClientId to clientId
2019-02-26 08:57:12 +01:00
vis2k
4634f0632e
comment out unused GenerateConnectError
2019-02-26 08:55:04 +01:00
vis2k
f87f00effa
remove unused ctor
2019-02-26 08:54:20 +01:00
vis2k
c3b6fc5f4e
syntax
2019-02-26 08:53:44 +01:00
vis2k
bb3bf0635b
Networkclient active ( #448 )
...
* use NetworkClient.active directly
* add comment
2019-02-26 08:50:59 +01:00
vis2k
24b3b0d0fb
Networkclient singleton ( #447 )
...
* NetworkClient.allClients replaced with singleton because there is only ever one client.
* use this()
* remove redundant log
2019-02-25 22:01:42 +01:00
vis2k
6c229c8c58
LocalClient: add internalmsgs comment
2019-02-25 20:27:12 +01:00
vis2k
39ec1fd256
0gc recv ( #445 )
...
* Protocol.UnpackMessage returns reader instead of content to avoid manually extracting content, just to create a reader from it in all callers
* Create NetworkReader outside of Protocol.Unpack
2019-02-25 20:15:47 +01:00
vis2k
647ff39d3f
remove trailing whitespaces
2019-02-25 16:59:21 +01:00
vis2k
745519982e
Merge pull request #443 from vis2k/0gc
...
0gc
2019-02-25 13:57:31 +01:00
MrGadget
3735b3bd72
Update NetworkLobbyManager.cs ( #442 )
...
Removed two unused methods
2019-02-25 06:27:27 -06:00
vis2k
086de4bf88
NetworkServer.SendToReady/All/Observers: only pack message once instead of repacking it for each one again. This should avoid giant amounts of allocations (PackMessage->Writer.ToArray()) and computations
2019-02-24 22:52:42 +01:00
vis2k
10c5592f75
NetworkConnection.SendBytes made internal so it can be used by NetworkServer
2019-02-24 22:52:29 +01:00
vis2k
5e09d13d6e
NetworkIdentity: cache UNetUpdate UpdateVarsMessage
2019-02-24 22:27:02 +01:00
vis2k
7392de2790
Protocol.PackMessage caches writer and takes message as parameter to serialize it directly into the writer after writing the message type.
2019-02-24 22:20:45 +01:00
vis2k
6c3401c4fe
OnSerializeAllSafely: cache writer
2019-02-24 22:11:33 +01:00
Paul Pacheco
7323d450ad
Add MIRROR define and version ( #437 )
...
* Add MIRROR define and version
* Update PreprocessorDefine.cs
2019-02-24 20:35:14 +01:00
Paul Pacheco
34392915c8
NetworkMessage can be value type. It eliminates per message allocation ( #417 )
2019-02-24 20:32:19 +01:00
MrGadget
4a59f563e0
Network Lobby Updates ( #438 )
...
* Fixed 1 link to be relative
Removed Wiki link from ReadMe
* Made ClientLoadedScene virtual
Updates to scene object references
Scene and vsync handling improvements
Minor cleanup.
* removed all use of vSyncCount
* Fixed bug with ReadyToBegin being incorrectly set
2019-02-24 20:31:13 +01:00
Paul Pacheco
567fa8acf5
Use C# 7 pattern matching
2019-02-23 08:28:36 -06:00
Paul Pacheco
80a4b9d139
Simplify with auto properties
2019-02-23 08:27:26 -06:00
Paul Pacheco
8fc66d3b26
Simplify with auto properties
2019-02-22 19:36:35 -06:00
Paul Pacheco
6ab0a0a7c2
use C#7 out variable declaration
2019-02-22 19:17:15 -06:00
Paul Pacheco
b45d52c765
use C#7 out variable declaration
2019-02-22 19:08:50 -06:00
Paul Pacheco
1191db75d0
We no longer support unity < 2018.3
2019-02-22 19:05:36 -06:00
Paul Pacheco
3ed430a6d1
use C#7 out variable declaration
2019-02-22 19:03:16 -06:00