Commit Graph

4593 Commits

Author SHA1 Message Date
James Frowen
800a3d934b
docs(NetworkWriter): doc comments for WriteBlittable (with benchmark) (#2459)
* docs(NetworkWriter): doc comments for WriteBlittable

* Update Assets/Mirror/Runtime/NetworkWriter.cs
2020-11-23 10:32:19 +08:00
James Frowen
96a03a3d59
docs(NetworkReader): doc comments (#2460)
* formatting

* moving comment about buffer next to buffer

* moving comment to doc comment

* doc comment position

* doc comments for Length

* doc comments for ReadBlittable

* doc comments for ReadBytes

* doc comments for ReadBytesSegment

* doc comments for ToString

* doc comments for NetworkReaderExtensions

* comments for ReadString

* exception comments for read bytes/segement

* fixing comment
2020-11-23 10:31:50 +08:00
MrGadget
3a5da1d256
feat: Add OnStopServer / OnStopClient methods to Network Authenticator (#2447)
* feat: Add OnStopServer / OnStopClient methods to Network Authenticator

* Added calls to Network Manager

* Added OnStopServer / OnStopClient overrides to Authenticators

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-22 10:44:56 +08:00
James Frowen
301e791d9d
fix(weaver): Warning for multiple write/read functions for the same type (#2453)
* fix(weaver): Warning for multiple write/read functions for the same type

Adding warning message when trying to register a write or read function for a type that is already in dictionary. Previously weaver would be silent about this making it hard to know when an extension method overrides another one.

* test for warnings
2020-11-22 10:42:53 +08:00
James Frowen
fd9a7b0561
docs(NetworkWriter): doc comments (#2455)
* style for writer<T>

* adding doc comments to function that miss it
2020-11-22 10:40:06 +08:00
James Frowen
c8e4333d4e
docs(Transport): adding rules to remarks on transport (#2450)
* adding rules to remarks on transport

* adding default channel rule
2020-11-21 17:10:09 +00:00
James Frowen
0ab469867c perf(transport): Callbacks instead of UnityEvent (https://github.com/vis2k/Mirror/pull/2417)
Empty commit for d3d3113f7b

* Actions perform a lot better than UnityEvents.

* This allows callbacks to be passed into classes within the transports without depending on unity

BREAKING CHANGE: Transports now uses callbacks instead of UnityEvents

Mirror side:
old: transport.OnClientConnected.addListener(OnConnect)
new: transport.OnClientConnected = OnConnect;

Transports side:
callbacks have same name has the events so they can still be called using `OnClientConnected.Invoke`
2020-11-21 15:16:34 +00:00
James Frowen
2bd6675d19
Checking buffer length is atleast 2 (#2433)
* checking buffer length is atleast 2

disconnect if invalid message

* using const instead of magic number

Adding test to make sure that writing id is the same size as IdSize

* adding comment

* renaming to HeaderSize
2020-11-21 11:41:35 +08:00
vis2k
995fd06a77 ignore warning in tests 2020-11-20 23:50:36 +08:00
James Frowen
d3d3113f7b
perf(transport): BREAKING: callbacks instead of unityevent for transports (#2417)
* delegate and callbacks instead of unityevent

* using callbacks in Mirror

* Using new callbacks instead of events
* moving methods next to each other in NetworkClient
* moving add/remove to methods in NetworkServer

* replacing uses of events within transports and tests

* fixing tests

* fixing more tests

* replacing delegates with actions

* adding comments to show what action variable's are

* removing extra function created in rebase

* renaming callbacks

* adding reset methods so that actions arn't null

* fixing rename

* breaking defines

* Update Assets/Mirror/Runtime/Transport/KCP/MirrorTransport/KcpTransport.cs

* Update KcpTransport.cs

* Update Transport.cs

* removing ResetHandlers methods

transports can now call events after stop is called

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-20 23:47:56 +08:00
MrGadget1024
c3a06b297a doc: Updated ChangeLog 2020-11-20 02:39:59 -05:00
MrGadget1024
347a376dad fix: Fixed PlayerScore Display in MultipleAdditiveScenes Example 2020-11-19 23:58:14 -05:00
MrGadget1024
d68d03d900 doc: Updated ChangeLog 2020-11-19 22:26:59 -05:00
MrGadget1024
72ae5cb7a7 fix: Fixed issues in MultipleAdditiveScenes example
- Fixed NRE when no host player in PlayerScore
- Fixed player collisions by making the collider always on
2020-11-19 22:24:16 -05:00
MrGadget1024
148e803e8b doc: Updated ChangeLog and Deprecations docs 2020-11-19 22:21:55 -05:00
MrGadget1024
7de02aef55 doc: fixed example code to use struct with NetworkMessage 2020-11-19 13:48:17 -05:00
MrGadget1024
43cea98ef9 Fixed typos 2020-11-18 11:28:01 -05:00
vis2k
1947f061ad
perf: NetworkWriter/Reader Write/ReadBlittable<T> for 4-6x performance improvement! (#2441)
* Mirror asmdef: allow unsafe

* perf: NetworkWriter.WriteBlittable<T> for 4-6x performance improvement

* perf: NetworkReader.ReadBlittable<T>

* Remove unused conversion structs

* Add sizeof(T) vs Marshal.SizeOf<T> comments

* Add 'BlittableOnThisPlatform' test to be sure
2020-11-18 10:46:45 +08:00
James Frowen
cebc578abb
moving transport handler code to functions (#2444)
this matches Networkclient
2020-11-17 14:46:37 +00:00
James Frowen
72fa903125
Refactor add transport handlers 2 (#2443)
* moving add/remove methods next to each other

* renaming methods for clarity
2020-11-17 08:37:55 -06:00
James Frowen
c95f7d4da9
moving add/remove methods next to each other (#2442) 2020-11-17 08:36:21 -06:00
James Frowen
793d3478fc perf: Increase write performance (https://github.com/MirrorNetworking/SimpleWebTransport/pull/25)
* adding options to increase performance of send loop

adding config to Transport

* removing extra comments

* changing default value of sleep to false
2020-11-17 14:25:18 +00:00
vis2k
1ca61547ea Performance Tests: create big enough writer to measure without runtime resizes 2020-11-17 20:59:40 +08:00
vis2k
968c2e86ec Syntax 2020-11-17 20:48:05 +08:00
vis2k
54e680f61c Performance Tests: simplify WriteInt so it truly only measures WriteInt 2020-11-17 20:47:49 +08:00
vis2k
eaf1df2dc1 better 2020-11-17 20:46:37 +08:00
vis2k
f577864877 Performance Tests: add WriteQuaternion to test a more complex type 2020-11-17 20:46:37 +08:00
James Frowen
7bb312bdb8
adding try/catch to handler so server doesn't crash from user exceptions (#2435)
* adding try/catch to hanlder

user code can throw errors.

* Update Assets/Mirror/Runtime/MessagePacker.cs

* Update Assets/Mirror/Runtime/MessagePacker.cs

* test for command that throws

* disconnecting client after Exception in message handler

Co-authored-by: vis2k <info@noobtuts.com>
2020-11-17 15:51:29 +08:00
vis2k
2a5af1af20 kcp2k V1.3 2020-11-17 15:41:37 +08:00
James Frowen
54869c9ba2
finding handler inside TransportReceive so we dont need to check true/false (#2439) 2020-11-16 16:09:32 +00:00
James Frowen
e12621cbd1
moving log inside handler so it has message name (#2438) 2020-11-16 12:40:50 +08:00
James Frowen
46e60c6564
renaming reader (#2437)
less verbose name
2020-11-16 12:40:17 +08:00
James Frowen
38907e63d9
fixing typo (#2434) 2020-11-15 20:40:45 +00:00
vis2k
fcd1394061
MessagePacker.UnpackMessage renamed to Unpack for consistency with Pack and because the class is already named MessagePacker anyway (#2430) 2020-11-16 02:42:01 +08:00
vis2k
14ae0d094d
MessageHandler.MessageHandler renamed to WrapHandler because that's what it does. (#2431) 2020-11-16 01:48:33 +08:00
vis2k
1e9a3b03de add comment 2020-11-16 00:43:48 +08:00
vis2k
ca29bcebe5 MessagePacker.Unpack<T> moved to MessagePackerTests because it's only used for tests 2020-11-15 16:41:38 +08:00
vis2k
cf9025bff7 Synta 2020-11-15 16:41:38 +08:00
James Frowen
3727e36b74
weaver removing unneeded ImportReference (#2429) 2020-11-14 23:55:44 +00:00
MrGadget1024
b14daba289 Removed Telepathy from example that I added by accident 2020-11-14 15:43:14 -05:00
James Frowen
417818d4d6
weaver import typeRefernce when generating readers (#2427)
Importing typeRefernce once before we generate reader
2020-11-14 12:50:21 -06:00
MrGadget1024
2e2fecb20a Minor code cleanup in PlayerControllers 2020-11-14 11:48:28 -05:00
James Frowen
f7b0b88247 removing invalid cref 2020-11-14 16:28:32 +00:00
Paul Pacheco
037ac55937
fix: using mathematics in commands and rpcs (#2425)
Generating readers and writers for structs in other assemblies
could sometimes cause a
```
System.ArgumentException: Member 'xxx' is declared in another module and needs to be imported
```
This in particular affected unity mathematics.

fixes #2406
2020-11-14 10:25:48 -06:00
Paul Pacheco
59ed64f9d0
feat: Provide user friendly error with undefined reader/writer (#2423)
Previously this just gave NRE, which does not help the user address the problem.

provides a better error for #2411
2020-11-14 08:46:53 -06:00
MrGadget1024
d5e162c0d0 Removed Server Only scene object from MultipleAdditiveScenes example 2020-11-14 02:26:19 -05:00
MrGadget1024
7ea55ce935 Added server checks to ZoneHandler 2020-11-14 01:00:06 -05:00
MrGadget1024
e9286b8259 Added server checks to Spawner 2020-11-14 00:58:42 -05:00
MrGadget1024
263b88d24d Removed Server Only Scene Object from Room Example
Spawner now has static property and methods and doesn't need to be on any networked object.
2020-11-14 00:03:19 -05:00
MrGadget1024
474b2ddf06 Removed Server Only Scene Object from Additive Scenes Example 2020-11-13 23:01:30 -05:00