Commit Graph

4636 Commits

Author SHA1 Message Date
James Frowen
4acf0d69e0
feat: Allow Networkbehaviours to be sent in rpc (#2478)
* adding read/write functions

* adding method to get WriteNetworkBehaviour

* adding methods to weavertypes

* adding method to get ReadNetworkBehaviour

* weaver test for NetworkBehaviour in RPC

* renaming var

* writing tests to make sure read/write works

* registering functions

* changing function and adding comment

* checking any writer is set

* adding Description to test

* collection test

* fixing call

* removing errors, networkbehaviour as read/write

* adding test to use the reader that weaver generates

* fixing import

* simplifying test

* removing null from spawned

* improving throw

* adding code coverage

* applying code suggestions
2020-12-02 09:40:38 +08:00
James Frowen
798a4cab33
breaking: Unity LLAPI transport meets the recycle bin. (#2484) 2020-12-02 01:35:53 +00:00
James Frowen
adabbdc552
using TypeReference with comparer instead of string (#2481)
* Using TypeReference  with IEqualityComparer instead of string to keep reference to type
* using targetType to initialize write/read functions
* test to make sure write function is set
2020-12-01 00:32:10 +00:00
James Frowen
05f6690484
weaver: moving IsNetworkIdentityField to extensions (#2476)
* weaver: moving IsNetworkIdentityField to extensions

* making extension use TypeReference
2020-11-29 21:51:19 -06:00
James Frowen
3bc58a851a
weaver: making GenerateWriter return MethodReference (#2479) 2020-11-30 03:05:57 +00:00
James Frowen
f9baa3f9da
making IsDerivedFrom use TypeReference (#2475) 2020-11-29 20:02:46 -06:00
MrGadget1024
58d6db72ad fix: NetworkRoomManager and NetworkRoomPlayer public fields
Made fields public again for inheritance.
2020-11-29 01:52:26 -05:00
vis2k
9d617f716b
Update README.md 2020-11-29 12:07:20 +08:00
MrGadget1024
b3e7aa9d95 fix: NetworkBehaviour throwing error in logger
```
UnityException: ToString is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'GamePlay' on game object 'GamePlay'.
See "Script Serialization" page in the Unity Manual for further details.
UnityEngine.Object.ToString () (at <a979f18d51af41179d12b797e8c5be14>:0)
UnityEngine.Logger.GetString (System.Object message) (at <a979f18d51af41179d12b797e8c5be14>:0)
UnityEngine.Logger.LogError (System.String tag, System.Object message) (at <a979f18d51af41179d12b797e8c5be14>:0)
Mirror.NetworkBehaviour.InitSyncObject (Mirror.SyncObject syncObject) (at Assets/System/3rdParty/Mirror/Runtime/NetworkBehaviour.cs:168)
myGame.GamePlay..ctor () (at Assets/System/GamePlay.cs:18)
```
2020-11-28 23:03:36 -05:00
MrGadget1024
bcd1c6fbab renamed rb to non-abbreviated name 2020-11-28 22:53:57 -05:00
vis2k
1b911d00ff
Update CONTRIBUTING.md 2020-11-29 11:50:54 +08:00
MrGadget1024
930d0cbbfd Tanks Example Improvements
- made fields private with SerializeField
2020-11-28 19:55:11 -05:00
MrGadget1024
8efd45c0d2 Room Example Improvements
- made fields private / internal with SerializeField
- CapsuleCollider is always on
2020-11-28 19:51:01 -05:00
MrGadget1024
12231c3be7 Pong Example Improvements
- made fields private with SerializeField
2020-11-28 19:26:20 -05:00
MrGadget1024
6823fb9d2e Multiple Additive Scenes Example Improvements
- made fields private / internal with SerializeField
- simplified Spawner to use prefab directly from MultiSceneNetManager
2020-11-28 19:12:57 -05:00
MrGadget1024
982b268b87 Additive Scenes Example Improvements
- Player Collider is always on
- made fields private with SerializeField
2020-11-28 18:53:14 -05:00
MrGadget1024
d6cfd2eadf perf: Improvements to RigidbodyPhysics Example
- consolidate nested if
- set kinematic by default on scene objects
- set kinematic false on server in AddForce::Start
- added field for Rigidbody component reference via inspector
  - eliminated calling GetComponent every frame
- set SyncInverval to zero on both NetworkTransforms and NetworkRigidbody
2020-11-28 18:14:13 -05:00
MrGadget1024
d0ee88150f Removed AsmDef from RigidBodyPhysics example 2020-11-28 18:03:13 -05:00
MrGadget1024
c6f0554bd8 Removed Obsolete from TelepathyTransport 2020-11-28 17:30:33 -05:00
MrGadget1024
090b83e583 Chat Example: made field private with SerializeField 2020-11-28 17:29:38 -05:00
MrGadget1024
f735ad2f6b Chat Example: made field private with SerializeField 2020-11-28 15:45:02 -05:00
MrGadget1024
1339ab7065 fix: Fixed broken reference in Chat example scene 2020-11-28 15:44:27 -05:00
MrGadget1024
6027b8056d Basic Example: Made fields internal with SerializeField 2020-11-28 15:43:02 -05:00
MrGadget1024
0856bc008a perf: Applied Channels.DefaultUnreliable to Experimental Network Transform 2020-11-28 10:20:24 -05:00
MrGadget1024
1616f57db0 perf: Added Compress / Decompress Quaternion to Experimental Network Transform 2020-11-28 10:16:01 -05:00
vis2k
fde07decfc
perf: NetworkTransform compresses rotation from 16 to 4 bytes. (#2469)
1024 entities => 4KB instead of 16KB
2020-11-28 12:12:17 +08:00
Andrew Lott
4336666420
Update Dev Server docs for Kcp Transport (#2470)
* Mention Custom UDP SG rule for Kcp Transport

Since Kcp Transport is now the default in Mirror, let's update the docs to reflect that the SG needs to have a UDP rule to allow network traffic to reach the server.

* Mention UDP Firewall rule for Kcp Transport

Since Kcp Transport is now the default in Mirror, let's update the docs to reflect that a UDP rule is necessary in order to allow network traffic to reach the server.
2020-11-28 12:11:52 +08:00
vis2k
3d5c942d85 fix: kcp2k V1.4. fixes a bug where KcpConnection message processing can now be stopped immediately when transport was disabled after scene change message; MirrorTransport uses turbo mode by default now 2020-11-27 18:28:10 +08:00
vis2k
cca5c12f4d remove unused import 2020-11-27 17:34:09 +08:00
vis2k
5e4a86e3aa perf: Kcp: use 'turbo mode' configuration in all examples(https://github.com/skywind3000/kcp/blob/master/README.en.md#protocol-configuration) 2020-11-27 17:09:59 +08:00
vis2k
cbcace8dfe
fix: NetworkScenePostProcess now stops editor for invalid sceneIds (#2468)
Better than launching with sceneId errors, which never works.
2020-11-27 15:55:49 +08:00
vis2k
b96d0d2284
fix: NetworkScenePostProcess gives proper error message if currently in prefab edit mode. (#2467)
Previously it would give 'a scene needs to be resaved', which is confusing.
2020-11-27 15:54:25 +08:00
vis2k
4ea25feee7 Syntax 2020-11-27 12:53:02 +08:00
MrGadget1024
01d5358145 Rephrased comment 2020-11-26 19:57:56 -05:00
MrGadget1024
ee24eae3f6 feat: NetworkServer.maxConnections is now public
Fixes #2448
2020-11-25 22:52:48 -05:00
MrGadget
fa9aa67cc6
feat: Updated Basic Example (#2461)
* Changed oldColor to underscore in hook in RandomColor

* WIP

* feat: Updated Basic Example
- PlayerUI is now separated from player object
- PlayerUI is event driven from the Player object
- PlayerUI is locally instantiated, instead of networked
- added border to players panel

* fixed code smells

* moved playersList to BasicNetManager

* fixed compile error and improved layout

* fixed tooltips

Co-authored-by: MrGadget1024 <chris@clevertech.net>
2020-11-25 22:39:31 -05:00
James Frowen
b14fa87f1a
docs: adding explanation for Compression for ScaleToUInt parameters 2020-11-25 23:41:48 +00:00
vis2k
31c3c2f924 Telepathy: Common.ReadMessageBlocking: log warning instead of logging OverflowException if size header is negative 2020-11-25 21:51:43 +08:00
vis2k
ef77c90447
Update README.md 2020-11-25 19:25:35 +08:00
James Frowen
ff6ced11aa
docs: fixing cref (#2463) 2020-11-24 21:25:54 +00:00
MrGadget1024
fb8c3c4736 fix: broken links to documentation 2020-11-23 10:59:11 -05:00
MrGadget1024
e0fb14feea Changed oldColor to underscore in hook in RandomColor 2020-11-22 21:49:01 -05:00
James Frowen
c84b317a7b
Calling Register from RegisterWriteFunc and adding comments (#2451)
Having near identical lines in these functions is confusing at first glace. Having RegisterWriteFunc call Register makes it more clear exactly what is going on
2020-11-23 10:35:16 +08:00
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