vis2k
17d874fee8
OnStartServer netId != 0 check moved to NetworkServer caller
2022-11-10 20:26:49 +01:00
vis2k
e7abbaf531
OnStartServer isLocalPlayer initialization moved to NetworkServer caller
2022-11-10 20:26:34 +01:00
vis2k
f2b0f2bab2
OnStartServer isServer check + initialization moved to NetworkServer for cleaner code
2022-11-10 20:26:29 +01:00
vis2k
d79de6bf0c
fix : #3258 NetworkWriter.WriteString now ensures capacity before manually writing into the buffer
2022-11-10 10:57:13 +01:00
vis2k
53a9717334
fix: Unity 2020 support
2022-11-09 15:04:12 +01:00
vis2k
1dada3bb4b
MIRROR_2022_10_OR_NEWER
2022-11-09 10:55:50 +01:00
vis2k
3617ffac00
comment updated
2022-11-06 20:32:06 +01:00
vis2k
6315260286
syntax
2022-11-06 19:30:54 +01:00
vis2k
761b70e8e7
remove unused import
2022-11-03 16:16:39 +01:00
vis2k
d021c1a01e
TimeSample moved to Tools
2022-11-03 16:15:18 +01:00
vis2k
e6a65bc5b2
breaking: remove SyncVar<T> which was meant to replace [SyncVar]s implementation behind the scenes. this hasn't happened, so we don't actually need it.
2022-11-03 16:09:36 +01:00
vis2k
085ed1da81
NetworkBehaviourSyncVar moved into separate file to keep NetworkBehaviour.cs clean
2022-11-03 15:57:16 +01:00
vis2k
a62452c826
TODO
2022-11-03 15:54:44 +01:00
vis2k
18cc7a0558
Pool moved to Tools
2022-11-03 15:52:39 +01:00
vis2k
a8241e5794
Mathd moved to Tools
2022-11-03 15:52:32 +01:00
vis2k
32561576ec
Tools folder to distinguish between Unity integration and standalone algorithms
2022-11-03 15:50:28 +01:00
vis2k
395c447b02
feature: manual DeltaCompression to prepare for NetworkTransform V3
2022-11-01 17:34:41 +01:00
vis2k
9e352f5be2
Compression: ScaleToLong/Float Vector3Long variants to prepare for NetworkTransform V3
2022-11-01 17:34:10 +01:00
vis2k
701c16a307
feature: Vector3Long to prepare for NetworkTransform V3
2022-11-01 17:33:44 +01:00
MikiBordils
fb95c411ef
fix: NetworkDiscovery BroadcastAddress exposed for iOS support ( #3255 )
...
* exposing BroadCasting Address
iOS build prevents broadcasting to 0.0.0.0, so we needed to expose it to change it for our built
* Update NetworkDiscoveryBase.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2022-10-31 22:12:45 +01:00
vis2k
33e0bea844
CCU test demo: only sync on change
2022-10-31 10:46:34 +01:00
mischa
a2756af514
feature: RemoteStatistics tool ( #3254 )
2022-10-31 10:43:10 +01:00
vis2k
d26d12fb55
feature: CCU test demo
2022-10-31 09:23:26 +01:00
vis2k
68ab1816bb
breaking: NetworkManager.serverTickRate renamed to sendRate because that's what it is
2022-10-31 09:15:19 +01:00
vis2k
723da0cecc
fix: NetworkClient now only tries to broadcast every sendInterval. otherwise ClientToServer NetworkTransform components (which have syncInterval=0) would sync every single tick. prepare for NT V3 as well.
2022-10-30 18:54:50 +01:00
vis2k
3d3a542ddd
comment
2022-10-30 18:53:57 +01:00
vis2k
b0f0c38592
script icons
2022-10-30 12:05:00 +01:00
vis2k
8039bcbda5
syntax
2022-10-27 19:17:42 +02:00
vis2k
c0ac491993
NetworkTransform: reorder code
2022-10-27 19:15:22 +02:00
vis2k
e473d154d9
fix: NetworkRigidbody now uses double time to keep precision over multiple days
2022-10-26 12:28:06 +02:00
vis2k
5abc261320
fix: NetworkLerpRigidbody now uses double time to keep precision over multiple days
2022-10-26 12:27:57 +02:00
vis2k
25d0e7929a
fix: NetworkTransform now always sends at the same sendInterval as time interpolation. as configured in NetworkManager.
2022-10-26 12:17:49 +02:00
vis2k
8d3d623fac
fix: NetworkManager now always applies the exposed NetworkServer.send/tickRate. fixes a bug where some NetworkBehaviours may try to send with NetworkServer.tickRate, which wouldn't be available on client because NetworkManager.StartServer was never called, so the rate was never set.
2022-10-26 11:28:40 +02:00
vis2k
485b65f18d
perf: NetworkBehaviour.IsDirty: check bits before time
2022-10-25 19:05:10 +02:00
mischa
d05feed59e
breaking: NetworkTransform.clientAuthority flag obsoleted. use SyncDirection instead. automatically sets syncDirection if still used. ( #3250 )
2022-10-25 11:53:12 +02:00
mischa
ca25956347
perf: breaking: NetworkTransformChild replaced by NetworkTransform with exposed .target. no more virtual property call. and no more redundant components which do the exact same thing. ( #3249 )
2022-10-25 11:44:24 +02:00
vis2k
79bb48bbf5
Compression: remove unnecessary inline
2022-10-24 12:49:35 +02:00
vis2k
1176494587
fix: NetworkClient.sendRate is now coupled to NetworkServer.sendRate in order to avoid snapshot interpolation errors where server & client may be on different send rates, components use the wrong rate to send vs. interpolate, etc.
2022-10-22 10:41:57 +02:00
vis2k
464bd365fe
NetworkServer: sendRate comments improved
2022-10-22 10:37:20 +02:00
vis2k
b31eeb5a4f
NetworkTransform: force syncDirection to follow the old clientAuthority state to make it obvious that there is only one source of truth
2022-10-22 10:26:31 +02:00
vis2k
dfd4d0b672
NetworkTransform: explain that sendInterval is coupled with time interpolation interval; use OnValidate to force syncInterval so it's more obvious in the Inspector
2022-10-22 10:16:43 +02:00
vis2k
38d94f36b1
NetworkTransform: always show OnGUI buffers. easier to debug issues if they aren't filled.
2022-10-21 19:34:23 +02:00
vis2k
8c09b936b9
syntax
2022-10-21 19:21:55 +02:00
mischa
d46e2eaf74
feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1). prepares for NetworkTransform v3. ( #3248 )
...
* perf: SetSyncVarDirtyBit inlining
* feature: NetworkBehaviour.SetDirty() to trigger custom OnSerialize without having to call SetSyncVarDirtyBit(1).
prepares for NetworkTransform v3
* imer
2022-10-21 19:02:46 +02:00
vis2k
7c1fac9085
perf: SetSyncVarDirtyBit inlining
2022-10-21 19:02:41 +02:00
mischa
1b6768a691
feature: perf: NetworkConnectionToClient snapshot interpolated .remoteTimeline to simplify NetworkTransform ( #3247 )
...
* move fields to conn
* syntax
* split into time and value
* timeline moved to conn
* OnTimeSnapshot
* old
* NetworkClient sends TimeSnapshots
* server inserts
* update time interp from server
* buffer size limit moved too
* naming
* fix tests
* non public
* readonly
* comments
2022-10-21 19:02:36 +02:00
vis2k
c07c0797ec
TimeSnapshot moved into it's own file
2022-10-21 12:42:59 +02:00
mischa
e0a91eeb3a
feature: SyncDirection (V2) to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. ( #3244 )
...
* feature: SyncDirection to easily support client auth components without extra Rpcs/Cmds. previously OnSerialize was only server-to-client direction. (#3232 )
* fix and test
* add test
* remove todo
* comments
* only serialize once
* simplify dirty checks
* syntax
* remove doulbe comments
2022-10-19 23:54:54 +02:00
vis2k
a1fbc55e8a
Tests: syntax for easier debugging
2022-10-19 19:51:30 +02:00
vis2k
6f4c7cb805
feature: NetworkWriter.WriteBytes(byte*) unsafe version to prepare for BitTree delta compression
2022-10-19 19:39:08 +02:00
vis2k
76313cd30c
Mirror.Components.asmdef: allow unsafe to prepare for NetworkTransform V3
2022-10-19 19:39:01 +02:00
vis2k
25a45a9ce8
Revert "Utils.RoundBitsToFullBytes from DOTSNET / Mirror II to prepare for manual per-field Delta Compression for NetworkTransform V3"
...
This reverts commit c7e3dc32d6
.
2022-10-18 09:39:49 +02:00
vis2k
9c2444475c
Tests: allow unsafe
2022-10-17 19:18:01 +02:00
vis2k
c7e3dc32d6
Utils.RoundBitsToFullBytes from DOTSNET / Mirror II to prepare for manual per-field Delta Compression for NetworkTransform V3
2022-10-17 18:41:14 +02:00
vis2k
d9aa7b152e
Compression.ScaleToLong/Float to prepare for next NetworkTransform float<->long compression
2022-10-17 10:04:31 +02:00
vis2k
9d487b3a86
comment
2022-10-15 22:30:24 +02:00
vis2k
743e00bd20
SendTargetRpc: improve error messages
2022-10-15 20:42:43 +02:00
vis2k
ed0b7339eb
assetId is now printed as decimal instead of hex, for consistency with Unity Inspector which also shows it as decimal.
2022-10-14 11:18:33 +02:00
vis2k
270be5f452
fix : #3234 assetId setter now allows overwriting an old assetId after duplicating a prefab.
...
the previous assetId Guid to int commit (4430001521
) changed AssignAssetId() from modifying m_assetId to assetId.set directly, which introduced this bug.
2022-10-14 11:13:42 +02:00
vis2k
8006251382
NetworkIdentity.assetId.set: update explanation, copied the wrong one from Mirror II
2022-10-14 11:00:54 +02:00
vis2k
149d907823
syntax
2022-10-13 17:38:39 +02:00
vis2k
bf55c68d96
unnecessary
2022-10-13 17:27:41 +02:00
vis2k
9120de1016
comment
2022-10-13 13:46:52 +02:00
vis2k
e647df8fa3
feature: NetworkConnection.owned objects are now available on server AND on client
2022-10-13 13:29:06 +02:00
vis2k
6bb42e9e81
breaking: NetworkConnectionToServer.clientOwnedObjects renamed to .owned (simplify API)
2022-10-13 11:03:42 +02:00
vis2k
8cb64383fc
add deprecated dates
2022-10-13 11:01:19 +02:00
mischa
a20bad57e5
breaking: .hasAuthority renamed to .isOwned because it's easier to understand, and to prepare for SyncDirection where there is a difference between: ( #3231 )
...
isOwned = is this one of the client connection's .owned entities?
authority = can we modify this component's state? depends on SyncDirection AND owned
2022-10-13 10:59:39 +02:00
vis2k
90028b43ea
NetworkServer.sendInterval calculated separately so it's easier to change sendRate later
2022-10-13 10:49:07 +02:00
vis2k
1433bb7993
comment
2022-10-12 21:22:16 +02:00
vis2k
2bab435832
perf: NetworkIdentity.Serialize: only iterate if any dirty bit set, otherwise don't need to iterate again
2022-10-12 21:17:10 +02:00
vis2k
4127345f8a
fix: Benchmark demo Spatial Hashing radius reduced from 200 to 30 so the monsters actually despawn when walking out of range in the demo
2022-10-12 21:14:55 +02:00
vis2k
e6886e8a84
fix: ensure Serialize writes nothing at all if not dirty and add test so it's never missed again(!).
...
fixes unchanged objects sending an unnecessary 1 byte dirty mask after recent dirtybits improvement.
2022-10-12 21:06:03 +02:00
vis2k
8ec99fa153
NetworkIdentity: ValidateComponents for use from initialize, serialize, deserialize all together
2022-10-12 12:33:25 +02:00
vis2k
227940e054
comment
2022-10-12 11:13:58 +02:00
vis2k
9dd04e2efa
fix: NetworkIdentity.MaxNetworkBehaviours and EnsureMax function so we have the same code in both places, where previously Serialize() still checked for 255 instead of 64
2022-10-12 11:08:12 +02:00
mischa
c179d233a1
fix: Unity 2019, 2020 support added again ( #3230 )
...
* fix: Examples/AdditiveLevels/Prefabs/Portal doesn't depend on TextMeshPro anymore (for 2019 compatibility)
* packages: removed unnecessary TextMeshPro (causes errors in Unity 2019)
* fix: NetworkReader byte[] constructor added again for 2019 support
* fix: NetworkReader byte[] SetBuffer added again for 2019 support
* fix: NetworkClient OnTimeSnapshotMessage: NetworkTime.localTime for 2019 support
* fix: NetworkServer NetworkLateUpdate: NetworkTime.localTime for 2019 support
* fix: Read/WriteGuid support for 2019
* fix: NetworkTransformBase: NetworkTime.localTime for 2019 support
* fix: Grid2D new hashSet constructor without capacity for 2019 support
* 2019
* this
2022-10-10 23:32:13 +08:00
vis2k
e7110d3015
TODO
2022-10-10 14:52:19 +02:00
vis2k
5efcd8f113
inlining
2022-10-10 10:56:16 +02:00
vis2k
2310c248c1
NetworkBehaviour.IsDirty: shorter
2022-10-10 10:56:05 +02:00
vis2k
76ea4369ba
NetworkClient: common Initialize() method for all connect functions
2022-10-10 10:37:37 +02:00
vis2k
fe6147dd4d
fix: NetworkClient ConnectHost now initializes time interpolation as well
2022-10-10 10:34:08 +02:00
mischa
88e4260252
perf: NetworkBehaviour.Serialize safety check reduced from 4 bytes length header to 1 byte length hash, while keeping error correction ( #3229 )
...
* wip
* self correction
* separate function
* test
2022-10-10 15:51:15 +08:00
mischa
b5ac61c7b2
perf: NetworkIdentity.Serialize bandwidth reduced from 1 byte per component index to (roughly) 1 bit per component ( #3228 )
...
* serialize with varint masks
* deserialize
* test
* fixfix
* redundant
* unused
* comment
* faster
* old
* comment
* comment
2022-10-10 15:50:28 +08:00
vis2k
01cd1041f6
update comment
2022-10-09 22:34:57 +02:00
vis2k
2a3e681e03
comment
2022-10-09 16:47:12 +02:00
vis2k
58a89a5d24
Tests: split VarInt and VarUInt tests
2022-10-09 15:25:52 +02:00
vis2k
16d5a7e6ed
naming
2022-10-09 15:12:01 +02:00
vis2k
822ecdaaba
syntax
2022-10-09 15:11:23 +02:00
vis2k
d2775e5d42
NetworkIdentity.DeserializeAll renamed to Deserialize, now that the other Deserialize method was moved to NetworkBehaviour
2022-10-09 14:03:36 +02:00
vis2k
482d5777d9
NetworkIdentity.SerializeAll renamed to Serialize, now that the other Serialize method was moved to NetworkBehaviour
2022-10-09 14:03:11 +02:00
vis2k
389726b011
NetworkIdentity.Deserialize(NetworkBehaviour) moved to NetworkBehaviour.Deserialize
2022-10-09 13:57:43 +02:00
vis2k
882b3a69b3
NetworkIdentity.Serialize(NetworkBehaviour) moved to NetworkBehaviour.Serialize
2022-10-09 13:56:46 +02:00
vis2k
10296e0586
syntax
2022-10-09 13:51:01 +02:00
vis2k
10e34488e2
NetworkIdentity: OnDeserializeAllSafely renamed to DeserializeAll
2022-10-09 13:45:56 +02:00
vis2k
41f60a5486
NetworkIdentity: OnSerializeAllSafely renamed to SerializeAll
2022-10-09 13:45:08 +02:00
vis2k
b292aebd08
NetworkIdentity: OnDeserializeSafely renamed to Deserialize
2022-10-09 13:42:22 +02:00
vis2k
deeddac185
NetworkIdentity: OnSerializeSafely renamed to Serialize
2022-10-09 13:42:02 +02:00
vis2k
22b3c71a6c
comment
2022-10-09 13:38:24 +02:00
vis2k
0745e44c5c
syntax
2022-10-09 13:20:57 +02:00
vis2k
3b78b87ee9
perf: all client NetworkTransforms now run on the same NetorkClient.timeline instead of each component computing its own
2022-10-09 10:45:27 +02:00
vis2k
47d5ecd776
fix: LatencySimulation now flushes properly. fixes barely any packets getting through even on 0 settings
2022-10-09 10:31:48 +02:00
vis2k
a6d055db51
syntax
2022-10-09 10:09:44 +02:00
vis2k
666d1d7df2
fix: LatencySimulation now uses Time.unscaledTimeAsDouble for long running server precision
2022-10-09 10:08:47 +02:00
vis2k
5a2962c27b
syntax
2022-10-09 10:06:37 +02:00
vis2k
f1f7b37288
NetworkManager: always show OnGUI because snapshot interpolation gui is useful in builds / for debugging as well
2022-10-09 10:04:38 +02:00
vis2k
b9bf63790f
breaking: perf: fix: NetworkTime from NetworkClient snapshot interpolation timeline.
...
-> fixes initial delayed NetworkTime jump after 1-2s from 1.. to 500... depending on how long server was running.
-> improves accuracy / precision of NetworkTime
-> prepares for NetworkTransform & NetworkTime being on the same timeline instead of each component calculating their own timeline separately
2022-10-09 08:40:01 +02:00
vis2k
7298de3929
feature: global NetworkClient snapshot interpolation timeline.
...
=> for usage as significantly better NetworkTime after
=> for usage in NetworkTransform after
2022-10-09 08:36:17 +02:00
vis2k
f5d1a55fdd
fix tests after recent commit
2022-10-08 08:58:09 +02:00
vis2k
1ebb4368dd
perf: NetworkServer: Broadcast() now only runs every tickInterval, even if Application.targetFrameRate isn't set in host mode.
...
previously a host may run at 120 Hz, and even with tickInterval set to 10 Hz, Broadcast() would run 120 times per second, checking every component's dirty bits + send interval.
note that the actual _send rate_ wasn't broken.
this change simply reduces the need to check for "has send rate elapsed?"
=> prepares for NetworkClient time snapshot interpolation, where time snapshots need to be sent only every sendInterval.
=> if host mode would send every update, this would be way too much.
2022-10-07 21:44:02 +02:00
vis2k
0f8553ff2f
feature: AccurateInterval from Mirror II to prepare for proper RemoteStatistics measurements & snapshot time interpolation, which requires accurate send interval even if .targetFrameRate can't be set (i.e. in host)
2022-10-07 21:20:38 +02:00
vis2k
9870705141
Header
2022-10-06 13:53:11 +02:00
vis2k
c940963779
breaking: NetworkServer.tickRate and .tickInterval, set from exposed NetworkManager.serverTickInterval.
...
prepares for NetworkClient time interpolation
2022-10-06 13:50:48 +02:00
vis2k
d72c769882
NetworkRoomManager: remove redundant maxConnections validation
2022-10-03 09:28:15 +02:00
vis2k
26144edc22
syntax
2022-10-03 09:27:49 +02:00
vis2k
b4149f2b94
syntax
2022-10-03 09:06:05 +02:00
vis2k
4fbbc0cbc1
NetworkManager: SetupClient() for consistency with SetupServer()
2022-10-03 08:51:50 +02:00
vis2k
d4b1239dc4
syntax
2022-09-28 11:57:02 +07:00
vis2k
7a7b5a0072
syntax
2022-09-28 11:50:54 +07:00
vis2k
02336b41b5
syntax
2022-09-28 11:34:18 +07:00
vis2k
b56b12ff54
partial classes
2022-09-28 11:33:52 +07:00
vis2k
7123a7925c
feature: Snapshot Interpolation split into time + value interpolation (backported from Mirror II) to allow for global time interpolation with local value interpolation, instead of interpolating everything locally per-component
2022-09-27 13:40:57 +07:00
vis2k
34acc450bd
syntax
2022-09-27 12:19:15 +07:00
vis2k
fcc6c31c7a
breaking: NTSnapshot renamed to TransformSnapshot
2022-09-27 12:19:08 +07:00
vis2k
6988853ee2
comment
2022-09-27 11:55:51 +07:00
vis2k
136b8d9956
feature: NetworkWriter implicit ArraySegment conversion for convenience.
...
also allows for implicit NetworkWriter to NetworkReader conversion.
2022-09-27 11:53:04 +07:00
vis2k
a84bf0769e
syntax
2022-09-27 11:49:59 +07:00
vis2k
2037b317c1
NetworkWriter.WriteBytes: rename parameter to avoid name collision
2022-09-25 13:56:30 +07:00
vis2k
618b7a6e16
NetworkWriterExtensions: removed static state by moving .encoding into each writer
2022-09-25 13:53:12 +07:00
vis2k
ab9a92388c
Tests: ReadString_InvalidUTF8
2022-09-25 13:53:12 +07:00
vis2k
2ce8ee72a8
NetworkReaderExtensions: removed static state by moving .encoding into each reader
2022-09-25 13:53:12 +07:00
vis2k
e97da2605c
feature: NetworkWriter.ToString in form of "[DD-CC-BB-AA-FF @ 5/1000]"
2022-09-25 13:26:58 +07:00
vis2k
61318d4c82
NetworkWriter.DefaultCapacity exposed
2022-09-25 13:26:53 +07:00
vis2k
3b8810f532
feature: NetworkWriter.Capacity
2022-09-25 13:24:08 +07:00
vis2k
606f147872
comment
2022-09-25 13:20:59 +07:00
vis2k
3664f26d65
Read<T>: error message improved
2022-09-25 13:19:44 +07:00
vis2k
df875a4bc1
syntax
2022-09-25 13:18:38 +07:00
vis2k
6fa5a65cd3
NetworkReader.ToString improved to be more readable: "[B2-C3-D4 @ 0/3]"
2022-09-25 13:18:04 +07:00
vis2k
27398721a2
Extensions: ArraySegment.ToHexString for convenience
2022-09-25 13:17:02 +07:00
vis2k
9525a4649d
NetworkReader.ReadBytesSegment: ensure count >= 0 & guarantee exception with test.
2022-09-25 13:09:54 +07:00
vis2k
44e56ae753
NetworkReader.ReadBytes: ensure count >= 0 & guarantee exception with test.
...
previously it did throw the same exception unintentionally in the Array.Copy call
2022-09-25 13:08:45 +07:00
vis2k
c64925f9f6
Tests cleanup
2022-09-25 13:04:06 +07:00
vis2k
78fb0b57ae
NetworkReader.ReadBytesSegment: use .Remaining
2022-09-25 13:00:57 +07:00
vis2k
98be66ec13
NetworkReader.ReadBytes: use .Remaining
2022-09-25 13:00:38 +07:00
vis2k
6e042ed2a8
NetworkReader.ReadBlittable: use .Remaining
2022-09-25 13:00:13 +07:00
vis2k
81e666af9e
NetworkReader: remove SetBuffer byte[] variant. implicit ArraySegment conversion is enough.
2022-09-25 12:48:09 +07:00
vis2k
0ffa971413
NetworkReader: remove byte[] constructor, implicit ArraySegment constructor is enough
2022-09-25 12:46:47 +07:00
vis2k
c9642dbbb2
NetworkReader.ReadArray: use .Remaining
2022-09-25 12:44:06 +07:00
vis2k
451cd26b47
syntax
2022-09-25 12:43:19 +07:00
vis2k
5fa5269a11
NetworkReader: more readable syntax
2022-09-25 12:43:12 +07:00
vis2k
d3ee9e325e
NetworkReader.Length renamed for Capacity (more obvious, similar to List.Capacity)
2022-09-25 12:43:03 +07:00
vis2k
ee6bbaa8ba
NetworkReader.Remaining uses buffer.Count directly
2022-09-25 12:40:12 +07:00
vis2k
e3c4bf5eba
syntax
2022-09-25 12:38:08 +07:00
vis2k
cf0b884c1f
MessagePacking renamed to NetworkMessages (it contains more network message code than just packing)
2022-09-25 12:21:38 +07:00
vis2k
8249508fa7
MessagePacking.Unpack renamed to PackId for consistency
2022-09-25 12:10:29 +07:00
vis2k
1baadc1dbe
syntax & comments
2022-09-25 12:08:13 +07:00
vis2k
458eeca0e8
syntax
2022-09-25 12:07:14 +07:00
vis2k
92a766af36
update comment
2022-09-25 12:06:16 +07:00
vis2k
4d5bf360ec
MessagePacking.GetId: remove unnecessary AND
2022-09-25 12:05:28 +07:00
vis2k
16c572cfc4
syntax
2022-09-25 12:05:17 +07:00
vis2k
13e6c77bad
MessagePacking.HeaderSize renamed to IdSize
2022-09-25 12:03:49 +07:00
vis2k
c97bf5a06a
syntax
2022-09-25 12:00:03 +07:00
vis2k
f24acb6372
Transport.activeTransport renamed to .active
2022-09-25 12:00:03 +07:00
vis2k
94345c94bf
Tests: Mathd
2022-09-25 11:50:56 +07:00
vis2k
dea63ba59e
syntax
2022-09-25 11:49:35 +07:00
vis2k
827a6d310c
syntax
2022-09-25 11:49:11 +07:00
vis2k
4ea52a0283
fix: InterestManagement.Awake is now protected virtual ( #3214 )
2022-09-24 22:13:46 +07:00
vis2k
6ba926bcb1
NetworkManager: serverTickInterval for convenience (prepares for remote statistics)
2022-09-24 22:08:20 +07:00
vis2k
80abe21047
NetworkManager: auto connect client build option for CCU test bots
2022-09-24 22:08:03 +07:00
vis2k
4d5e55511c
Utils.KeepInScreen
2022-09-24 22:02:35 +07:00
vis2k
4dd3c6df8c
Utils.PrettySeconds
2022-09-24 22:02:30 +07:00
vis2k
72f65a1b66
rename folder
2022-09-24 21:58:23 +07:00
vis2k
c49cc5f422
Examples/_Common folder
2022-09-24 18:17:39 +07:00
vis2k
4430001521
breaking: perf: assetId as uint instead of Guid. saves 12 bytes and much conversion magic (as suggested by james). may need to resave prefabs once in case of spawn issues.
2022-09-24 18:08:12 +07:00
vis2k
9c5e10f71b
breaking: NetworkBehaviour.SerializeSyncVars return type changed from bool to void to simplify weaver (and reduce branches)
2022-09-24 17:30:20 +07:00
vis2k
7c7f83362b
breaking: perf: NetworkIdentity/NetworkBehaviour OnSerialize return type changed from bool to void to a-void confusion (and branches)
2022-09-23 14:21:48 +07:00
vis2k
92ff55120a
weaver comments
2022-09-23 14:21:31 +07:00
vis2k
29fef498eb
Weaver NetworkBehaviourProcessor: add explanation
2022-09-23 14:19:25 +07:00
vis2k
e63742523c
fix broken tests caused by default transport adding. also fixes tests using kcp unintentionally.
2022-09-23 13:55:54 +07:00
vis2k
99851945e9
NetworkManager.transport field made public so it can be set from tests
2022-09-23 13:55:17 +07:00
vis2k
b82bb86fc7
remove unused import
2022-09-23 13:39:12 +07:00
vis2k
6941df570c
NetworkAnimator: remove unnecessary XML comments
2022-09-23 13:37:13 +07:00
vis2k
498c3c568a
remove unused imports
2022-09-23 13:32:24 +07:00
vis2k
63e3780ecd
Runtime folder renamed to Core. makes it more obvious that Components/, Transports/, Authenticators/ etc. are optional
2022-09-23 13:30:08 +07:00
vis2k
f1e53a09ae
remove old Runtime/Transports folder
2022-09-23 13:29:21 +07:00
vis2k
7a8a3c6e1e
KCP transport moved to root Transports folder; removed old auto upgrading which would require a circular dependency
2022-09-23 13:27:19 +07:00
vis2k
70d82f844d
kcp2k moved to root Transports folder
2022-09-23 13:25:57 +07:00
vis2k
8abf17acae
Middleware transport moved to root Transports folder
2022-09-23 13:24:55 +07:00
vis2k
3e4f4d7614
Multiplex transport moved to root Transports folder
2022-09-23 13:23:33 +07:00
vis2k
1507c764cc
Telepathy transport moved to root Transports folder
2022-09-23 13:21:56 +07:00
vis2k
1c9101b3d4
LatencySimulation transport moved to root Transports folder
2022-09-23 13:21:21 +07:00
vis2k
78e65c40ec
Transports folder next to Components; SimpleWebTransport moved from Runtime to Transports
2022-09-23 13:19:19 +07:00
vis2k
de830650a5
script icons
2022-09-23 13:12:47 +07:00
vis2k
a8c84fe9b8
perf: NetworkIdentity.assetId is now cached to avoid expensive "new GUID" construction
2022-09-17 17:13:56 +08:00
vis2k
a94fe67c23
Utils.IsSceneObject common function for NetworkServer/Client
2022-09-17 17:04:25 +08:00
vis2k
a99bc0ebf5
NetworkClient: ConsiderForSpawning renamed to IsSceneObject because that's what it checks
2022-09-17 16:58:52 +08:00
vis2k
4654a281f3
NetworkServer: ValidateSceneObject renamed to IsSceneObject - that's what it checks
2022-09-17 16:58:13 +08:00
vis2k
0fbf400697
fix: Tanks demo: remove light from projectile as well to fix visual glitches
2022-09-17 16:53:15 +08:00
vis2k
478e1d8c0e
perf: NetworkWriter.WriteString now writes directly into the buffer without the intermediate stringBuffer step
2022-09-17 16:51:03 +08:00
vis2k
ed8e5529ad
syntax
2022-09-17 16:42:49 +08:00
vis2k
ddb79ab0eb
NetworkLoop: remove old Unity 2018 code
2022-09-17 16:36:20 +08:00
vis2k
fc0a40f802
syntax
2022-09-17 16:35:19 +08:00
vis2k
5c04b84108
fix: Tanks demo: remove tank prefab spotlight causing visual glitches
2022-09-17 16:27:30 +08:00
vis2k
18abba3506
NetworkBehaviour.ComponentIndex changed to byte for consistency
2022-09-17 16:19:39 +08:00
vis2k
3e4b5b3660
perf: Grid2D initial capacity to avoid warmup allocations
2022-09-17 16:13:09 +08:00
vis2k
a6f450710c
perf: Grid2D as struct to avoid memory indirection
2022-09-17 16:11:38 +08:00
vis2k
34e6e8fbd3
readonly
2022-09-17 16:09:40 +08:00
vis2k
dac82ed1e2
NetworkStatistics: expose statistics to other components
2022-09-15 13:17:38 +08:00
vis2k
bb4f2b99ec
MIRROR_2022_9_OR_NEWER
2022-09-15 12:16:40 +08:00
vis2k
ac352c084d
NetworkManager.GetStartPosition can now be overwritten
2022-09-14 21:38:57 +08:00
vis2k
4b75d2b53d
ConsiderForSpawning & ValidateSceneObject explanations
2022-09-10 21:32:36 +08:00
vis2k
7b08d3afdd
NetworkScenePostProcess set inactive explanation
2022-09-07 13:21:09 +08:00
Robin Rolf
17446f3aa3
perf: Application.isPlaying in hot path is slow ( #3210 )
...
This showed up during a recent il2cpp profile and is accounting for 1% of total cpu usage while being completely unnecessary outside of the editor
https://share.dl.je/2022/08/2022-08-28_14-44-14_CfEcmlR1L6.png
2022-09-01 19:58:32 +08:00
Yu Long
aac75491ac
Add Check for NetworkServer.Spawn ( #3205 )
...
* Added a check for repeatedly calling NetworkServer.Spawn on the same gameObject
* Update NetworkServer.cs
Co-authored-by: mischa <16416509+vis2k@users.noreply.github.com>
2022-08-25 11:56:07 +08:00
vis2k
d9394b0dc8
fix: Telepathy Always enqueue Disconnected event (from imer)
2022-08-12 13:01:19 +08:00
Robin Rolf
1891d46b3c
fix: Telepathy ClientDisconnect calls DC event ( #3198 )
...
Kcp calls OnDisconnected for manual disconnections too so this is more consistent
2022-08-08 15:07:43 +08:00
hyouuu
8d1061089b
Make NetworkPingDisplay's width & height configurable ( #3196 )
2022-08-08 10:23:56 +08:00
vis2k
88825e45d5
fix: LatencySimulation error
2022-07-25 23:25:34 +08:00
vis2k
589e1f6258
Benchmark Example: backport FPS counter from Mirror II
2022-07-25 21:24:51 +08:00
eiei114
96b87ae260
fix comment typo ( #3194 )
2022-07-24 16:47:25 +08:00
vis2k
9846468dcc
fix test
2022-07-22 12:40:12 +08:00
vis2k
0b984caced
fix test
2022-07-22 12:39:43 +08:00
vis2k
77cac1b03d
fix test
2022-07-22 12:38:52 +08:00
vis2k
e8fae820d1
fix test
2022-07-22 12:28:31 +08:00
vis2k
7f680ec775
fix test
2022-07-22 12:26:06 +08:00
vis2k
1320472b10
perf: Read/WriteGuid without allocations
2022-07-22 12:26:06 +08:00
vis2k
5f4a03109d
fix: breaking: Spatial hashing interest management resolution formula fixed. this is why spatial hashing visibility range always seemed a bit lower than with distance interest management.
2022-07-11 23:40:37 +08:00
vis2k
97fe2764bc
Tests: Grid2D proper setup
2022-07-11 20:43:56 +08:00
vis2k
0cff9d6f5d
feature: Snapshot Interpolation V2 (make sure call base Awake() when inheriting!; note this removes the interpolatePosition/Rotation/Scale options) ( #3184 )
...
* yo
* fix bug exposed by tests
* tests and latest changes
* NT
2022-06-26 20:03:42 +08:00
vis2k
880a4eebd6
Snapshot Interpolation Demo: adjust namespaces so we can use 'SnapshotInterpolation.' to actual
2022-06-16 13:26:38 +07:00
vis2k
db50c39b91
fix: Snapshot Interpolation Demo: assign material color to instanced material, fixes material asset changing color permanently
2022-06-13 18:18:59 +07:00
vis2k
f92942bb5f
Snapshot Interpolation Demo: vsync notice
2022-06-13 18:17:50 +07:00
vis2k
1b0901e966
fix: Snapshot Interpolation Example: latency was accidentally applied to remoteTime instead of delivery time
2022-06-13 17:48:09 +07:00
vis2k
9915f4c0b3
Snapshot Interpolation Demo: simplify latency jitter for easier testing
2022-06-13 17:46:31 +07:00
vis2k
5063fdd08f
LatencySimulation: latencySpike renamed to jitter
2022-06-13 12:18:28 +07:00
vis2k
999cf0fe32
Snap Interp demo GUI width
2022-06-12 00:15:08 +07:00
Justin Nolan
19efa2dd86
Fix compile error ( #3179 )
2022-06-10 22:53:05 +09:00
Justin Nolan
4b40dea700
switch expressions are not supported in unity 2020 ( #3178 )
2022-06-10 22:25:38 +09:00
Robin Rolf
d48d59cc08
fix: SWT header lookup needs to be case insensitive ( #3176 )
...
* fix: SWT header lookup needs to be case insensitive
See https://github.com/vis2k/Mirror/issues/3175
Closes #3175
* fix: SWT skips headers just ending in the key name
See 3495845b8c
2022-06-09 10:54:23 +08:00
vis2k
7bfa0906b0
Snapshot Interpolation visual example ( #3171 )
2022-06-09 10:53:49 +08:00
vis2k
e04293f980
breaking: SnapshotInterpolation.Compute(): add 'out catchup' for debugging
2022-06-03 16:40:53 +07:00
MrGadget
6de039cf9d
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-05-31 08:29:04 -04:00
MrGadget
77259e1c31
change label text
2022-05-31 08:28:52 -04:00
vis2k
f65b9cadbe
Write/ReadBlittable explanation why private
2022-05-27 22:45:12 +07:00
vis2k
bb8412d5e7
NetworkIdentity Serialization: explain write index
2022-05-26 23:32:08 +07:00
MrGadget
adb66b427c
NetworkBehaviour: Improved logging ( #3165 )
...
* NetworkBehaviour: Improved logging
* NetworkBehaviour: Improved logging
2022-05-25 14:33:23 -04:00
MrGadget
50e6bb1101
Online scene removed Safety plane
2022-05-14 12:20:30 -04:00
MrGadget
8139c28ff0
Online scene lighting
2022-05-14 12:19:55 -04:00
MrGadget
4c52c13160
Removed CanvasRenderer
2022-05-14 12:10:27 -04:00
MrGadget
e0e098531e
fixed NetworkManager Script Tempate
...
- broken by PR #3158
2022-05-13 10:32:44 -04:00
MrGadget
6ac03a02d6
Improved Chat example
2022-05-13 10:09:49 -04:00
MrGadget
876adb8f42
Improved Chat example
2022-05-13 09:54:12 -04:00
MrGadget
e27a1cd1e7
Improved Chat example
2022-05-13 09:39:22 -04:00
vis2k
096fe38080
breaking: OnError(Exception) changed to OnError(enum, reason) ( #3158 )
...
* TransportError
* adjust mirror
* obsoletes
* adjust transports
* Refused
2022-05-13 17:28:47 +08:00
vis2k
a2d35b82b6
Transport syntax: group fields together
2022-05-12 12:36:48 +08:00
vis2k
91e2a0f79b
feature: kcp2k V1.19: OnError ErrorCodes
2022-05-12 10:30:59 +08:00
MrGadget
d3fa0c67e5
fix: NetworkClient - Check for duplicate sceneId ( #3157 )
...
* fix: NetworkClient - Check for duplicate sceneid
* renamed local var
* Update NetworkClient.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-05-12 00:06:43 +08:00
MrGadget
a8202e5d0c
renamed local var
2022-05-11 10:59:10 -04:00
MrGadget
c35ddd20db
fix: NetworkClient - Check for duplicate sceneid
2022-05-11 10:41:10 -04:00
vis2k
1e40bb4f00
NetworkClient/NetworkServer OnTransportError now logs a warning instead of an exception, indicating that it's a transport error and that it's fine. otherwise all kcp info/warnings would now be logged as exceptions
2022-05-08 10:51:22 +08:00
vis2k
ed8911dfef
NetworkServer.OnError renamed to OnTransportError for consistency
2022-05-08 10:46:04 +08:00
vis2k
4c758c25dc
NetworkClient.OnError renamed to OnTransportError for consistency
2022-05-08 10:45:31 +08:00
vis2k
35f1f225f3
fix: kcp2k V1.18
...
- feature: OnError to allow higher level to show popups etc.
- feature: KcpServer.GetClientAddress is now GetClientEndPoint in order to
expose more details
- ResolveHostname: include exception in log for easier debugging
- fix: KcpClientConnection.RawReceive now logs the SocketException even if
it was expected. makes debugging easier.
- fix: KcpServer.TickIncoming now logs the SocketException even if it was
expected. makes debugging easier.
- fix: KcpClientConnection.RawReceive now calls Disconnect() if the other end
has closed the connection. better than just remaining in a state with unusable
sockets.
=> error handling based on #3155
=> fixes #3143
2022-05-08 10:42:32 +08:00
MrGadget
c65eed8ea8
Merge branch 'master' of https://github.com/vis2k/Mirror
2022-05-06 12:20:34 -04:00
MrGadget
efa2b3d4ca
Syntax
2022-05-06 12:20:23 -04:00
MrGadget
876d6d86dc
removed private
2022-05-06 12:19:50 -04:00
vis2k
818e0ca9fd
NetworkServer.SendToObservers: use explicit NetworkConnectionToClient type
2022-04-29 19:01:26 +08:00
vis2k
298435001a
fix : #3144 Reader/Writer Sprite null support & test to guarantee it never happens again
2022-04-29 10:08:33 +08:00
vis2k
f413c91cde
Test: Reader/Writer Sprite
2022-04-29 10:05:23 +08:00
vis2k
ae1c7c5fe4
fix : #3144 Reader/Writer Texture2D null support & test to guarantee it never happens again
2022-04-29 09:59:52 +08:00
vis2k
b709453057
fix: NetworkReader/Writer Texture2D now sends dimensions too. fixes "Texture2D.SetPixels32: size of data to be filled was larger than the size of data available in the source array. (Texture '')"
2022-04-29 09:55:19 +08:00
vis2k
d235037954
fix: NetworkReader.ReadTexture2D fixed 'reader not found for Color32[]' error when using it from tests
2022-04-29 09:44:58 +08:00
vis2k
3a742bb7da
Tests: NetworkReader/Writer Texture2D tests added
2022-04-29 09:44:54 +08:00
vis2k
728e6e2fdf
syntax
2022-04-28 18:53:37 +08:00
vis2k
6c1dc5255e
remove unused import
2022-04-20 10:33:53 +08:00
vis2k
1aaa4ce2a4
perf: Cmd/Rpc bandwidth hash size reduced from 4 => 2 bytes ( #3148 )
2022-04-20 11:33:14 +08:00
vis2k
98d7a9d7d1
NetworkReader/Extensions: inlining ReadBlittable is enough. Don't inline ReadInt etc. too, we don't want ReadBlittable to be copied in place everywhere.
2022-04-20 10:28:30 +08:00
vis2k
4ffb9dfafc
NetworkWriter/Extensions: inlining WriteBlittable is enough. Don't inline WriteInt etc. too, we don't want WriteBlittable to be copied in place everywhere.
2022-04-20 10:26:43 +08:00
vis2k
cebfab010f
fix: Benchmark movement destinations set around start, not around position. prevents them from stopping to move because of the wander off protection.
2022-04-19 13:29:38 +08:00
MrGadget
99d3a91f17
Fixed Authenticator Comments
...
- Fixes #3146
2022-04-18 22:58:16 -04:00
MrGadget
2db726df2e
fix: TeamInterestManagement OnDestroyed logic
2022-04-18 09:07:15 -04:00
MrGadget
0e9d86f563
breaking: Removed Obsoletes ( #3142 )
...
* Removed Experimental NetworkTransform
* NetworkRoomManager: Removed Obsoletes
* NetworkTransformBase: Removed Obsoletes
* NetworkBehaviour: Removed Obsoletes
* NetworkManager: Removed Obsoletes
* NetworkServer: Removed Obsoletes
* SyncObject: Removed Obsoletes
* fixed comment
* fixed XML comment
2022-04-18 08:05:53 +07:00
MrGadget
8d07be97ed
fixed XML comment
2022-04-17 12:40:17 -04:00
MrGadget
63fdd53903
fixed comment
2022-04-17 12:23:44 -04:00
vis2k
3839fafade
remove unused import
2022-04-17 14:16:36 +08:00
vis2k
bec8e01c69
MIRROR_66_0_OR_NEWER
2022-04-17 14:01:24 +08:00
MrGadget
9c47d87bce
XML Comments
2022-04-16 12:46:33 -04:00
MrGadget
c86deedbd9
Updated NetworkStatistics
...
- Reorganized to method call order
- Added component attributes
- XML comments for docs
2022-04-16 12:24:15 -04:00
vis2k
4d0cd1054a
fix : #3138 , 3135 revert Cmd/Rpc from 2 byte indices back to 4 byte function hashes for stability ( #3139 )
...
* Revert "fix: Weaved static constructors need to always run (#3135 )"
This reverts commit b0624b2f64
.
* Revert "perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) (#3119 )"
This reverts commit a868368eca
.
* comment
2022-04-16 19:53:55 +07:00
MrGadget
3dba6a3833
NetworkRoomManager log update
2022-04-15 11:25:14 -04:00
Robin Rolf
b0624b2f64
fix: Weaved static constructors need to always run ( #3135 )
...
Static constructors are lazily called when the class is first "used"
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-constructors
> It is called automatically before the first instance is created or any static members are referenced.
This means, in particular circumstances, client and server may diverge on which classes they have "loaded"
and thus the rpc index will be desynced
One such example would be on-demand-loading of prefabs via custom spawn handlers:
A game might not want to preload all its monster prefabs since there's quite many of them
and it is practically impossible to encounter them all (or even a majority of them) in a single play
session.
So a custom spawn handler is used to load the monster prefabs on demand.
All monsters would have the "Monster" NetworkBehaviour class, which would have a few RPCs on it.
Since the monster prefabs are loaded ONLY when needed via a custom spawn handler and the Monster class
itself isn't referenced or "loaded" by anything else other than the prefab, the monster classes static
constructor will not have been called when a client first joins a game, while it may have been called
on the server/host. This will in turn cause Rpc indexes to not match up between client/server
By just forcing the static constructors to run via the [RuntimeInitializeOnLoadMethod] attribute
this is not a problem anymore, since all static constructors are always run and all RPCs will
always be registered by the time they are used
2022-04-12 12:00:15 +08:00
MrGadget
3188472f74
Syntax: same method grouping as NetworkReaderExtenstions
2022-04-11 09:42:23 -04:00
MrGadget
2f76c73c41
fix: NetworkWriterExtensions:WriteTexture2D call WriteArray instead of Write
2022-04-11 09:12:35 -04:00
vis2k
92c5b54034
add comment
2022-04-04 20:36:42 +08:00
vis2k
eded0a2b15
fix : #2705 NetworkClient.SpawnPrefab looks for spawn handlers before looking for registered prefabs, instead of the other way around
2022-04-04 19:21:26 +08:00
vis2k
7d4a9c46e4
NetworkClient: RegisterPrefabIdentity double registration warning improved with explanation (related to #2705 )
2022-04-04 19:13:46 +08:00
vis2k
1a256b5060
Tanks Example: destroy projectile after 2 seconds instead of 5 seconds
2022-04-04 11:51:57 +08:00
vis2k
1a09f0dc58
Tanks Example: reuse DestroySelf()
2022-04-04 11:39:44 +08:00
vis2k
1a6c5de8ac
fix : #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects ( #3132 )
...
* fix : #2060 serializing GameObjects / NetworkIdentities now throws an obvious exception for prefabs / unspawned objects
* NetworkWriter: WriteGameObject reuses WriteNetworkIdentity
* warning instead of exception
2022-04-04 01:24:35 +08:00
vis2k
3ec5ca758e
comment
2022-04-03 11:39:30 +08:00
vis2k
243821f5b1
fix : #2972 ReadNetworkBehaviour now reads the correct amount of data even if the NetworkIdentity has disappeared on the client.
...
added test to guarantee it never happens again.
2022-04-03 10:50:04 +08:00
vis2k
a92189b272
ReadNetworkIdentity: reuse Utils.GetSpawnedInServerOrClient
2022-04-03 10:47:54 +08:00
MrGadget
c81a4374b2
fixed comment
2022-04-01 17:29:23 -04:00
MrGadget
c79c6d1e70
fix: Correct version for Queue.TryDequeue
...
- fixes #3131
2022-04-01 17:19:37 -04:00
vis2k
3d471db938
fix: added Queue.TryDequeue extension for Unity 2019
2022-04-01 17:18:12 +08:00
vis2k
6c2559a73e
perf: Build batches directly instead of queuing serializations ( #3130 )
...
* rename
* so far
* better
* fixx
* old
* error
* typo
* comment
2022-04-01 13:46:38 +08:00
Robin Rolf
1631402bd7
fix: Byte format test uses current culture ( #3126 )
...
Since some may use , instead of . as their decimal place seperator
Error:
String lengths are both 7. Strings differ at index 1.
Expected: "1.00 KB"
But was: "1,00 KB"
2022-03-26 13:06:30 +08:00
vis2k
d8774ecd47
fix : #2954 calling StopClient in host mode does not destroy other client's objects anymore
2022-03-23 23:58:47 +08:00
vis2k
6f981224a9
fix : #2954 calling StopClient in host mode does not reset nextNetId anymore
2022-03-23 23:55:35 +08:00
vis2k
3d6c41a595
fix : #3122 DestroyAllClientObjects now also resets after unspawn handler was called ( #3124 )
2022-03-23 23:54:58 +08:00
MrGadget
cca7afdd08
MultipleMatches example fixed
2022-03-23 07:19:36 -04:00
MrGadget
3024427933
Fixed comments
2022-03-23 07:19:36 -04:00
vis2k
2c138c5d71
hasAuthority comment updated
2022-03-22 22:51:48 +08:00
vis2k
012d7a5d1e
Tests: runtime clientscene tests simplified and they don't rely on host mode anymore
2022-03-22 22:51:35 +08:00
vis2k
4b207d2994
fix: NetworkStatistics Unity 2019 support (part two)
2022-03-19 01:45:13 +08:00
vis2k
8f357d5961
fix: NetworkStatistics Unity 2019 support
2022-03-15 00:23:11 +08:00
vis2k
f4ceb067c9
perf: NetworkTime ExponentialMovingAverage .Value & .Var as fields instead of properties to avoid call overhead
2022-03-12 20:26:40 +08:00
vis2k
d979880c5f
perf: NetworkTime.time inlined
2022-03-12 20:26:20 +08:00
vis2k
18170d16b8
perf: NetworkTime.localTime inlined
2022-03-12 20:26:02 +08:00
vis2k
45e1afc812
perf: inline GetIndexFromFunctionHash because it's called for every RPC
2022-03-12 19:46:00 +08:00
vis2k
5fcbd1d550
perf: CompressVarInt uses WriteByte instead of Write<T> to avoid Action call overhead
2022-03-12 19:20:00 +08:00
vis2k
a868368eca
perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt) ( #3119 )
...
* perf: Rpcs/Cmds functionHash bandwidth reduced from 4 => 2 bytes (with the potential for 1 byte VarInt)
* tests
2022-03-12 18:26:00 +08:00
vis2k
5515eae4e8
perf: HandleRemoteCall passes componentIndex as byte to avoid extra < 0 check
2022-03-11 23:55:35 +08:00
vis2k
b6a9a95572
align NetworkStatistics exactly below NetworkManager HUD
2022-03-11 13:33:36 +08:00
vis2k
3d03146699
feature: NetworkStatistics ( #3118 )
...
* feature: NetworkStatistics
* better UI
2022-03-11 13:29:39 +08:00
vis2k
b100307929
feature: Transport.OnClient/ServerDataSent events += (prepares for NetworkStatistics) ( #3117 )
...
* feature: Transport.OnClient/ServerDataSent events += (prepares for NetworkStatistics)
* comments
2022-03-11 13:19:24 +08:00
vis2k
dc5162099e
feature: allow hooking into Transport events via += -= (prepares for NetworkStatistics) ( #3116 )
2022-03-11 13:10:12 +08:00
vis2k
0499dc0503
Tests: ShutdownCleanup test cleanup to prepare for Transport events += -= hooking
2022-03-10 22:19:21 +08:00
vis2k
e71f0e1cc4
script icons .meta
2022-03-10 20:29:41 +08:00
vis2k
9686c68bb7
base Transport moved to Runtime folder; Transport folder renamed to Transports
2022-03-10 20:25:49 +08:00
vis2k
99c3c0ded6
perf: NetworkConnection.Send() inlining
2022-03-10 19:57:35 +08:00
vis2k
24142b085b
comments
2022-03-10 19:50:08 +08:00
vis2k
3643679ec5
comments
2022-03-10 19:46:42 +08:00
vis2k
70bd831bd8
NetworkWriterPooled moved into separate file
2022-03-10 19:45:37 +08:00
vis2k
d92dbe1572
NetworkReaderPooled moved into separate file
2022-03-10 19:45:03 +08:00
vis2k
0402d31eb2
breaking: PooledNetworkReader/Writer renamed to NetworkReader/WriterPooled
2022-03-10 19:44:13 +08:00
vis2k
f0c9a81c10
breaking: NetworkReader/WriterPool API simplified: GetReader/Writer => Get; Recycle => Return; ( #3112 )
...
* breaking: NetworkReader/WriterPool API simplified: GetReader/Writer => Take; Recycle => Return;
* rename Take() to Get()
* Pool<T> Take() => Get()
2022-03-10 19:37:21 +08:00
vis2k
006efa090e
fix test
2022-03-09 16:40:31 +08:00
vis2k
926761c452
fix test
2022-03-09 16:33:34 +08:00
vis2k
70e40b88b5
test for #3106 OnStartLocalPlayer being called twice from ReplacePlayerForConnection
2022-03-09 16:25:28 +08:00
vis2k
f6df4edaae
fix : #3106 NetworkClient.ChangeOwner now uses .isLocalPlayer flag to check if OnStopLocalPlayer should be called.
...
previously it used localPlayer static identity, but that's error prone because in this case it was set by another function before already. added test to guarantee it never fails again.
2022-03-09 16:21:43 +08:00
vis2k
e2d1ad0b5e
better comment
2022-03-09 16:18:40 +08:00
vis2k
fedb6002b6
not necessary
2022-03-09 16:04:30 +08:00
vis2k
1423bee9d2
comment
2022-03-09 16:03:46 +08:00
vis2k
35ec47d213
Tests: guarantee OnStopLocalPlayer is called when using RemovePlayerForConnection. for #3106
2022-03-09 16:02:24 +08:00
vis2k
5846045122
comments
2022-03-09 15:55:05 +08:00
vis2k
303b66247e
ChangeOwner comments
2022-03-09 15:54:27 +08:00
vis2k
8bef2bf864
TODO
2022-03-09 15:52:07 +08:00
vis2k
c14566c731
comments
2022-03-09 15:51:12 +08:00
vis2k
a34cb00eb2
comment
2022-03-09 15:49:53 +08:00
vis2k
401074fc67
syntax
2022-03-09 15:47:43 +08:00
vis2k
376494e7f5
syntax
2022-03-09 15:46:50 +08:00
vis2k
7e19881630
MIRROR_65_0_OR_NEWER
2022-03-07 20:26:11 +08:00
MrGadget
a51bc743a8
syntax
2022-02-26 15:02:16 -05:00
MrGadget
3a1d9822bd
Updated Authenticators
2022-02-26 14:53:25 -05:00
vis2k
66eff281c7
breaking: removed unnecessary 'initialize' parameter from InterestManagement.OnRebuildObservers
2022-02-26 15:26:04 +08:00
MrGadget
c1e05d9df4
fix: NetworkAuthenticator methods virtual
...
- abstract throws an error for derived classes that wrap server methods in UNITY_SERVER or similar as missing required override.
2022-02-25 09:47:35 -05:00
MrGadget
44dfce94b1
fix: Chat Example Authenticator
2022-02-24 08:22:33 -05:00
MrGadget
a88b03739f
fix: NetworkConnectionToClient in Authenticators
2022-02-23 14:57:25 -05:00
Robin Rolf
d67dc74bbd
feat: Allow generic NetworkBehaviour<T> subclasses ( #3073 )
...
* feat: Allow generic NetworkBehaviour subclasses
It's only generic SyncVars (via attribute) and rpcs/cmds we don't want to deal with and that aren't supported.
Even generic SyncVar<T> works
* Generate IL2CPP compatible base calls
see cf91e1d547
* Make SyncVar field/hook references generic too
Fixes bad IL
* Update Extensions.cs
* Update Assets/Mirror/Editor/Weaver/Extensions.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-02-23 12:50:15 +08:00
James Clancey
7670271bf1
fix: Android multicast Discovery. Fixes #2878 ( #2887 )
...
* Added Android multicast support for Discovery Fixes #2878
This will add support for turning on and off Multicast for Android devices.
It also contains an Android manifest editor that will add the appropriate permissions.
* Reset the lock state once you end it.
* Update NetworkDiscoveryBase.cs
* Update AndroidManifestHelper.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-02-17 19:39:20 +08:00
vis2k
c804efd731
ClientSceneTests: remove redundant ApplyPayload tests. we have higher level (and more simple) tests that already guarantee this.
2022-02-17 13:08:15 +08:00
vis2k
1bbd2bbad7
MirrorTest: CreateNetworkedAndSpawnPlayer<T, U>
2022-02-17 12:55:31 +08:00
vis2k
d91f43a486
MirrorTest: guarantee isServer/isClient
2022-02-17 00:02:49 +08:00
vis2k
a07eb1bbba
Tests: use explicit NetworkConnectionToClient
2022-02-17 00:02:02 +08:00
vis2k
fa1e5184c1
Tests: TooManyComponents improved to prepare for SyncDirection
2022-02-16 23:05:35 +08:00
vis2k
e0bdca7532
Tests: TooManyComponents improved to prepare for SyncDirection
2022-02-16 23:02:14 +08:00
vis2k
d99652873b
corrected the answer
2022-02-16 21:46:52 +08:00
vis2k
baf5002560
"life is all about setup"
2022-02-16 21:41:42 +08:00
vis2k
61a98fd97b
Tests: SerializationException cleanup to prepare for SyncDirection
2022-02-16 21:38:54 +08:00
vis2k
a45d3adf42
unused import
2022-02-16 21:25:01 +08:00
vis2k
5420cd084d
Tests: OnSerializeAndDeserializeAllSafely cleanup
2022-02-16 21:24:44 +08:00
vis2k
b64a170b24
syntax
2022-02-16 16:36:26 +08:00
vis2k
f042933334
perf: NetworkReader: ReadBytes cleanup. copy buffer directly instead of generating segment first.
2022-02-16 16:33:41 +08:00
vis2k
c26c75485a
NetworkReader: move extensions into separate file
2022-02-16 16:11:17 +08:00
vis2k
0f77fe342d
NetworkWriter: move extensions into separate file
2022-02-16 16:09:52 +08:00
vis2k
c3ac08203a
NetworkWriter: runtime resizing comment
2022-02-16 15:50:51 +08:00
vis2k
2ea328750c
[SyncVar] OnDeserialize moved to C# to reduce headaches ( #3103 )
2022-02-16 12:24:01 +08:00
vis2k
533c054408
GenerateNewActionFromHookMethod helper function for future reuse in OnDeserialize
2022-02-15 17:31:28 +08:00
vis2k
72973f484a
fix: host mode [SyncVar] setter hooks now support virtual / overwritten functions again ( #3102 )
2022-02-15 17:30:56 +08:00
vis2k
4e91833c7d
fix: host mode [SyncVar] setter hooks now support static functions again ( #3101 )
...
* fix: host mode [SyncVar] setter hooks now support static functions again
* Tests: [SyncVar] setter in host mode static hook test for https://github.com/vis2k/Mirror/pull/3101
2022-02-15 14:42:39 +08:00
vis2k
e41edfae2f
better comment
2022-02-13 22:21:36 +08:00
James Frowen
e250d4eb6f
feat: updating to SimpleWebTransport v1.3 ( #3099 )
...
- Allowing max message size to be increase to int32.max
- fixing minor bugs (see change log)
2022-02-13 17:01:04 +08:00
MrGadget
9e45ce869b
breaking: Make clientLoadedScene protected ( #3098 )
...
- users shouldn't be messing with this
- it does need to be available in an override of OnClientConnect
2022-02-13 16:56:54 +08:00
MrGadget
8394190b11
explicit type
2022-02-12 19:44:04 -05:00
MrGadget
faf8f15a59
Comments
2022-02-12 16:12:15 -05:00
MrGadget
4db8da0b6a
Comments
2022-02-12 16:03:15 -05:00
vis2k
791a9b907d
test comments
2022-02-11 19:40:40 +08:00
vis2k
0b4787d3d9
SyncVarAttributeTest: use MirrorTest's ProcessMessages() instead of manual serialize/deserialize for consistency
2022-02-09 13:07:13 +08:00
vis2k
9271990cae
SyncVarAttributeHookTest: use MirrorTest's ProcessMessages() instead of manual serialize/deserialize for consistency
2022-02-09 13:05:24 +08:00
vis2k
f962f7fb47
GetSerializationAtTick: disable tick based serialization caching during tests. fixes [SyncVar] changes not serializing in tests because Time.frameCount would never increase during tests, so the original spawn serialization would always be reused.
2022-02-09 12:48:12 +08:00
vis2k
d5af1c6407
GeneratedSyncVarSetter: add comments
2022-02-09 01:58:04 +08:00
vis2k
2610dfc1b3
Tests: Mirrortest isClient check and make sure it's actually set ( #3094 )
...
* Tests: guarantee isClient == true
* fix
2022-02-08 20:44:56 +08:00
vis2k
39632fc5e5
NetworkClient.SpawnSceneObject: don't rely on SpawnMessage
2022-02-08 00:01:07 +08:00
MrGadget
46e6c61da6
fix: Match & Team Int Mgmt OnCheckObserver ( #3089 )
2022-02-06 08:30:03 -05:00
MrGadget
4e4e001c92
fix: Missed a couple NetworkConnectionToClient changes
2022-02-06 07:14:12 -05:00
MrGadget
b117b92d08
fix: Updated Templates ( #3090 )
2022-02-06 06:25:08 -05:00
MrGadget
c94ee5222f
breaking: Use NetworkConnectionToClient ( #3088 )
...
* fix: Use NetworkConnectionToClient
* Revert change to MatchInterestManagement
* Revert change to Basic Example scene
* Revert change to Basic Example Player prefab
* Interest Management too
* Updated MultipleMatches example
* Updated RoomManager and Room example
2022-02-06 14:03:55 +08:00
vis2k
f26797a7d7
breaking: NetworkConnection cleanup ( #3086 )
...
* breaking: NetworkManager: use strong typed OnConnect/OnDisconnect events
* breaking: NetworkConnection server code moved to NetworkConnectionToClient (it shouldn't be in base class, otherwise it would be in client code's NetworkConnectionToServer as well)
* InterestManagement.OnCheckObserver: use NetworkConnectionToClient
2022-02-06 13:24:38 +08:00
vis2k
db1c7e3e28
TODO
2022-02-05 18:19:46 +08:00
vis2k
6cc293b12d
NetworkBehaviour.connectionToClient type changed to NetworkConnectionToClient, just like NetworkIdentity
2022-02-05 18:03:12 +08:00
vis2k
d56da0ed02
NetworkServer.OnConnected/Disconnected/ErrorEvent: strong typing
2022-02-05 13:12:55 +08:00
vis2k
770dfc838a
use NetworkConnectionToClient for NetworkServer.RegisterHandler registered handlers. allows for further NetworkConnection cleanups, enforces actual type, does not break anything
2022-02-05 13:12:55 +08:00
vis2k
c556b23543
NetworkServer.RegisterHandler: allow passing NetworkConnectionToClient instead of NetworkConnection base class.
...
both work now; old code does not break; but still allows for new code NetworkConnection cleanups
2022-02-05 13:12:55 +08:00
vis2k
eafaa2cf32
syntax
2022-02-05 00:51:50 +08:00
vis2k
bf2350030b
breaking: NetworkServer.NoExternalConnections => HasExternalConnections to avoid double negative checks as usual
2022-02-05 00:47:24 +08:00
vis2k
7488aac1d6
syntax
2022-02-05 00:37:48 +08:00
vis2k
8e03cee673
remove old comment
2022-02-05 00:32:06 +08:00
vis2k
3cf595ff30
MessagePackingTest: don't rely on scene feature
2022-02-04 13:26:16 +08:00
James Frowen
b62fbf51b5
fix(SWT): fixing jslib for Unity2021 ( #3084 )
...
replacing `Pointer_stringify` with `UTF8ToString`, This still works in 2019.4 as well.
fixes "Runtime is not defined" unity bug. Unity does not auto link Runtime in 2021, this is a bug, checking if it is undefined then creating it fixes the issue, and will continue you work after unity fixes the bug. Note: `Module['dynCall_vi']` fix does not work here because it throws an exception after each call.
original commits:
2f5a74ba10
945b50dbad
fixes: https://github.com/vis2k/Mirror/issues/3012
2022-02-03 12:55:16 -05:00
vis2k
ff1199607e
perf: SyncVar<T> some more inlining
2022-02-03 22:12:00 +08:00
vis2k
0d55ed8448
Tests: SetAllClientsNotReady - don't rely on host mode
2022-02-03 21:36:48 +08:00
vis2k
924ce2b668
Tests: SetClientReadyAndNotReady don't rely on host mode
2022-02-03 21:35:16 +08:00
vis2k
9f5bc2fadb
ClientRpcOverrideTests: don't rely on hos tmode
2022-02-02 21:37:36 +08:00
vis2k
60f6bf7092
ClientRpcTests: don't rely on host mode anymore
2022-02-02 21:36:33 +08:00
vis2k
bb4ae1eeac
TargetRpcOverrideTests: don't rely on host mode
2022-02-02 21:32:39 +08:00
vis2k
51678d7cdc
TargetRpcTests: don't rely on host mode
2022-02-02 21:31:30 +08:00
vis2k
1f42831a7f
RpcNetworkIdentityTests: don't rely on host mode
2022-02-02 21:29:35 +08:00
vis2k
5ba40d5608
unused import
2022-02-02 21:27:52 +08:00
vis2k
c7a8af3b7f
syntax
2022-02-02 21:24:38 +08:00
vis2k
7251cd621c
CommandOverrideTests: don't rely on host mode
2022-02-02 21:24:34 +08:00
vis2k
8d602ecec7
cleaner
2022-02-02 21:18:07 +08:00
vis2k
4a23a9a0ad
CommandTests: need host mode for one test
2022-02-02 21:17:00 +08:00
vis2k
bc941a1b9e
CommandTests: don't rely on host mode anymore
2022-02-02 21:14:11 +08:00
vis2k
83049d71f7
Tests: DistanceInterestManagement uses holder GameObject
2022-02-02 13:31:43 +08:00
vis2k
1d6cad9c24
NetworkWriterTests: don't rely on host mode anymore
2022-02-02 13:05:31 +08:00
vis2k
e959ff2d23
NetworkBehaviourDirtyBitsTests: don't rely on host mode anymore
2022-02-02 12:56:43 +08:00
vis2k
ce849cd61b
Tests: fix NetworkServer.DestroyObject .Destroy throwing during tests. use DestroyImmediate if Application isn't running.
2022-02-02 12:54:58 +08:00
vis2k
23455570e6
MirrorTest: fix CreateNetworkedAndSpawnPlayer not properly spawning because the GO wasn't considered for spawning because it wasn't inactive
2022-02-02 12:44:37 +08:00
vis2k
9451fa0369
add check
2022-02-02 12:42:15 +08:00
vis2k
9512b8f0e6
MirrorTest: fix CreateNetworkedAndSpawnPlayer not properly spawning because the GO wasn't considered for spawning because it wasn't inactive
2022-02-02 12:40:42 +08:00
vis2k
badde10c1d
MirrorTest: fix wrong authority check always throwing assert
2022-02-02 12:21:06 +08:00
vis2k
ac06a32622
NetworkBehaviourSerializeTests: don't rely on host mode anymore
2022-02-02 12:00:48 +08:00
vis2k
5ba53185f2
Tests: SerializeAndDeserializeObjectsDelta doesn't rely on host mode anymore
2022-02-02 11:54:31 +08:00
vis2k
3772f0b8e3
Tests: SyncObjectChanges_DontGrowWithoutObservers don't rely on host mode
2022-02-02 01:52:30 +08:00
vis2k
eef8e02974
Tests: don't rely on host mode
2022-02-02 01:50:46 +08:00
vis2k
55abc80c8e
Tests clear NetworkManager singleton. prepares for NS/NC as component where we would need to initialize NM (and the singleton), and need to clear it
2022-02-02 01:34:28 +08:00
vis2k
8f7a0858ce
NetworkManagerTests: use holder
2022-02-02 01:32:58 +08:00
vis2k
6ae3e0b4ce
Multiplex Tests: use holder GO to make NS/NC as component easier later
2022-02-02 01:31:48 +08:00
vis2k
51ccb29275
Spatial Hashing Tests: use holder GO to make NS/NC as component easier later
2022-02-02 01:30:12 +08:00
vis2k
5b68aa8ade
MirrorTest: holder GO to make NS/NC as component easier later
2022-02-02 01:29:10 +08:00
vis2k
efcf960917
SyncVarTests: don't rely on host mode
2022-02-02 01:24:19 +08:00
vis2k
39ad3840a5
SyncVarNetworkIdentityTests: don't rely on host mode
2022-02-02 01:23:08 +08:00
vis2k
6049925f66
SyncVarNetworkBehaviourInheritedTests: don't rely on host mode
2022-02-02 01:20:03 +08:00
vis2k
0ef0545eb8
SyncVarNetworkBehaviourAbstractTests: don't rely on host mode
2022-02-02 01:17:24 +08:00
vis2k
cb0040b1c3
SyncVarGameObjectTests: don't rely on host mode
2022-02-02 01:10:37 +08:00
vis2k
f5a8458391
MultiplexTest: add missing TearDown
2022-02-02 00:57:11 +08:00
vis2k
9912341f48
Tests: remove redundant generated attribute tests. -5000 LOC ( #3079 )
...
* Tests: remove redundant generated Attribute tests.
* move to AttributeTests.cs
* syntax
* proper SetUp
2022-02-01 18:47:49 +08:00
MrGadget
224a5587b0
Updated PlayerCamera scripts in examples
2022-02-01 04:14:17 -05:00
MrGadget
85048539d0
Updated Basic Example
2022-02-01 04:06:12 -05:00
vis2k
a54e74716d
SyncVarNetworkBehaviour: ==, != for T as well to block != null
2022-02-01 13:09:26 +08:00
vis2k
0fd0aa2135
SyncVarGameObject/NetworkBehaviour/NetworkIdentity .Equals/.GetHashCode too
2022-02-01 12:41:33 +08:00
vis2k
f03dd3f8b8
SyncVar<T> Hook changed to .Callback += like SyncLists. can now be assigned in OnStartClient too.
2022-02-01 12:41:33 +08:00
vis2k
ed7de945d5
SyncVarNetworkBehaviour ==, != overloads
2022-02-01 12:41:33 +08:00
vis2k
0e42e5ce48
SyncVarNetworkIdentity ==, != overloads
2022-02-01 12:41:33 +08:00
vis2k
9efb3ada25
SyncVarGameObject ==, != overloads
2022-02-01 12:41:33 +08:00
MrGadget
27e71acef6
fix: Call OnStopLocalPlayer from ChangeOwner
2022-01-31 11:08:24 -05:00
MrGadget
6f84dfc0e1
Assigned Mirror Icons
2022-01-31 03:09:45 -05:00
vis2k
7c15a76dc1
remove unused imports
2022-01-31 14:25:08 +08:00
MrGadget
68f1a605d3
Added OnStopLocalPlayer to NetworkBehaviour Script Template
2022-01-31 00:35:35 -05:00
vis2k
e7a2a1467f
fix : #2907 LatencySimulation now uses Time.unscaledTime
2022-01-31 12:44:56 +08:00
vis2k
7f9209cd7f
Weaver.Extensions.Is: Syntax
2022-01-31 12:25:15 +08:00
vis2k
4a95f42c17
feat: OnStopLocalPlayer ( #2070 ) ( #3076 )
...
* OnStopLocalPlayer
* NB test
* stuff
2022-01-30 12:23:37 +08:00
vis2k
da09e71576
fix: Duplicate IL2CPP hashes when building to WebGL ( #3061 ) ( #3072 )
...
* fix: Duplicate IL2CPP hashes when building to WebGL (#3061 )
* change to tryget
* Update DistanceInterestManagement.cs
* Update MethodProcessor.cs
* GenerateMethodName
* Update MethodProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Weaver.cs
* Update Weaver.cs
Co-authored-by: vis2k <info@noobtuts.com>
* fix callers to replacement rpcs which used to call the deadlock
* improve generated name
Co-authored-by: cooper <60411087+cxxpxr@users.noreply.github.com>
2022-01-29 23:19:13 +08:00
vis2k
e781448419
Weaver: SubstituteMethod improved comment
2022-01-29 23:04:44 +08:00
vis2k
99fb73191f
test comment
2022-01-29 23:00:00 +08:00
vis2k
ce3d4e49cc
Weaver: FixRemoteCallToBaseMethod - proper comments to explain what it does
2022-01-29 22:59:49 +08:00
MrGadget
8a8f71b30b
Revert merge master to master
2022-01-28 22:31:38 -05:00
MrGadget
6c729970cd
Merge branch 'master' into master
2022-01-28 21:53:43 -05:00
MrGadget
ecf44518f5
Added Chat Example
2022-01-28 21:49:13 -05:00
MrGadget
bd7f75f50c
Added Tests
2022-01-28 21:46:10 -05:00
MrGadget
8e7a36b8ad
Fixed AsmDefs
2022-01-28 21:45:48 -05:00
vis2k
cd40498457
remove TODO
2022-01-26 18:43:33 +08:00
vis2k
5369b8f47c
Weaver: move [SyncVar] generated setter to C# ( #3070 )
...
* WeaverSyncVarSetter<T>
* resolve
* no ref
* rename
* simple types without hook
* hook WIP
* stll need 'new Action' type
* pass hook
* ilnine
* remove now unused types
* remove unused
* comment
* no default
* cases
* GeneratedSyncVarSetter_GameObject/NetworkIdentity
* resolve
* GO/NI setters
* use the right equals
* NB setter
* comment
2022-01-26 18:40:56 +08:00
Roman Niukhalov
48df9ec287
Fix typo in a comment in NetworkServer.cs ( #3071 )
2022-01-26 13:35:17 +08:00
vis2k
8e682ec79e
syntax
2022-01-25 15:02:38 +08:00
Samuel Schultze
a9a42c7aa7
fix (middleware): call inner transport events ( #3068 )
2022-01-25 12:42:32 +08:00
vis2k
88f09be888
Tests: Weaver IsSuccess() tests moved to regular C# space instead of AssemblyBuilder ( #3069 )
...
* README
* WeaverClientRpcTests
* CommandTests
* WeaverGeneralTests
* WeaverGeneratedReaderWriterAnotherAssemblyTests
* Tests asmdef references ExtraAssembly
* WeaverGeneratedReaderWriterTests
* WeaverMessageTests
* WeaverMonoBehaviourTests
* WeaverNetworkBehaviourTests
* WeaverSyncDictionaryTests
* pragma
* meta
* WeaverSyncListTests
* WeaverSyncObjectsTests
* WeaverSyncSetTests
* WeaverSyncVarAttributeHookTests
* WeaverSyncVarAttributeTests
* comment
* WeaverTargetRpcTests
2022-01-25 12:29:37 +08:00
vis2k
cb0d722366
perf: inline several hot path functions ( #3065 )
...
* perf: NetworkReader inline all functions
* perf: NetworkWriter inline all functions
* perf: Utils inlining
* perf: Pool inlining
* perf: NetworkReader/WriterPool inlining
* perf: Compression inlining
* perf: Extensions inlining
* perf: Mathd inlining
* perf: MessagePacking inlining
2022-01-25 11:09:52 +08:00
vis2k
7a1c5774a3
rename
2022-01-25 01:14:19 +08:00
vis2k
212ec448fb
Test to prevent SyncVar.value = X throwing invalid IL
2022-01-25 01:11:03 +08:00
vis2k
f30429dbd2
Test to prevent SyncVar ldflda replacement issues as reported by imer
...
https://github.com/vis2k/Mirror/pull/2957#issuecomment-1020061244
2022-01-24 21:05:48 +08:00
MrGadget
5c48971d8e
Updated SyncListWithUserData
2022-01-22 19:35:56 -05:00
MrGadget
be8cf781d9
Updated SyncListWithUserData
2022-01-22 18:19:04 -05:00
MrGadget
61eec62de9
Updated SyncListWithUserData
2022-01-22 12:23:35 -05:00
MrGadget
76843e6c30
Updated SyncListWithUserData
2022-01-21 21:42:15 -05:00
MrGadget
1bfa2dae52
Added SyncListWithUserData
2022-01-21 09:57:19 -05:00
vis2k
9956c1620a
Revert "fix: Duplicate IL2CPP hashes when building to WebGL ( #3061 )"
...
This reverts commit d33c7cb247
.
because remoteattributetests deadlock on 2021.2.8
2022-01-21 18:11:23 +08:00
vis2k
657a06bbc8
remove leftover comment
2022-01-21 16:11:17 +08:00
cooper
d33c7cb247
fix: Duplicate IL2CPP hashes when building to WebGL ( #3061 )
...
* change to tryget
* Update DistanceInterestManagement.cs
* Update MethodProcessor.cs
* GenerateMethodName
* Update MethodProcessor.cs
* Update Assets/Mirror/Editor/Weaver/Weaver.cs
* Update Weaver.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-01-21 12:47:16 +08:00
MrGadget
238c80dc33
fix: added / updated AddComponent attributes ( #3062 )
...
* fix: added / updated AddComponent attributes
* fix: Added / Updated AddComponent attirbutes
* Update Assets/Mirror/Components/Discovery/NetworkDiscoveryHUD.cs
2022-01-20 11:58:27 -05:00
MrGadget
d1543d5943
Removed using from ChatAuthenticator
2022-01-19 19:33:15 -05:00
MrGadget
9dbba89c0d
Merge branch 'vis2k:master' into master
2022-01-19 14:18:07 -05:00
tuf
171d3543be
Fixed everything that's wrong with Mirror ( #3059 )
2022-01-19 14:07:52 -05:00
MrGadget
fab9961436
Mirror 60.2.0
2022-01-19 09:48:55 -05:00
MrGadget
ffabc3e802
Merge branch 'vis2k:master' into master
2022-01-19 09:48:04 -05:00
MrGadget
fe8893dd3a
feat: NT uses Cmd/Rpc overloads ( #3058 )
2022-01-19 22:25:36 +08:00
MrGadget
9c7f7f849f
Removed Tests
2022-01-19 07:22:12 -05:00
MrGadget
0d30a0b102
Merge pull request #2 from vis2k/master
...
Mirror 60.1.0
2022-01-19 07:21:14 -05:00
MrGadget
140691e744
Added Tests
2022-01-19 07:20:57 -05:00
vis2k
30a7e1d576
feature: remote call overloads are now allowed for [TargetRpc] too. they are possible now due to 0cdeccbe71
using .FullName instead of .Name
2022-01-19 18:43:05 +08:00
vis2k
b6f4c641de
feature: remote call overloads are now allowed for [ClientRpc] too. they are possible now due to 0cdeccbe71
using .FullName instead of .Name
2022-01-19 18:43:05 +08:00
MrGadget
85e86bd4a0
fix: Network Manager Template singleton
2022-01-18 11:56:55 -05:00
vis2k
f79166dd6c
Weaver: remove unused .Resolver
2022-01-19 00:10:41 +08:00
vis2k
508cc7ec1a
comments
2022-01-19 00:00:11 +08:00
vis2k
1328dcb7ea
comment
2022-01-18 17:27:34 +08:00
vis2k
1eca5fe9b4
breaking: RemoteCalls.RegisterCommand/RpcDelegate renamed to RemoteCalls.RegisterCommand/Rpc to keep it simple
2022-01-18 17:22:15 +08:00
vis2k
131e854479
RemoteCalls: CheckIfDelegateExists cmdHash renamed to functionHash
2022-01-18 17:17:43 +08:00
vis2k
c675cfe2b0
syntax
2022-01-18 17:14:09 +08:00
vis2k
3792e23f2f
remove old code
2022-01-18 17:12:33 +08:00
vis2k
45438b5e91
feature: remote call overloads are now allowed. they are possible now due to 0cdeccbe71
using .FullName instead of .Name
2022-01-18 17:10:37 +08:00
vis2k
a797c9733a
syntax
2022-01-18 16:50:00 +08:00
vis2k
8647efc297
add comments
2022-01-18 16:45:36 +08:00
vis2k
739dfb361e
RemoteCalls.Invoker.invokeClass renamed to componentType because that's what we use it to check for
2022-01-18 16:44:15 +08:00
vis2k
11ca6a542f
RemoteCalls: add comment
2022-01-18 16:42:34 +08:00
vis2k
0418f1c9d2
RemoteCalls.Invoker.remoteCallType renamed to callType for simplicity
2022-01-18 16:38:57 +08:00
vis2k
1242fb1356
RemoteCalls: InvokeHandlerDelegate renamed to Invoke for simplicity.
2022-01-18 16:36:21 +08:00
vis2k
ad2d0560a3
RemoteCalls.Invoker.invokeFunction renamed to function for simplicity
2022-01-18 16:33:05 +08:00
vis2k
d1d2523b75
syntax
2022-01-18 16:31:23 +08:00
vis2k
a83786f884
syntax
2022-01-18 16:30:52 +08:00
vis2k
40333bb784
syntax
2022-01-18 16:28:49 +08:00
vis2k
c55e42f7e2
perf: NetworkServer.OnCommandMessage doesn't requires NetworkIdentity.CommandRequiresAuthority check anymore.
...
Remote calls are now hashed based on full name, so we don't need to find & compare the particular component anymore.
2022-01-18 16:19:54 +08:00
vis2k
3a78a2fca5
comment
2022-01-18 16:17:07 +08:00
vis2k
262c7f8898
RemoteCalls GetCommandInfo + CommandInfo struct replaced with a simple CommandRequiresAuthority bool
2022-01-18 16:04:35 +08:00
vis2k
10f7d4c34a
syntax
2022-01-18 15:57:51 +08:00
vis2k
0aa70d8e61
syntax
2022-01-18 15:55:16 +08:00
vis2k
308e995ad5
syntax
2022-01-18 15:52:49 +08:00
vis2k
a4e6163f9f
syntax & comments
2022-01-18 15:51:16 +08:00
vis2k
6989f21817
syntax
2022-01-18 15:46:52 +08:00
vis2k
effad42399
syntax
2022-01-18 15:45:52 +08:00
vis2k
94c319746b
RemoteCalls: GetInvokerForHash simplified
2022-01-18 15:45:22 +08:00
vis2k
c4828251e6
comment
2022-01-18 15:44:03 +08:00
vis2k
48b368a0dd
syntax
2022-01-18 15:43:03 +08:00
MrGadget
34bf98b9d0
MIRROR_58_0_OR_NEWER
2022-01-18 00:57:24 -05:00
vis2k
fdd3041d68
breaking: SendTargetRpcInternal removed now unnecessary invokeClass parameter from NetworkBehaviour and Weaver
2022-01-18 13:54:19 +08:00
vis2k
99dd9fdafb
breaking: SendRpcInternal removed now unnecessary invokeClass parameter from NetworkBehaviour and Weaver
2022-01-18 13:54:19 +08:00
vis2k
d0b2ecf7ed
breaking: SendCommandInternal removed now unnecessary invokeClass parameter from NetworkBehaviour and Weaver
2022-01-18 13:54:19 +08:00
vis2k
0cdeccbe71
breaking: RemoteCalls simplified: Weaver now passes full function name instead of Type + function.Name.
...
makes everything easier, allows us to remove GetMethodHash(Type invokeClass, string methodName).
also allows for two [Command]s/[Rpc]s with same name but different type parameters now.
2022-01-18 13:54:19 +08:00
vis2k
05e62388d4
breaking: Obsolete Experimental NetworkTransform
...
* breaking: obsolete old experimental NetworkTransform components
* Update Assets/Mirror/Components/Experimental/NetworkTransform.cs
* Update Assets/Mirror/Components/Experimental/NetworkTransformChild.cs
* Update Assets/Mirror/Components/Experimental/NetworkTransformBase.cs
Co-authored-by: MrGadget <9826063+MrGadget1024@users.noreply.github.com>
BREAKING: Obsolete Experimental NetworkTransform
2022-01-18 00:24:30 -05:00
vis2k
e192dae48e
RemoteCalls: cmdHandlerDelegates renamed to remoteCallDelegates because it's not just for Commands
2022-01-18 13:09:16 +08:00
vis2k
6b9eccd9e1
RemoteCalls: add comment
2022-01-18 12:55:53 +08:00
Robin Rolf
a828f5a983
fix: NetworkTransform syncs initial position/rotation/scale #3048 ( #3051 )
...
* fix: NT syncs initial position/rotation/scale
fixes #3048
* Update NetworkTransformBase.cs
* Update NetworkTransformBase.cs
* Update NetworkTransformBase.cs
* Update NetworkTransformBase.cs
Co-authored-by: vis2k <info@noobtuts.com>
2022-01-18 12:55:40 +08:00
vis2k
c15a137209
ifdef
2022-01-18 12:55:30 +08:00
vis2k
8a3771b0a1
GUIConsole now pops up on warnings too for easier debugging
2022-01-18 12:55:23 +08:00
vis2k
3c7f358c4f
breaking: RemoveProcedureCalls renamed to RemoteCalls to fit the Namespace
2022-01-18 11:37:35 +08:00
vis2k
92ce96d5bd
Delegate, not Deligate
2022-01-18 11:37:35 +08:00
vis2k
f39586a477
breaking: MirrorInvokeType renamed to RemoteCallType
2022-01-18 11:37:35 +08:00
vis2k
7af0d541f2
MirrorInvokeType moved from Utils to RemoteProcedureCalls
2022-01-18 11:37:35 +08:00
vis2k
6738ede014
breaking: CmdDelegate renamed to RemoteCallDelegate
2022-01-18 11:37:35 +08:00
vis2k
40b8886c48
breaking: RemoteCallHelper renamed to RemoteProcedureCalls
2022-01-18 11:37:35 +08:00
vis2k
94985eef40
perf: NetworkServer.BroadcastToConnection ClearDirtyComponentsDirtyBits() moved into NetworkIdentity.GetSerializationAtTick. O(N*M) => O(N) ( #3049 )
...
=> previously per broadcast it was called for each connection, for each entity.
=> now per broadcast it is called for each entity once.
2022-01-18 11:36:45 +08:00