Skip to content

Commit 65ff1d7

Browse files
committed
Address PR feedback, inline get and set bitset
1 parent 28a0ef5 commit 65ff1d7

File tree

1 file changed

+14
-26
lines changed

1 file changed

+14
-26
lines changed

com.unity.netcode.gameobjects/Runtime/Messaging/Messages/DestroyObjectMessage.cs

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ internal struct DestroyObjectMessage : INetworkMessage, INetworkSerializeByMemcp
1313
private const string k_Name = "DestroyObjectMessage";
1414

1515
public ulong NetworkObjectId;
16-
private byte m_DestroyFlags; // TO DO check naming
1716

1817
internal int DeferredDespawnTick;
1918
// Temporary until we make this a list
@@ -34,36 +33,21 @@ internal struct DestroyObjectMessage : INetworkMessage, INetworkSerializeByMemcp
3433
/// </summary>
3534
public bool DestroyGameObject;
3635

37-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
38-
internal uint GetBitsetRepresentation()
39-
{
40-
uint bitset = 0;
41-
if (IsTargetedDestroy) { bitset |= k_IsTargetedDestroy; }
42-
if (m_IsDeferredDespawn) { bitset |= k_IsDeferredDespawn; }
43-
if (DestroyGameObject) { bitset |= k_DestroyGameObject; }
44-
return bitset;
45-
}
46-
47-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
48-
internal void SetStateFromBitset(uint bitset)
49-
{
50-
IsTargetedDestroy = (bitset & k_IsTargetedDestroy) != 0;
51-
m_IsDeferredDespawn = (bitset & k_IsDeferredDespawn) != 0;
52-
DestroyGameObject = (bitset & k_DestroyGameObject) != 0;
53-
}
54-
5536
public void Serialize(FastBufferWriter writer, int targetVersion)
5637
{
5738
// Set deferred despawn flag
5839
m_IsDeferredDespawn = DeferredDespawnTick > 0;
5940

60-
uint bitsetRepresentation = GetBitsetRepresentation();
41+
uint bitset = 0;
42+
if (IsTargetedDestroy) { bitset |= k_IsTargetedDestroy; }
43+
if (m_IsDeferredDespawn) { bitset |= k_IsDeferredDespawn; }
44+
if (DestroyGameObject) { bitset |= k_DestroyGameObject; }
6145

6246
BytePacker.WriteValueBitPacked(writer, NetworkObjectId);
6347

6448
if (IsDistributedAuthority)
6549
{
66-
writer.WriteValueSafe(bitsetRepresentation);
50+
writer.WriteValueSafe(bitset);
6751

6852
if (IsTargetedDestroy)
6953
{
@@ -77,7 +61,7 @@ public void Serialize(FastBufferWriter writer, int targetVersion)
7761
}
7862
else if (targetVersion >= k_AllowDestroyGameInPlaced)
7963
{
80-
writer.WriteValueSafe(bitsetRepresentation);
64+
writer.WriteValueSafe(bitset);
8165
}
8266

8367
if (targetVersion < k_OptimizeDestroyObjectMessage)
@@ -97,8 +81,10 @@ public bool Deserialize(FastBufferReader reader, ref NetworkContext context, int
9781
ByteUnpacker.ReadValueBitPacked(reader, out NetworkObjectId);
9882
if (networkManager.DistributedAuthorityMode)
9983
{
100-
reader.ReadByteSafe(out m_DestroyFlags);
101-
SetStateFromBitset(m_DestroyFlags);
84+
reader.ReadByteSafe(out byte bitset);
85+
IsTargetedDestroy = (bitset & k_IsTargetedDestroy) != 0;
86+
m_IsDeferredDespawn = (bitset & k_IsDeferredDespawn) != 0;
87+
DestroyGameObject = (bitset & k_DestroyGameObject) != 0;
10288

10389
if (IsTargetedDestroy)
10490
{
@@ -112,8 +98,10 @@ public bool Deserialize(FastBufferReader reader, ref NetworkContext context, int
11298
}
11399
else if (receivedMessageVersion >= k_AllowDestroyGameInPlaced)
114100
{
115-
reader.ReadByteSafe(out m_DestroyFlags);
116-
SetStateFromBitset(m_DestroyFlags);
101+
reader.ReadByteSafe(out byte bitset);
102+
IsTargetedDestroy = (bitset & k_IsTargetedDestroy) != 0;
103+
m_IsDeferredDespawn = (bitset & k_IsDeferredDespawn) != 0;
104+
DestroyGameObject = (bitset & k_DestroyGameObject) != 0;
117105
}
118106

119107
if (receivedMessageVersion < k_OptimizeDestroyObjectMessage)

0 commit comments

Comments
 (0)