1-
21using System . Runtime . CompilerServices ;
32
43namespace Unity . Netcode
@@ -31,11 +30,11 @@ internal struct ChangeOwnershipMessage : INetworkMessage, INetworkSerializeByMem
3130
3231 internal enum ChangeType : byte
3332 {
34- OwnershipChanging = 1 ,
35- OwnershipFlagsUpdate = 2 ,
36- RequestOwnership = 4 ,
37- RequestApproved = 8 ,
38- RequestDenied = 10 ,
33+ OwnershipChanging = 0x01 ,
34+ OwnershipFlagsUpdate = 0x02 ,
35+ RequestOwnership = 0x04 ,
36+ RequestApproved = 0x08 ,
37+ RequestDenied = 0x10 ,
3938 }
4039
4140 public void Serialize ( FastBufferWriter writer , int targetVersion )
@@ -57,17 +56,15 @@ public void Serialize(FastBufferWriter writer, int targetVersion)
5756 }
5857 }
5958
60- writer . WriteValueSafe ( ChangeMessageType ) ;
61-
62- if ( ChangeMessageType is ChangeType . OwnershipFlagsUpdate or ChangeType . OwnershipChanging or ChangeType . RequestApproved )
59+ if ( ChangeMessageType == ChangeType . OwnershipFlagsUpdate || ChangeMessageType == ChangeType . OwnershipChanging || ChangeMessageType == ChangeType . RequestApproved )
6360 {
6461 writer . WriteValueSafe ( OwnershipFlags ) ;
6562 }
6663
6764 // When requesting, RequestClientId is the requestor
6865 // When approving, RequestClientId is the owner that approved
6966 // When denied, RequestClientId is the requestor
70- if ( ChangeMessageType is ChangeType . RequestOwnership or ChangeType . RequestApproved or ChangeType . RequestDenied )
67+ if ( ChangeMessageType == ChangeType . RequestOwnership || ChangeMessageType == ChangeType . RequestApproved || ChangeMessageType == ChangeType . RequestDenied )
7168 {
7269 writer . WriteValueSafe ( RequestClientId ) ;
7370
@@ -95,29 +92,28 @@ public bool Deserialize(FastBufferReader reader, ref NetworkContext context, int
9592 if ( ClientIdCount > 0 )
9693 {
9794 ClientIds = new ulong [ ClientIdCount ] ;
98- var clientId = ( ulong ) 0 ;
9995 for ( int i = 0 ; i < ClientIdCount ; i ++ )
10096 {
101- ByteUnpacker . ReadValueBitPacked ( reader , out clientId ) ;
97+ ByteUnpacker . ReadValueBitPacked ( reader , out ulong clientId ) ;
10298 ClientIds [ i ] = clientId ;
10399 }
104100 }
105101
106102 reader . ReadValueSafe ( out ChangeMessageType ) ;
107- if ( ChangeMessageType is ChangeType . OwnershipFlagsUpdate or ChangeType . OwnershipChanging or ChangeType . RequestApproved )
103+ if ( ChangeMessageType == ChangeType . OwnershipFlagsUpdate || ChangeMessageType == ChangeType . OwnershipChanging || ChangeMessageType == ChangeType . RequestApproved )
108104 {
109105 reader . ReadValueSafe ( out OwnershipFlags ) ;
110106 }
111107
112108 // When requesting, RequestClientId is the requestor
113109 // When approving, RequestClientId is the owner that approved
114110 // When denied, RequestClientId is the requestor
115- if ( ChangeMessageType is ChangeType . RequestOwnership or ChangeType . RequestApproved or ChangeType . RequestDenied )
111+ if ( ChangeMessageType == ChangeType . RequestOwnership || ChangeMessageType == ChangeType . RequestApproved || ChangeMessageType == ChangeType . RequestDenied )
116112 {
117113 // We are receiving a request for ownership, or an approval or denial of our request.
118114 reader . ReadValueSafe ( out RequestClientId ) ;
119115
120- if ( ChangeMessageType is ChangeType . RequestDenied )
116+ if ( ChangeMessageType == ChangeType . RequestDenied )
121117 {
122118 reader . ReadValueSafe ( out OwnershipRequestResponseStatus ) ;
123119 }
@@ -159,7 +155,7 @@ public void Handle(ref NetworkContext context)
159155 // If ownership is changing (either a straight change or a request approval), then run through the ownership changed sequence
160156 // Note: There is some extended ownership script at the bottom of HandleOwnershipChange
161157 // If not in distributed authority mode, ChangeMessageType will always be OwnershipChanging.
162- if ( ChangeMessageType is ChangeType . OwnershipChanging or ChangeType . RequestApproved )
158+ if ( ChangeMessageType == ChangeType . OwnershipChanging || ChangeMessageType == ChangeType . RequestApproved )
163159 {
164160 HandleOwnershipChange ( ref context ) ;
165161 }
@@ -181,17 +177,17 @@ private void HandleExtendedOwnershipUpdate(ref NetworkContext context)
181177 // Handle the extended ownership message types
182178 var networkObject = networkManager . SpawnManager . SpawnedObjects [ NetworkObjectId ] ;
183179
184- if ( ChangeMessageType is ChangeType . OwnershipFlagsUpdate )
180+ if ( ChangeMessageType == ChangeType . OwnershipFlagsUpdate )
185181 {
186182 // Just update the ownership flags
187183 networkObject . Ownership = ( NetworkObject . OwnershipStatus ) OwnershipFlags ;
188184 }
189- else if ( ChangeMessageType is ChangeType . RequestOwnership )
185+ else if ( ChangeMessageType == ChangeType . RequestOwnership )
190186 {
191187 // Requesting ownership, if allowed it will automatically send the ownership change message
192188 networkObject . OwnershipRequest ( RequestClientId ) ;
193189 }
194- else if ( ChangeMessageType is ChangeType . RequestDenied )
190+ else if ( ChangeMessageType == ChangeType . RequestDenied )
195191 {
196192 networkObject . OwnershipRequestResponse ( ( NetworkObject . OwnershipRequestResponseStatus ) OwnershipRequestResponseStatus ) ;
197193 }
@@ -201,7 +197,6 @@ private void HandleExtendedOwnershipUpdate(ref NetworkContext context)
201197 /// Handle the traditional change in ownership message type logic
202198 /// </summary>
203199 [ MethodImpl ( MethodImplOptions . AggressiveInlining ) ]
204-
205200 private void HandleOwnershipChange ( ref NetworkContext context )
206201 {
207202 var networkManager = ( NetworkManager ) context . SystemOwner ;
@@ -244,9 +239,9 @@ private void HandleOwnershipChange(ref NetworkContext context)
244239 // For all other clients that are neither the former or current owner, update the behaviours' properties
245240 if ( OwnerClientId != networkManager . LocalClientId && originalOwner != networkManager . LocalClientId )
246241 {
247- for ( int i = 0 ; i < networkObject . ChildNetworkBehaviours . Count ; i ++ )
242+ foreach ( var childBehaviour in networkObject . ChildNetworkBehaviours )
248243 {
249- networkObject . ChildNetworkBehaviours [ i ] . UpdateNetworkProperties ( ) ;
244+ childBehaviour . UpdateNetworkProperties ( ) ;
250245 }
251246 }
252247
0 commit comments