* clientOwnedObjects is a hash set which doesn't need to be disposed
* DestroyOwnedObjects already clears list which is called by networkmanager when connection disconnects
Co-authored-by: vis2k <info@noobtuts.com>
* moving check to base connection because it could be used for either
* renaming to IsAlive
* passing in timeout so it doesn't need to check NetworkServer
* updating doc comment
The code to serialize lists, arrays, and array segments is now in the runtime instead of generated in the weaver.
removes about 300 LOC of weaver witchcraft
* perf: use built in == instead of unity one
should be the same performance as #2325 without the complexity
* more readable version
* more readable version
* updating transport pages on litenetlib and simpleweb transports
* updating other pages to reference new transports
* updating links for new transports
* Intial commit
see https://github.com/MirrorNetworking/SimpleWebTransport for full git histroy
* Update main.yml
Adding SimpleWebTransport to coverage exclusions
* fully ignoring SimpleWebTransport from sonarcloud
SimpleWebTransport has sonarcloud running on its own repo
* using Buffer.BlockCopy
* SimpleWebTransport v0.4.1
* making error messages use LogError (MirrorNetworking/SimpleWebTransport@5f0096c)
* messages with length of 1 can be recieved by the client (MirrorNetworking/SimpleWebTransport@4237fc4)
* stopping un-needed error logs after disconnect (MirrorNetworking/SimpleWebTransport@25ff190)
* updating readme
* SimpleWebTransport v0.5.0
* adding missing warn level to Log.Levels (MirrorNetworking/SimpleWebTransport@0f68498)
* Allowing multiple instances of javascript client (MirrorNetworking/SimpleWebTransport#14) (MirrorNetworking/SimpleWebTransport@cc6e513)
* SimpleWebTransport v0.5.8
* Stopping send error when client disconnects
* Adding buffer pool
* Using ArrayBuffer for receive
* Removing info and verbose logging by default so performance isnt effected in editor or development builds.
* Making WebSocketClientStandAlone use timeouts from inspector
* Removing incorrect header from inspector
* Removing readonly from logger so that it can be set
* Fixing use of Interlocked in buffer pools
* using ManualResetEventSlim
* making Log.Exception always be logged
* SimpleWebTransport v0.6.0
* Trying to fix error when connection is closed
* Increase arraybuffer speed
* Removing shared buffers from server handshake
* Improving debug logging
* fixing code smells
* SimpleWebTransport v0.6.1
* making sure pending connection work when stop serve is called
* removing exception that isnt directly thrown by this method
this breaks docfx for some reason
* Adding new websocket transport soon that doesn't depend on library
* Code for old transport can now be found here https://github.com/MirrorNetworking/NinjaWebSocketsTransport
* We shouldn't need to replace with empty files from store as having this in project should not break things
* perf: NetworkIdentity DirtyComponentsMask code removed entirely. OnSerialize now includes the component index as byte before serializing each component. Faster because we avoid GetDirtyComponentsMask() and GetSyncModeObserversMask() calculations. Increases allowed NetworkBehaviour components from 64 to 255. Bandwidth is now smaller if <8 components, and larger if >8 components. Code is significantly more simple.
* Update Assets/Mirror/Runtime/NetworkIdentity.cs
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
* Users must initialize syncobjects (#391)
Previously we initialized syncobjects, so this is valid:
```cs
public class Pepe : NetworkBehavior {
public SyncList<int> mylist;
}
```
With this change, users must initialize their own fields:
```cs
public class Pepe : NetworkBehavior {
public SyncList<int> mylist = new SyncList<int>();
}
```
BREAKING CHANGE: You must initialize all your SyncLists
* Add null check
* This is no longer a weaver error
* Update Assets/Mirror/Runtime/NetworkBehaviour.cs
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
* Remove unnecesary using
Co-authored-by: James Frowen <jamesfrowendev@gmail.com>
* Server Teleport Enchancement for NetworkTransform
Related to this issue: https://github.com/vis2k/Mirror/issues/2200
* Improvements on NetworkTransformBase
We disable clientAuthority until teleportation is finished and acknowledged. We set the goal and start data points to null before teleportation.
We set the clientAuthority back to it's initial value registered on server, both on the server and client side; it seems like we don't need to change it to anything on Client side because to my understanding clientAuthortiy is not affecting anything on client side. I may be wrong but still it is a great practice to set it back to it's initial value just in case...
* Added teleportation with rotation
I forgot to add a rotation functionality on my previous commit. It wouldn't be a teleportation without also changing the rotation. If provided a rotation input it will teleport with a rotation, if not it will simply protect the original rotation before the teleportation.
* Removed my debug statement
I forgot to remove the debug log statement lol silly me
* fixing up code
* resetting goal and last pos on server and client
* renaming variables
* making sure TeleportFinished can't request authority at any time
* moving teleport block
* removing duplicate lines
Co-authored-by: Emre Bugday <47198270+EmreB99@users.noreply.github.com>