Commit Graph

4489 Commits

Author SHA1 Message Date
MrGadget1024
990bda659e Updated Basic Example 2021-11-29 07:51:32 -05:00
vis2k
c1ae882d76 syntax 2021-11-28 17:25:26 +01:00
vis2k
7c8d2bd944 feature: kcp2k: calculated max message sizes are now shown in Inspector (read only) for convenience 2021-11-28 17:10:08 +01:00
vis2k
0a1bfade25 fix: kcp2k V1.13
- uncorks max message size from 144 KB to as much as we want based on
  receive window size.
    fixes https://github.com/vis2k/kcp2k/issues/22
    fixes https://github.com/skywind3000/kcp/pull/291
- feature: OnData now includes channel it was received on
- fixes #2989
2021-11-28 16:58:01 +01:00
MrGadget
52111d1cb8
feat: Support more nullable types (#3005)
* feat: Support more nullable types
- NetworkWriter was also slightly rearraged to match NetworkReader

* fixed code smells

* fixed WriteVector4Nullable

* Got some of them working

* Couple more

* Couple more

* Added the rest

* reverted accidental change
2021-11-27 10:31:16 +01:00
MrGadget1024
8b363d11e9 formatting 2021-11-26 10:46:30 -05:00
MrGadget1024
6a85da7667 Removed obsolete PersistNetworkManagerToOfflineScene
- This was added exclusively for BigBox and they've sold to FB and are version locked now.
2021-11-26 10:43:38 -05:00
MrGadget1024
296236ff0c syntax & formatting 2021-11-25 11:50:49 -05:00
MrGadget1024
c8d97b9063 added ServerCallback 2021-11-25 04:04:14 -05:00
MrGadget1024
f1d26e7b73 Updated Rigidbody example 2021-11-25 04:02:57 -05:00
JesusLuvsYooh
c939903ff8
Update NetworkLerpRigidbody.cs (#3004)
Changed targetPosition to target.position
2021-11-25 10:00:45 +01:00
MrGadget1024
5a3499087e Removed recursion 2021-11-23 15:33:11 -05:00
MrGadget1024
76b456565e breaking: Removed obsolete ConfigureServerFrameRate
- Use ConfigureHeadlessFrameRate instead.
2021-11-23 14:57:59 -05:00
MrGadget1024
a47e826802 indention 2021-11-23 14:51:01 -05:00
MrGadget
f44d8bf8a7
feat: Device Authenticator (#3003)
* feat: Device Authenticator
Uses `SystemInfo.deviceUniqueIdentifier` for authentication.
2021-11-23 11:30:34 -05:00
MrGadget1024
1853f352ef Added HelpURL to Basic Authenticator 2021-11-23 03:12:22 -05:00
MrGadget1024
ce9931da01 set visRange to max value of slider 2021-11-22 01:53:13 -05:00
MrGadget1024
e89a27edb3 syntax 2021-11-21 23:08:08 -05:00
MrGadget1024
e34941267b Added ClientConnect(Uri uri) to KcpTransport 2021-11-17 13:20:09 -05:00
MrGadget1024
a6f038f717 Changed NTv2 Transport settings in examples 2021-11-17 13:19:40 -05:00
MrGadget
749c4b7e75
feat: Added Additive Levels example (#2994)
* feat: Added Additive Levels example
Demonstrates Additive scenes with custom transition, portals, respawning players

* Portal waitForSeconds calculated

* added ReadMe
2021-11-16 08:25:06 +01:00
MrGadget1024
2290b2f059 AdditiveScenes example: updated namespace 2021-11-15 12:18:44 -05:00
MrGadget
3092c005ae
fix: Set previousLocalPlayer null in NI.Reset (#2993)
Calling RemovePlayerForConnection followed by AddPlayerForConnection with the same player object fails to call OnStartLocalPlayer again because previousLocalPlayer was't properly reset to null.
2021-11-15 07:23:06 +01:00
MrGadget
2710a95a0c
fix: NT checks NetworkClient.ready (#2992)
* fix: NT checks NetworkClient.ready
NT should not be calling Cmd's when client isn't ready.

* Update Assets/Mirror/Components/NetworkTransform2k/NetworkTransformBase.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-11-15 07:13:14 +01:00
MrGadget1024
f18ca61242 added comment 2021-11-12 13:53:01 -05:00
MrGadget1024
d1fc2aaa76 Revert "moved setting networkAddress up for readablity"
This reverts commit 06f753d9c0.
2021-11-12 13:49:40 -05:00
MrGadget1024
06f753d9c0 moved setting networkAddress up for readablity 2021-11-12 13:37:29 -05:00
Justin Nolan
b2ce3421e5
fix: networkmanager undo and move some validation into Reset() (#2990)
* Fix network manager undo and move some validation code into Reset()

* Add comments
2021-11-11 07:47:33 +01:00
MrGadget1024
d6d0ec88d0 fix: SendChangeOwnerMessage robustness
- Check netid == 0
- Check conn is observing the identity

Fixes #2988
2021-11-09 09:10:05 -05:00
MrGadget1024
b854a8a6f1 summary comment 2021-11-09 09:04:50 -05:00
Erik Nilson
af28f27427
Pass connection when spawning scene objects so that authority is not lost (#2987)
* Pass connection when spawning scene objects so that authority is not lost

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-11-05 01:35:01 +08:00
MrGadget
7c389fefd2
feat: Add rotation to NTv2 teleport (#2986)
* feat: Add rotation to NTv2 teleport

* Updated script template

* Forgot Cmd/Rpc can't do overloads...fixed

* overload OnTeleport

* updated comments
2021-11-03 12:11:36 +08:00
MrGadget1024
6067308ff6 Commented out noisy Debug.Logs 2021-10-31 17:19:23 -04:00
MrGadget
803e804d87
fix: Added HashSet for disconnecting connections (#2981)
* fix: Added HashSet for disconnecting connections

* fixed code smells
2021-10-31 10:12:18 -04:00
MrGadget1024
f83ed02a83 fixed typos in Network Transform Script Template 2021-10-30 12:59:39 -04:00
MrGadget1024
429e80dde3 feat: Added Network Transform Script Template 2021-10-30 12:33:19 -04:00
MrGadget1024
74f7cb168f fix: Network Room Manager Update
- Deprecated Network Connection param from client overrides
- Use NetworkClient.connection instead
- Script Template updated
2021-10-30 05:12:37 -04:00
MrGadget1024
c6e23590c5 updated deprecation date 2021-10-30 04:36:12 -04:00
MrGadget1024
f1bfadcc6e updated deprecation dates 2021-10-30 04:34:39 -04:00
MrGadget1024
5c7fced099 Indention 2021-10-30 04:25:25 -04:00
MrGadget1024
52d1445091 Made Update internal in Int Mgmt Components
- also standardized on using [ServerCallback]
2021-10-30 02:47:26 -04:00
MrGadget
895279ee79
fix: Check NetworkServer.active in DestroyObject (#2982)
* fix: Check NetworkServer.active in DestroyObject
- Fixes #2977

* Update Assets/Mirror/Runtime/NetworkServer.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-10-30 13:05:08 +08:00
vis2k
efab1424a0
feature: SyncVar<T> (#2951)
* feature: SyncVar<T>

* remove unused import

* SyncVarNetworkBehaviour<T> to support explicit hooks of <T> and to prepare for Weaver [SyncVar] internal replacement

* only call hook on client for compatibility with original [SyncVar]

* show SyncVar<T> label to make it obvious what type it is. useful to distinguish weaver replacements later
2021-10-30 12:04:28 +08:00
MrGadget1024
afabdf2c7d feat: Added Custom Interest Management script template 2021-10-29 23:18:45 -04:00
MrGadget1024
f73cc91af1 fix: Replaced obsolete warnings on NetworkVisibility components
- also removed a couple unused usings
- changed DistanceInterestManagementCustomRange for future unit test (required by CreateNetworked)
2021-10-29 21:33:57 -04:00
MrGadget
1a43b79fc5
feat: Team Interest Management (#2979)
* feat: Team Interest Management

* meta file

* Added forceShown

* Code Smells

* code smell

* simplified
2021-10-29 00:33:32 -04:00
MrGadget1024
cf76d0374e made dirtyMatches readonly (code smell) 2021-10-28 23:50:00 -04:00
MrGadget1024
1d4631a221 Move NetworkMatch to MatchInterestMgmt folder 2021-10-28 15:23:46 -04:00
MrGadget1024
a72d24ff73 fix: NetworkBehaviour.OnStopClient Called Twice
Fixes #2976
2021-10-27 11:46:08 -04:00
Justin Nolan
d4c2bb9136
Stop NetworkAuthenticator from assigning itself to the NetworkManager on change and fix the undo (#2973)
* Stop NetworkAuthenticator from adding itself on change and fix the undo

* Update NetworkAuthenticator.cs

Co-authored-by: vis2k <info@noobtuts.com>
2021-10-22 10:11:02 +08:00
MrGadget
9184d56eec
Fix ReplacePlayerForConn isLocalPlayer (#2969)
- Moved `ChangeOwner` down below `OnChangeOwner`
- Added `isLocalPlayer` bool to `ChangeOwnerMessage`
- Added handling for `isLocalPlayer to `ChangeOwner`
- Added call to `SendChangeOwnerMessage` to `ReplacePlayerForConnection` for when `keepAuthority` is true
- Fixes #2968
2021-10-21 10:43:12 +08:00
vis2k
282c843ad1 MIRROR_53_0_OR_NEWER 2021-10-20 12:11:10 +08:00
MrGadget1024
64db341662 Revert "Call OnClientSceneChanged for host client"
This reverts commit 6f5c651493.
2021-10-19 21:54:28 -04:00
MrGadget1024
6f5c651493 Call OnClientSceneChanged for host client 2021-10-16 21:21:00 -04:00
MrGadget1024
66b50c97c1 Updates to PlayerController in examples 2021-10-16 14:05:13 -04:00
MrGadget1024
53e526c08e Updates to PlayerController in examples 2021-10-16 14:03:37 -04:00
MrGadget1024
96105b8590 simplified RegisterHandler<ChangeOwnerMessage> 2021-10-15 08:04:50 -04:00
MrGadget1024
b9ad577971 Basic Example: Syntax 2021-10-09 09:53:05 -04:00
MrGadget1024
2dca328fff Basic Example: Syntax 2021-10-09 09:32:10 -04:00
MrGadget1024
c7a3310b20 Basic example: syntax 2021-10-09 08:20:35 -04:00
vis2k
9dbd45c9d8 Test simplified 2021-10-09 14:58:24 +08:00
vis2k
512f60a3ef comments 2021-10-09 14:56:29 +08:00
vis2k
91f2c19c2d Test improved 2021-10-09 14:54:34 +08:00
vis2k
304f2b6f53 Test: SyncVar Hook only called on client 2021-10-09 14:51:49 +08:00
vis2k
d54ecd3410 Tests: remove old hacky test with manual serialization magic 2021-10-09 14:19:24 +08:00
vis2k
b4d7b355fc Weaver: improve 'no default constructor' error message 2021-10-08 10:58:34 +08:00
MrGadget
e6e910916e
breaking: componentIndex changed to byte in CommandMessage and RpcMessage (#2963) 2021-10-07 19:46:24 +08:00
MrGadget1024
7bc7b31df4 Minor changes to Room example 2021-10-02 13:21:05 -04:00
hyouuu
b0311a5aa3
Add optional writer & reader for color (#2956)
* Add optional writer for color

* Merge conflicts

* typo

* Add optional color reader
2021-10-02 18:43:40 +08:00
MrGadget
532ca654dd
fix: Prevent StopClient from running twice (#2953)
* fix: Prevent StopClient from running twice
- Fixes #2940

* Added comments

* Fixed stupid mistake

* moved check to OnClientDisconnect
Still need to fire that virtual so it can be overridden.

* Added check to StopClient itself too
2021-10-02 11:11:26 +08:00
MrGadget1024
5d225bd407 NetworkMatch: Added missing attributes 2021-10-01 06:15:00 -04:00
MrGadget1024
3afd54e182 Minor updates to AdditiveScenes example 2021-09-29 11:28:56 -04:00
vis2k
1f1d13ed42 syntax 2021-09-28 16:19:55 +08:00
vis2k
c744d23797 Weaver: NetworkBehaviourProcessor: remove unnecessary parameters 2021-09-28 16:17:24 +08:00
vis2k
22dbcfb9f0 Weaver: SyncObjectInitializer: merge functions 2021-09-28 15:58:26 +08:00
vis2k
74b9c8034e Weaver: NetworkBehaviourProcessor.InjectIntoConstructor split into cctor & ctor functions 2021-09-28 15:53:16 +08:00
vis2k
d7516a8c95 Weaver: GenerateConstants renamed to InjectIntoConstructor 2021-09-28 15:51:53 +08:00
vis2k
52b8a4a756 Weaver: add comments 2021-09-28 15:51:48 +08:00
vis2k
280756e0a2 Weaver: NetworkBehaviourProcessor.GenerateConstants: reuse RemoveFinalRetInstruction 2021-09-28 15:51:33 +08:00
vis2k
073c87e8d1 Weaver: NetworkBehaviourProcessor.GenerateConstants: RemoveFinalRetInstruction helper function 2021-09-28 15:24:15 +08:00
vis2k
f83e4f4de6 Weaver: add comment 2021-09-28 15:15:51 +08:00
vis2k
332c8a1bf3
breaking: SyncObject as class instead of interface (#2947)
* breaking: SyncObject as class instead of interface

* classes inheriting from SyncObject don't all need to implement obsoleted Flush() anymore

* IsRecording default moved to base class

* OnDirty default moved to base class

* comment

* IsRecording simplified now that it's a class

* OnDirty simplified now that it's a class
2021-09-28 10:16:01 +08:00
vis2k
8b5534f51f fix: #2912 ILPostProcessor isn't used before 2020.3 because Unity bugs 2021-09-27 18:12:26 +08:00
vis2k
0d96636389 SyncDictTest: CurlyBracesCtor 2021-09-27 15:43:04 +08:00
vis2k
8233cfd368 SyncSetTest: CurlyBracesCtor 2021-09-27 15:41:37 +08:00
vis2k
81b0d89dcd SyncListTest: CurlyBracesCtor 2021-09-27 15:40:29 +08:00
vis2k
0e0e4dfe47 fix: SyncVarGameObject/NetworkIdentityEqual not being accessible by weaved NetworkBehaviour components from outside assemblies 2021-09-25 21:09:40 +08:00
vis2k
ae218c5625 revert rename. add comment for explanation this time. 2021-09-25 16:42:27 +08:00
vis2k
9aa83539bb fix: only IEnumerable SyncObjects are drawn as SyncObject Collections in Inspector now.
previously SyncVar<T> SyncObject would've been drawn as a list too.
2021-09-25 16:24:45 +08:00
vis2k
12279ef0af grammar is hard 2021-09-25 16:21:34 +08:00
vis2k
343971ad53 rename to SyncObjectCollectionDrawer 2021-09-25 16:20:17 +08:00
vis2k
e7f04d620d typo 2021-09-25 16:17:49 +08:00
vis2k
d9bdc954cf EnumerableSyncObjectDrawer: header renamed from "Sync Objects" to "Sync Collections" to be more obvious 2021-09-25 16:17:07 +08:00
vis2k
8729481366 SyncObjectDrawer renamed to EnumerableSyncObjectDrawer because it's only meant for enumerable SyncObjects 2021-09-25 16:16:19 +08:00
vis2k
8298a2556b breaking: InspectorHelper.IsVisibleSyncObject renamed to IsVisibleInInspector. universal. 2021-09-25 16:11:45 +08:00
vis2k
323b357a94 breaking: InspectorHelper.IsSyncObject made universal as ImplementsInterface<T> 2021-09-25 16:08:34 +08:00
vis2k
ab78c858da NetworkBheaviourInspector: SyncObjectDrawer class moved into separate file 2021-09-25 15:58:30 +08:00
vis2k
c8070a3cac more renaming 2021-09-25 15:56:19 +08:00
vis2k
9b6862fcbe NetworkBehaviourInspector: correct field/method naming 2021-09-25 15:49:12 +08:00
vis2k
3d8ba67d32 xml comments not needed in editor inspector 2021-09-25 15:46:35 +08:00
MrGadget
aa41c5f5e0
Make NetworkConnection.observing public (#2942)
- NetworkIdentity.observers is already public
2021-09-25 11:27:25 +08:00
vis2k
7e546cf799
fix: #2928 - Weaver now recommends 'readonly' keywords for SyncObjects (#2941)
* fix: #2928 - Weaver now recommends 'readonly' keywords for SyncObjects. prepares for SyncField<T> as well.

* fix weaver tests
2021-09-25 11:27:03 +08:00
MrGadget1024
51cf44cde7 Simplified interpolations 2021-09-24 07:21:46 -04:00
MrGadget1024
23f1b2b0a5 Remove unnecesary pragmas 2021-09-24 07:21:02 -04:00
MrGadget
60692f0373
Force Network Manager to scene root if DDOL (#2936) 2021-09-24 12:52:53 +08:00
vis2k
2d2710f60e Weaver: SyncVarProcessor renamed to SyncVarAttributeProcessor 2021-09-24 11:03:51 +08:00
vis2k
a0c3ef1c2c SyncVarTests renamed to SyncVarAttributeTests 2021-09-24 10:57:43 +08:00
MrGadget1024
83c92ce9bf Updated Pong Example
- Applied BallPhysics material to Ball
- Turned off Sync / Interp Rotation on Ball and Racket
2021-09-23 14:03:39 -04:00
MrGadget1024
f1cf841bea Added NI to PlayArea in Game scene of MultipleAdditiveScenes example 2021-09-21 06:29:12 -04:00
vis2k
ad391f2b5f breaking: NetworkBehaviour.SyncVar/GameObject/NetworkIdentity/NetworkBehaviourEqual functions made internal.
-> avoid tests exposed workarounds
-> prepares for SyncField<T>
2021-09-21 16:50:14 +08:00
vis2k
6a1f355a63 Tests: SyncVarNetworkIdentityEqual exposing simplified now that it's static 2021-09-21 16:41:02 +08:00
vis2k
d51fd23175 Weaver: SyncVarprocessor.GenerateSyncVarSetter simplified again now that all equals functions are static 2021-09-21 16:22:26 +08:00
vis2k
4cbf575a2d Weaver: NetworkBehaviour.SyncVarEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:26 +08:00
vis2k
6ff39bc0a0 Weaver: NetworkBehaviour.SyncVarGameObjectEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:21 +08:00
vis2k
e18ecf8a01 Weaver: NetworkBehaviour.SyncVarNetworkBehaviourEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:16 +08:00
vis2k
cbf9987d1a Weaver: NetworkBehaviour.SyncVarNetworkIdentityEqual made static (cleaner, reusable from the outside for SyncField<T> later) 2021-09-21 16:22:10 +08:00
vis2k
fd70b2a6ad Weaver: SyncVarProcessor.GenerateSyncVarSetter: Ldarg_0, Ldarg_1 moved into if branches so that methods like SyncVarNetworkIdentityEqual can be made static
(static functions can't have 'this' as first parameter on stack)
2021-09-21 16:22:01 +08:00
vis2k
74c0f271c9 NetworkBehaviour.HasSyncObjects: internal is enough 2021-09-21 11:30:41 +08:00
vis2k
f1b8aa4fc2 feature: NetworkBehaviour: HasSyncObjects for NetworkBehaviourInspector to avoid Reflection 2021-09-21 11:28:02 +08:00
vis2k
7c28f06c8f NetworkBehaviourInspector: remove unused syncVarNames 2021-09-21 11:22:37 +08:00
vis2k
8c0bd9dca2 syntax & comments cleanup 2021-09-21 11:20:44 +08:00
MrGadget1024
7aebf4cb5a syntax 2021-09-20 13:19:53 -04:00
MrGadget
a38800b443
Refactor match int mgmt (#2935)
* fix: Eliminate potential NRE's in MatchInterestMgmt
- Scene objects with no NetworkMatch component
- Key not found in lastObjectMatch Dictionary

* Added comment, combined if's

* Added comments

* refactor Match Int Mgmt

* removed unused parameter

* removed unused parameter
2021-09-20 12:47:08 -04:00
vis2k
d9d84b6bcc explain SyncVar hook guard 2021-09-20 23:57:25 +08:00
MrGadget
f88190b756
fix: Eliminate potential errors in MatchInterestMgmt (#2934)
* fix: Eliminate potential NRE's in MatchInterestMgmt
- Scene objects with no NetworkMatch component
- Key not found in lastObjectMatch Dictionary

* Added comment, combined if's

* Added comments
2021-09-20 11:56:26 -04:00
vis2k
e0da23e45c add comment 2021-09-20 21:16:06 +08:00
MrGadget
8555048548
feat: Implemented ChangeOwnerMessage (#2924)
* Implemented ChangeOwnerMessage
- Separates ownership change from Spawn message
- NetworkIdentityTests updated

* commented log
2021-09-20 20:43:10 +08:00
MrGadget1024
c8bea97491 String interpolation in SyncVarAccessReplacer 2021-09-20 08:18:32 -04:00
MrGadget1024
4c60de6680 String interpolation in SyncVarAccessReplacer 2021-09-20 08:15:46 -04:00
MrGadget
9cab21921f
String interpolation (#2930)
* Use String Interpolation

* Update Assets/Mirror/Editor/Weaver/EntryPointILPostProcessor/ILPostProcessorFromFile.cs

* Proper case in comments

* Add a constructor overload for creating a SyncDictionary from an IDictionary (#2933)

* Add a constructor overload for creating SyncDictionary from Dictionary

* Use IDictionary and directly use the passed in value

* Use passed in value directly

* Nope: SyncDictionary should specifically use a Dictionary under the hood

Reread the docs

* comment

* syntax

* Weaver: PropertySiteProcessor renamed to SyncVarAccessReplacer and updated comments/syntax to make it easier to understand

* Weaver: WeaverLists renamed to SyncVarAccessLists because that's what it's for

* comment

* Weaver: GetSyncVarStart simplified

* comment

* fix: Obsolete SyncObject Flush method (#2931)

* fix: Obsolete SyncObject Flush method

* fixed test

Co-authored-by: vis2k <info@noobtuts.com>
Co-authored-by: Gabriel Elkind <pixelpax@users.noreply.github.com>
2021-09-20 08:07:07 -04:00
MrGadget
185a6c3815
fix: Obsolete SyncObject Flush method (#2931)
* fix: Obsolete SyncObject Flush method

* fixed test
2021-09-20 19:40:46 +08:00
vis2k
1afed306af comment 2021-09-20 19:19:20 +08:00
vis2k
9f4cf44217 Weaver: GetSyncVarStart simplified 2021-09-20 19:17:08 +08:00
vis2k
e755c2ad9a comment 2021-09-20 19:12:08 +08:00
vis2k
37af48b83e Weaver: WeaverLists renamed to SyncVarAccessLists because that's what it's for 2021-09-20 19:11:20 +08:00
vis2k
3dbab83615 Weaver: PropertySiteProcessor renamed to SyncVarAccessReplacer and updated comments/syntax to make it easier to understand 2021-09-20 19:07:39 +08:00
vis2k
c0db7fce38 syntax 2021-09-20 18:53:12 +08:00
vis2k
411a531eda comment 2021-09-20 18:51:55 +08:00
Gabriel Elkind
052cf6c183
Add a constructor overload for creating a SyncDictionary from an IDictionary (#2933)
* Add a constructor overload for creating SyncDictionary from Dictionary

* Use IDictionary and directly use the passed in value

* Use passed in value directly

* Nope: SyncDictionary should specifically use a Dictionary under the hood

Reread the docs
2021-09-20 11:42:34 +08:00
MrGadget1024
c120623d7d Proper case in comments 2021-09-19 15:15:16 -04:00
vis2k
af0a67d4f8 comment 2021-09-19 20:12:31 +08:00
vis2k
a848b8bb7c feature: Tanks demo health bars to test [SyncVar]s 2021-09-19 19:51:20 +08:00
vis2k
b537d423a1 use string interpolation everywhere 2021-09-19 17:00:36 +08:00
vis2k
a6d686fae1 NetworkBehaviour.SetDirtyBit renamed to SetSyncVarDirtyBit because that's what it does. avoids misconceptions. 2021-09-19 16:53:08 +08:00
vis2k
bc4224dcb7 syntax 2021-09-19 16:18:00 +08:00
vis2k
0743e73ad8 syntax 2021-09-19 15:51:06 +08:00
vis2k
d573e69e44 NetworkServer.SendToReady(identity, ...) misleading name changed to SendToObservers because it actually sends to the identity's observers, not to all ready connections 2021-09-19 15:50:32 +08:00
Robin Rolf
0828087e70
NetworkLoop needs to be public to expose events (#2925)
See ff34a50fdf and #2826
2021-09-19 15:37:13 +08:00
vis2k
272baceabb
perf: NetworkServer.Broadcast O(N) spawned iteration removed. dirty bits for spawned without observers are now cleared when adding the first observer instead (#2923)
* change test to add observer

* perf: NetworkServer.Broadcast O(N) 'remove dirty bits for all spawned entities without observers' loop removed. AddObserver clears them instead if we had no observers before.

* don't need this anymore

* set syncobj.recording

* oops

* not a TODO anymore

* fix test

* fix test

* fix test

* fix tests

* fix test

* fix tests
2021-09-19 11:09:35 +08:00
vis2k
10689d3131
feature: SyncObject IsRecording() to prepare for NetworkServer.Update not calling ClearAllComponentsDirtyBits on all spawned entities with no observers. (#2926)
* feature: SyncObject IsRecording() to prepare for NetworkServer.Update not calling ClearAllComponentsDirtyBits on all spawned entities with no observers.

* fix test
2021-09-19 11:05:40 +08:00
MrGadget
4efb0a64ff
fix: Clear hasAuthority when Unspawning (#2927)
* fix: Clear hasAuthority when Unspawning

* Added UnSpawnAndClearAuthority test
2021-09-19 10:15:42 +08:00
MrGadget1024
113d2b9cf9 fixed comment 2021-09-18 14:06:31 -04:00
vis2k
20daad4806 add TODOs 2021-09-18 23:43:47 +08:00
vis2k
c1a7920076 remove test assert that depends on the current way where changes are actually tracked and only cleared in update 2021-09-18 23:33:24 +08:00
vis2k
2df0975752 Test: SyncList/Set/Dictionary ever growing changes while no observers prevention 2021-09-18 23:23:55 +08:00
vis2k
cb46fd5ce4 SyncList.changes comments 2021-09-18 20:09:39 +08:00
vis2k
81114a498f i dont need to leave comments 2021-09-18 19:47:57 +08:00
vis2k
0ede6b9da9 NetworkIdentity.RemoveObserverInternal renamed to RemoveObserver for consistency with AddObserver (both functions are internal anyway) 2021-09-18 19:05:51 +08:00
vis2k
d2acc707ac NetworkIdentity: group observer add/remove/clear functions together 2021-09-18 19:03:50 +08:00
vis2k
de032d6edb better 2021-09-18 19:01:32 +08:00
vis2k
3a70eeccfd better 2021-09-18 18:58:15 +08:00
vis2k
6a50fd0c7f Tests: NetworkServer dirty bits if no observers clearing test 2021-09-18 18:55:10 +08:00
MrGadget1024
9727e0e7e2 updated comment 2021-09-18 06:19:01 -04:00
Devon Merner
413b612856
Prevent NetworkManager.ServerChangeScene from being called if a scene change is already in progress for that scene. (#2903) 2021-09-18 16:16:47 +08:00
vis2k
20056edc0f NetworkServer.Broadcast: explain ClearSpawnedDirtyBits better 2021-09-18 12:34:52 +08:00
vis2k
acebef0e16 NetworkBehaviour.IsDirty: OR both bitmasks instead of comparing separately. 2021-09-18 12:04:18 +08:00
vis2k
2208b6ce52
perf: breaking: SyncObjects (SyncList/SyncSet/SyncDict) Dirty Searching (O(N)) replaced with bit mask (O(1)) (#2922)
* wip

* internal field

* huh

* more

* use ondirty

* wip

* fix index

* test

* syntax

* restore old TOOD

* xml comment

* fix broken test
2021-09-18 11:56:28 +08:00
vis2k
3d624941a5 fix broken test from rename 2021-09-17 18:44:09 +08:00
MrGadget1024
1bc8232d60 Updated NetworkManager ScriptTemplate 2021-09-17 04:22:52 -04:00
vis2k
76ebb86d6d Tests: don't need to inherit from SyncList<T> anymore 2021-09-17 14:53:02 +08:00
vis2k
ccb901e708 remove strange import 2021-09-17 14:50:39 +08:00
vis2k
1a5fedf9bf Tests simplified 2021-09-17 13:37:49 +08:00
vis2k
a9c0ae014a Tests simplified 2021-09-17 13:36:18 +08:00
vis2k
8adb00bebe Tests simplified 2021-09-17 13:34:46 +08:00
vis2k
1487b2a27c Tests simplified 2021-09-17 13:33:01 +08:00
vis2k
c722f6988c breaking: SyncObject.Flush() renamed to ClearChanges() to make it more obvious.
'Flush' sounds like changes would be sent out over the wire.
When really it only clears changes.
2021-09-17 13:27:05 +08:00
vis2k
53d316bd9f syntax 2021-09-17 13:01:11 +08:00
vis2k
79f492aaf8 TODO 2021-09-17 12:48:55 +08:00
vis2k
19747954a3 fix: Weaver now allows exactly 64 SyncVars too 2021-09-16 21:50:44 +08:00
vis2k
88e1be8965 Tests: rename 2021-09-16 21:48:52 +08:00
vis2k
f01a701779 Tests: Weaver: SyncVarsExactlyMax 2021-09-16 21:48:18 +08:00
vis2k
6ebcbd8311 Tests: Weaver: SyncObjectsExactlyMax 2021-09-16 21:39:39 +08:00
vis2k
42cc181cfa syntax 2021-09-16 21:37:42 +08:00
vis2k
2e0b58c624 rename 2021-09-16 21:36:39 +08:00
vis2k
d1e60a0f62 fix: Weaver now detects and shows an error for >64 SyncObjects instead of silently not syncing them 2021-09-16 21:26:09 +08:00
vis2k
c77a50258d Too many SyncVars message improved with exact amount 2021-09-16 21:16:13 +08:00
vis2k
4daabd2fe4 syntax 2021-09-16 20:58:54 +08:00
vis2k
107e5b9f3b add comments 2021-09-16 15:13:09 +08:00
vis2k
98082c8527 comments 2021-09-16 14:50:06 +08:00
vis2k
3da14d2430 Tests: SetDirtyBit 2021-09-16 14:49:33 +08:00
vis2k
f43a29e712 NetworkBehaviour.AnySyncObjectDirty: reuse DirtyobjectBits 2021-09-16 14:42:44 +08:00
vis2k
0ad7cf7da7 Tests: IsDirty checks sync interval 2021-09-16 14:41:31 +08:00
vis2k
58ef1faaf9 Tests: IsDirty 2021-09-16 14:40:30 +08:00
vis2k
7828f25875 Tests: add SyncVars 2021-09-16 14:38:43 +08:00
vis2k
d9320b72f4 syntax 2021-09-16 14:37:06 +08:00
vis2k
cc22fabe1d syntax 2021-09-16 14:36:38 +08:00
vis2k
b5b3d33704 syntax 2021-09-16 14:35:31 +08:00
vis2k
f161fa8f43 NetworkBehaviour: DirtyObjectBits grouped to the dirty code section 2021-09-16 14:35:08 +08:00
vis2k
0954fb2b44 comment 2021-09-16 14:32:18 +08:00
vis2k
6b57e34d80 comment 2021-09-16 14:30:22 +08:00