Commit Graph

3096 Commits

Author SHA1 Message Date
Paul Pacheco
724ebc00d8 Allow for sending message on unreliable channels (#98)
* Allow for sending message on unreliable channels

* Add channels to commands and rpcs

* Revert file formatting

* make channel id default parameter
2018-11-01 19:07:57 +01:00
Paul Pacheco
0a16b189c6 Use standard C# events instead of one callback (#100)
* Use standard C# events instead of one callback

* Fix tests

* Trigger new build

* Trigger new build

* Remove blank line
2018-11-01 10:12:26 +01:00
Paul Pacheco
9068803ec9 Fix #91 editor crash (#96)
When we try to generate a reader for a class that references itself,  we have infinite recursion and editor crash

This PR stops the infinite recursion and displays an error instead just like with writers
2018-10-26 09:47:17 +02:00
Paul Pacheco
eb40109a53 Modularize network time (#84)
* Modularize network time

* Renamed function for clarity

* Remove redundant class name

* Renamed method for clarity
2018-10-23 18:34:20 +02:00
Paul Pacheco
64cea34338 Fix typo 2018-10-23 11:20:34 -05:00
Paul Pacheco
39ad76cad1 Fix #75, determine the RPC target (#93)
* Fix issue #75, determining the command target

If you add the same networkbehavior twice to a gameobject,  only the commands in the first one work.

This can also happen if you have a base class,  you inherit it,  and you add more than one of the inherited classes to the same gameobject.

* Improve error message

* Fix issue #75 for all RPC methods

* Fix formatting consistency

* Fix build,  replace logDebug with Debug

* Use new NetworkBehaviours cache

* Use FindIndex instead than for loop

* No need for local variable

* use int instead of byte for simplicity

* component index are int now
2018-10-23 18:17:42 +02:00
Paul Pacheco
1795cf8c2c Use foreach instead of old style for (#95) 2018-10-23 16:44:32 +02:00
Paul Pacheco
a785f0d391 Ensure network behavior cache consistency (#94)
It was assumed that CacheBehaviours was called to set m_NetworkBehaviours

With this change, the dependency is no longer there,  the behaviours are simply cached the first time they are used
2018-10-23 16:21:54 +02:00
Paul Pacheco
f13dc5bf60 Fix build, there were still some logDebug around 2018-10-23 07:06:09 -05:00
vis2k
59f6b1c3f1
LogFilter simplified: Warning/Error are shown all the time, Debug messages depend on LogFilter.logDebug (#73)
* LogFilter.logError removed. Errors are now always logged.

* LogFilter.logWarning removed. Warnings are now always logged.

* LogFilter levels replaced with a simple 'logDebug' boolean. NetworkManager uses 'ShowDebugMessages' instead of LogLevel now.

* LogFilter.logDebug renamed to .Debug
2018-10-23 10:14:20 +02:00
Paul Pacheco
d5713ec218 Fix warning
Fix "SetDynamicAssetId object already has an assetId <xxxx>" that gets spammed in editor
2018-10-21 18:33:56 -05:00
Paul Pacheco
3816a69578 default channel should be reliable fragmented sequenced (#65) 2018-10-21 11:38:55 +02:00
vis2k
acc34e5fb3 Reverted InvalidDataException because it breaks Unity projects that use .net subset. 2018-10-20 15:44:28 +02:00
Paul Pacheco
8dd20b103c Keep consistent switch formatting 2018-10-18 08:54:27 -05:00
Paul Pacheco
a8891520c9 Simplify a few switches 2018-10-18 08:49:44 -05:00
Paul Pacheco
11a6d84ffa Use if for readability instead of switch with 2 cases 2018-10-18 08:43:31 -05:00
Paul Pacheco
c68be045fe Add commit message to description 2018-10-17 19:36:09 -05:00
Paul Pacheco
86b9eba27a Don't make a new build for .gitignore files 2018-10-17 19:28:36 -05:00
Paul Pacheco
bd45350892 Don't make a new release when we change docs 2018-10-17 19:27:43 -05:00
Paul Pacheco
35b27dbd03 Remove generated file 2018-10-17 19:25:26 -05:00
Paul Pacheco
9f1823e059 Change builds description 2018-10-17 19:18:50 -05:00
vis2k
103a3e254a Added comment 2018-10-17 22:09:50 +02:00
Paul Pacheco
f10e1c3c7c Simplify internal message processing (#83)
* Simplify internal message processing

* improve explanation
2018-10-17 22:08:18 +02:00
vis2k
4860e365fb
NetworkHash128 replaced with Guid, with the NetworkIdentity serializa… (#81)
* NetworkHash128 replaced with Guid, with the NetworkIdentity serialization trick (by storing it as string, but still sending it as Guid over the network, hence 16 instead of 64 bytes bandwidth)

* Remove test message again

* Avoid 'new Guid("")'
2018-10-17 09:46:24 +02:00
Paul Pacheco
470afff4e3 Throw an appropriate exception (#82) 2018-10-17 09:28:11 +02:00
Paul Pacheco
a49000a39f Simplify conditional 2018-10-16 23:00:22 -05:00
Paul Pacheco
9f51c51330 Ignore reports from MFractor 2018-10-16 22:34:34 -05:00
Paul Pacheco
118e961847 Alpha should not change 2018-10-16 22:25:14 -05:00
Paul Pacheco
27e8d381ab Connections cannot be null, remove redundant check 2018-10-16 11:36:30 -05:00
Paul Pacheco
37445979da Replace NetworkInstanceId with uint (#70)
* Replace NetworkInstanceId with uint

* Rename variable for clarity

* rename variable for clarity

* Assign 0 instead of new uint()

* Align variables

* Rename variable for clarity

* Renamed variable for clarity

* Fix opcode issue with uint netIdField
2018-10-16 15:30:46 +02:00
vis2k
f2d4fac170 NetworkIdentity.observers returns m_Observers directly without creating a new ReadOnlyCollection every time. This was a performance nightmare because we looped through observers all the time in NetworkServer.SendToObservers/SendToReady via observers[i], observers.Count, etc. Furthermore we don't even worry about ReadOnlyCollections in any other place. The user could clear and break all other collections all the time too. 2018-10-16 14:08:14 +02:00
vis2k
a754eaac4f NetworkIdentity: replaced m_Observers and m_ObserverConnections lists with m_Observers Dictionary. 2018-10-16 13:15:08 +02:00
vis2k
998029fa6e
Update README.md 2018-10-16 10:48:06 +02:00
vis2k
f4f6bc1b16 Removed unused NetworkScene.DumpAllClientObjects function 2018-10-15 20:43:49 +02:00
vis2k
84ce1c5c82 Removed unused NetworkIdentity.AddNetworkId function 2018-10-15 20:39:25 +02:00
vis2k
b2cc89e3eb Removed unused NetworkMessage.MaxMessageSize 2018-10-15 20:31:24 +02:00
vis2k
137b2a153d Removed unused message types 2018-10-15 20:29:49 +02:00
Paul Pacheco
855e724304 Remove redundant null checks. (#74)
* Remove redundant null checks.

Enforce that connections are added in AddConnection and removed with RemoveConnection.
Since connection cannot be null anymore,  remove redundant null checks.

* Add connection after we added connection id
2018-10-15 18:21:30 +02:00
vis2k
e572417fbb NetworkServer.connections list replaced with a Dictionary to remove all this 'fill list with null values until connectionId' magic 2018-10-15 15:53:27 +02:00
vis2k
4c86d8b457 NetworkManagerHUDEditor removed because there is no value in it. NetworkManagerHUD is used for the first 5 minutes in development until people create their own NetworkManager / UI. It doesn't need an Editor script that does all kinds of magic. 2018-10-15 14:22:47 +02:00
vis2k
0123f1dd6f ForceSceneId uses uint instead of int to avoid unnecessary casting 2018-10-14 16:34:03 +02:00
vis2k
7569357f8e Fixed grammar 2018-10-14 16:33:24 +02:00
Paul Pacheco
2d208bcae0 use uint, no need for a special NetworkSceneId (#62) 2018-10-14 16:31:50 +02:00
vis2k
5449c94f21 NetworkScenePostProcess: removed unnecessary 'UnityEditor.' syntax 2018-10-14 16:28:32 +02:00
vis2k
c16564c8fe NetworkHash128: added comment that replacing it would break everything 2018-10-14 16:28:32 +02:00
Paul Pacheco
fc4803df3e Merge branch 'mirror' of github.com:vis2k/Mirror into mirror 2018-10-14 08:28:51 -05:00
Paul Pacheco
0bebc8ce05 Don't assign fail twice 2018-10-14 08:28:41 -05:00
vis2k
80af34ab7a NetworkManager.Awake/LateUpdate/OnApplicationQuit/OnValidate/OnDestroy are now protected so that inheriting classes that also need those functions can call base.Awake() etc. in them to guarantee proper functionality. Fixes #69 2018-10-14 13:04:53 +02:00
Paul Pacheco
162668cce4 reuse packing algorithm for 32 and 64 bits (#68) 2018-10-13 19:58:05 +02:00
Paul Pacheco
f06d3b5881 Remove double empty lines 2018-10-13 12:37:57 -05:00