NetworkIdentity.DirtyMasks: syntax simplified further

This commit is contained in:
mischa 2024-07-14 10:18:36 +02:00 committed by MrGadget
parent c7f12420dc
commit c8b7dcc702

View File

@ -857,14 +857,17 @@ internal void OnStopLocalPlayer()
if (initialState || (component.syncDirection == SyncDirection.ServerToClient && dirty))
ownerMask |= nthBit;
// observers need to be considered only in Observers mode
//
// for initial, it should always sync to observers.
// for delta, only if dirty.
// SyncDirection is irrelevant, as both are broadcast to
// observers which aren't the owner.
if (component.syncMode == SyncMode.Observers && (initialState || dirty))
observerMask |= nthBit;
// observers need to be considered only in Observers mode,
// otherwise they receive no sync data of this component ever.
if (component.syncMode == SyncMode.Observers)
{
// for initial, it should always sync to observers.
// for delta, only if dirty.
// SyncDirection is irrelevant, as both are broadcast to
// observers which aren't the owner.
if (initialState || dirty)
observerMask |= nthBit;
}
}
return (ownerMask, observerMask);