Commit Graph

3900 Commits

Author SHA1 Message Date
vis2k
7a73bf4d01 Use actual types 2019-01-15 23:49:45 +01:00
vis2k
f57b58a83e Sort modifiers 2019-01-15 23:33:28 +01:00
vis2k
7161126e67 GetReadFunc: use actual types. less magic. 2019-01-15 23:32:20 +01:00
vis2k
2def424a8a GetWriteFunc: use actual types so it's more obvious 2019-01-15 23:31:14 +01:00
vis2k
f816c8f8e0 Sort modifieds 2019-01-15 23:29:41 +01:00
vis2k
a5c0d3fafb Add a comment 2019-01-15 22:09:48 +01:00
Robin Rolf
c4f8b4eb8c Reduce garbage in IsDirty (#290)
* Reduce garbage & Improve performance in NetworkBehaviour.IsDirty

* Update NetworkBehaviour.cs

* Update NetworkBehaviour.cs
2019-01-15 22:07:58 +01:00
vis2k
745233ca99 NetworkAnimator uses parameters array instead of 6 param values 2019-01-15 22:04:31 +01:00
vis2k
3fe93cbe44
Deprecate FindLocalObject. no need to have it in clientscene and networkserver when there is NetworkIdentity.spawned already in one place. (#295) 2019-01-15 21:43:55 +01:00
Ed
c02c852be5 Issue #280 fix (#281) 2019-01-15 21:37:47 +01:00
vis2k
b4fa6f262c NetworkServer.DestroyPlayerForConnection uses NetworkIdentity.spawned instead of FindLocalObject 2019-01-15 16:52:36 +01:00
vis2k
9c672647a2 NetworkConnection.Dispose uses NetworkIdentity.spawned instead of FindLocalObject. Improves performance by avoiding one .gameObject call and one .GetComponent call. 2019-01-15 16:45:48 +01:00
vis2k
b9dca9c5aa NetworkConnection: use actual type instead of var so it's more obvious 2019-01-15 16:44:00 +01:00
vis2k
e1647d766d NetworkReader.ReadTransform uses NetworkIdentity.spawned instead of FindLocalObject 2019-01-15 16:43:14 +01:00
vis2k
434b778aa9 Weaver: removed findLocalObjectReference because it's not needed anymore. 2019-01-15 16:41:03 +01:00
vis2k
c96f44f73f Add a comment 2019-01-15 16:39:09 +01:00
vis2k
695d56af5f replacedEvents and replacementEvents combined into one replaceEvents dictionary. simplifies code and faster lookups. 2019-01-15 16:29:17 +01:00
vis2k
f10ca145b6 replacedMethods and replacementMethods combined into one replaceMethods Dictionary. Simplifies code and significantly speeds up weave time. uMMORPG script reload time in editor before: 7.6s, after: 5.75s (25% improvement). 2019-01-15 16:25:27 +01:00
vis2k
10fb2634c9 Use actual type 2019-01-15 16:06:27 +01:00
vis2k
29d71e6d43 Weaver: removed replacementMethodNames hashset which was only used for caching. Will be able to use a Dictionary<string, method> later. 2019-01-15 16:04:45 +01:00
vis2k
b13ba85f76 Use actual type so it's more obvious 2019-01-15 15:58:42 +01:00
vis2k
d016dc84f8 SyncVarProcessor.ProcessSyncVar: renamed netFieldId to netIdField because that's what it is 2019-01-15 15:57:30 +01:00
vis2k
940808567e Weaver: removed unused netIdFields list 2019-01-15 15:55:40 +01:00
vis2k
57b848cc34 SyncVarProcessor.syncVarNetIds converted to Dictionary for easier usage and to avoid the netIdFieldCounters 2019-01-15 15:54:45 +01:00
vis2k
70048fc380 Use actual types instead of var because it's not obvious 2019-01-15 15:44:20 +01:00
vis2k
83e32dfec7 Add comment 2019-01-15 15:41:20 +01:00
vis2k
a5e3ec35c1 ErrorMessage reuses ByteMessage 2019-01-15 15:39:19 +01:00
vis2k
b2fa2eebed Add ByteMessage 2019-01-15 15:38:30 +01:00
vis2k
2cc91f4b05 Syntax 2019-01-15 15:37:16 +01:00
vis2k
b75d215b2f Syntax 2019-01-15 15:37:03 +01:00
vis2k
80860c40b7 RemoteCallMessage that is reused by Command/Rpc/SyncEvent messages 2019-01-15 15:36:47 +01:00
vis2k
d94b1a2d89 AddPlayerMessage inherits from BytesMessage 2019-01-15 15:32:42 +01:00
vis2k
3fce3ae675 Syntax 2019-01-15 15:30:27 +01:00
vis2k
93c65dcb78 Telepathy updated to latest version (afbdb31) 2019-01-15 14:24:25 +01:00
vis2k
aedf976d4f
NetworkAnimator moved to components. Replace messages with Cmds/Rpcs (#294) 2019-01-15 13:11:36 +01:00
vis2k
853083a132 Forgot to remove TransformMessage 2019-01-15 13:10:29 +01:00
vis2k
ffced61058 NetworkTransform moved into Components folder so it can be weaved. Removed unnecessary messages. 2019-01-15 12:24:29 +01:00
vis2k
0343e829b4 Movement example: speed now based on frame rate 2019-01-15 12:20:50 +01:00
vis2k
8ff2ba74b3 Forgot to enable local player authority in movement example 2019-01-15 12:17:50 +01:00
vis2k
9ecbf40a95 Fix sceneId assignment showing warning for 0 scene objects. 2019-01-15 11:26:23 +01:00
vis2k
60c9cbd99a Fix sceneId assignment if scene not in build settings 2019-01-15 11:20:37 +01:00
vis2k
5b187fe0df Asset Store Examples added 2019-01-15 11:17:58 +01:00
Ed
39da48a740 Changed syncInterval value is not saved - fix (#293)
syncInterval resets back to 0.1f (Value that is set in the NetworkBehaviour class) if changed using the editor. The issue is present when changing both, scene objects as well as prefabs.
2019-01-15 10:07:33 +01:00
vis2k
43baeff444
[SyncVar] GameObjects are now 100% based on their underlying netId field. Fixes #149 (#292)
* fix

* Test file

* Syntax

* NetworkBehaviour.Set/GetSyncVarNetworkIdentity functions added

* add definitions to weaver

* Use them

* add NetworkIdentity cases everywhere else too

* ProcessInstructionSetter/GetterField replaces for OnDeserialize too, so that [SyncVar]GameObjects/NetworkIdentities work with custom On(De)Serialize as well

* Custom on(De)serialize test

* Weaver.ProcessSiteMethod doesn't ignore OnDeserialize anymore either

* [SyncVar] GameObject/NetworkIdentity hooks work again

* testscene

* public gameobject field test

* pass gameobject field to getsyncvargameobject etc.

* GetSyncVarGameObject/NetworkIdentity always returns the field if server, looks up netId otherwise; functions aren't static anymore.

* Use original OnSerialize generation again, so it simply calls writer.Write(go) on server, which sends the netId internally anyway.

* fixed hooks not using 'this.' because getter function isn't static anymore.

* add scene referencing test

* remove tests
2019-01-14 23:39:29 +01:00
Paul Pacheco
3c0ff33c94 Additive sceneloading sceneid fix (#175)
* Fix additive scene loading causing duplicate sceneIds by using an offset per scene.

* TEST: moved SpawnableObjects to NetworkIdentity. OnDisable adds it to the dict. SpawnObject removes it.

* Log if we don't find the spawn scene object

* Fix compilation issues

* Make PrepareToSpawnSceneObjects public
2019-01-14 22:00:13 +01:00
Paul Pacheco
1785039601 2018.3 master prefab changes etc. (#283)
* 2018.3 warning fix. The old way to check if something is a porefab is depricated so needs replacing with new code.

* 2018.3 warning fix. The old way to check if something is a porefab is depricated so needs replacing with new code.

* Bug fix for 2018.3+ where NetworkIdentity GUIDs are set to blank in prefab files and shown as blank in the editor.

* Another 2018.3 warning fix. The old way to check if something is a porefab is depricated so needs replacing with new code.

* Make sure it works in 2017.4

* Change not needed

* Revert "Change not needed"

This reverts commit 13747739df.

* Mark LLAPI as obsolete

* Don't use obsolete api

* Suppress obsolete LLAPI warning for now

* Remove warning

* Make conditional a little clearer
2019-01-14 11:24:30 +01:00
Hertzole
012e1a1885 Fixed scene reload. 2019-01-13 19:19:47 -06:00
vis2k
266f262665 WeaverLists.replacedFields and replacementProperties merged into replacementSetterProperties dict for easier code and more obvious naming. 2019-01-13 21:21:11 +01:00
vis2k
4fa584e72a Weaver.ProcessInstructionField renamed to ProcessInstructionSetterField 2019-01-13 21:19:19 +01:00
Paul Pacheco
524c183294 Source based instead of dll (#277)
* Ignore unity generated files and folders

* Import mirror as source

* Source based does not build dlls anymore

* nuget packages not used in source based

* Produce an archive with the release

* generate archive with Mirror folder to avoid accidents

* Deploy to github releases

* Document new installation procedures
2019-01-13 21:08:54 +01:00