@@ -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