Simplify with auto properties

This commit is contained in:
Paul Pacheco 2019-02-17 19:57:34 -06:00
parent c0cc77d062
commit e54a23a286

View File

@ -10,16 +10,12 @@ namespace Mirror
[AddComponentMenu("")]
public class NetworkBehaviour : MonoBehaviour
{
ulong m_SyncVarDirtyBits; // ulong instead of uint for 64 instead of 32 SyncVar limit per component
float m_LastSendTime;
// sync interval for OnSerialize (in seconds)
// hidden because NetworkBehaviourInspector shows it only if has OnSerialize.
[HideInInspector] public float syncInterval = 0.1f;
// this prevents recursion when SyncVar hook functions are called.
bool m_SyncVarGuard;
public bool localPlayerAuthority => netIdentity.localPlayerAuthority;
public bool isServer => netIdentity.isServer;
public bool isClient => netIdentity.isClient;
@ -29,9 +25,9 @@ public class NetworkBehaviour : MonoBehaviour
public bool hasAuthority => netIdentity.hasAuthority;
public uint netId => netIdentity.netId;
public NetworkConnection connectionToServer => netIdentity.connectionToServer;
public NetworkConnection connectionToClient => netIdentity.connectionToClient;
protected ulong syncVarDirtyBits => m_SyncVarDirtyBits;
protected bool syncVarHookGuard { get { return m_SyncVarGuard; } set { m_SyncVarGuard = value; }}
public NetworkConnection connectionToClient => netIdentity.connectionToClient;
protected ulong syncVarDirtyBits { get; private set; }
protected bool syncVarHookGuard { get; set; }
// objects that can synchronize themselves, such as synclists
protected readonly List<SyncObject> m_SyncObjects = new List<SyncObject>();
@ -290,7 +286,7 @@ internal bool InvokeHandlerDelegate(int cmdHash, UNetInvokeType invokeType, Netw
[EditorBrowsable(EditorBrowsableState.Never)]
protected void SetSyncVarGameObject(GameObject newGameObject, ref GameObject gameObjectField, ulong dirtyBit, ref uint netIdField)
{
if (m_SyncVarGuard)
if (syncVarHookGuard)
return;
uint newNetId = 0;
@ -340,7 +336,7 @@ protected GameObject GetSyncVarGameObject(uint netId, ref GameObject gameObjectF
[EditorBrowsable(EditorBrowsableState.Never)]
protected void SetSyncVarNetworkIdentity(NetworkIdentity newIdentity, ref NetworkIdentity identityField, ulong dirtyBit, ref uint netIdField)
{
if (m_SyncVarGuard)
if (syncVarHookGuard)
return;
uint newNetId = 0;
@ -397,13 +393,13 @@ protected void SetSyncVar<T>(T value, ref T fieldValue, ulong dirtyBit)
// these are masks, not bit numbers, ie. 0x004 not 2
public void SetDirtyBit(ulong dirtyBit)
{
m_SyncVarDirtyBits |= dirtyBit;
syncVarDirtyBits |= dirtyBit;
}
public void ClearAllDirtyBits()
{
m_LastSendTime = Time.time;
m_SyncVarDirtyBits = 0L;
syncVarDirtyBits = 0L;
// flush all unsynchronized changes in syncobjects
m_SyncObjects.ForEach(obj => obj.Flush());
@ -428,7 +424,7 @@ internal bool IsDirty()
{
if (Time.time - m_LastSendTime >= syncInterval)
{
return m_SyncVarDirtyBits != 0L || AnySyncObjectDirty();
return syncVarDirtyBits != 0L || AnySyncObjectDirty();
}
return false;
}