From c1e6e6cbf9357dba62708b3490898813b3fada84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Albin=20Cor=C3=A9n?= <2108U9@gmail.com> Date: Wed, 7 Mar 2018 21:42:33 +0100 Subject: [PATCH] Cleaned up SyncVar system slightly --- MLAPI/MonoBehaviours/Core/NetworkedBehaviour.cs | 10 +++------- MLAPI/MonoBehaviours/Core/NetworkedObject.cs | 9 +++++---- MLAPI/MonoBehaviours/Core/NetworkingManager.cs | 5 +++-- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/MLAPI/MonoBehaviours/Core/NetworkedBehaviour.cs b/MLAPI/MonoBehaviours/Core/NetworkedBehaviour.cs index 64f342e..08c7ca5 100644 --- a/MLAPI/MonoBehaviours/Core/NetworkedBehaviour.cs +++ b/MLAPI/MonoBehaviours/Core/NetworkedBehaviour.cs @@ -84,7 +84,7 @@ namespace MLAPI { _networkedObject = GetComponentInParent(); } - NetworkedObject.networkedBehaviours.Add(this); + NetworkedObject.NetworkedBehaviours.Add(this); } internal bool networkedStartInvoked = false; @@ -117,7 +117,7 @@ namespace MLAPI private void OnDisable() { - NetworkedObject.networkedBehaviours.Remove(this); + NetworkedObject.NetworkedBehaviours.Remove(this); } private void OnDestroy() @@ -237,16 +237,12 @@ namespace MLAPI internal void OnSyncVarUpdate(object value, byte fieldIndex) { - if (isServer) - return; syncedFields[fieldIndex].SetValue(this, value); } private float lastSyncTime = 0f; - internal void SyncvarUpdate() + internal void SyncVarUpdate() { - if (!isServer) - return; SetDirtyness(); if(Time.time - lastSyncTime >= SyncVarSyncDelay) { diff --git a/MLAPI/MonoBehaviours/Core/NetworkedObject.cs b/MLAPI/MonoBehaviours/Core/NetworkedObject.cs index aaf4332..4d691aa 100644 --- a/MLAPI/MonoBehaviours/Core/NetworkedObject.cs +++ b/MLAPI/MonoBehaviours/Core/NetworkedObject.cs @@ -97,17 +97,18 @@ namespace MLAPI if(netBehaviours[i].networkedObject == this && !netBehaviours[i].networkedStartInvoked) { netBehaviours[i].NetworkStart(); - netBehaviours[i].SyncVarInit(); + if (NetworkingManager.singleton.isServer) + netBehaviours[i].SyncVarInit(); } } } - internal static List networkedBehaviours = new List(); + internal static List NetworkedBehaviours = new List(); internal static void InvokeSyncvarUpdate() { - for (int i = 0; i < networkedBehaviours.Count; i++) + for (int i = 0; i < NetworkedBehaviours.Count; i++) { - networkedBehaviours[i].SyncvarUpdate(); + NetworkedBehaviours[i].SyncVarUpdate(); } } diff --git a/MLAPI/MonoBehaviours/Core/NetworkingManager.cs b/MLAPI/MonoBehaviours/Core/NetworkingManager.cs index 8b98885..facffc3 100644 --- a/MLAPI/MonoBehaviours/Core/NetworkingManager.cs +++ b/MLAPI/MonoBehaviours/Core/NetworkingManager.cs @@ -363,9 +363,10 @@ namespace MLAPI } if (isServer) + { LagCompensationManager.AddFrames(); - - NetworkedObject.InvokeSyncvarUpdate(); + NetworkedObject.InvokeSyncvarUpdate(); + } } private IEnumerator ApprovalTimeout(int clientId)