fix: Network Id Zero
This commit is contained in:
		| @@ -124,10 +124,26 @@ public abstract class NetworkBase : BehaviourOverride, INetworkCommunicator | ||||
|     } | ||||
|  | ||||
|     private void OnNetworkEntityCollected(BehaviourCollector<INetworkEntity> sender, INetworkEntity behaviourCollected) | ||||
|         => networkEntities.Add(behaviourCollected.NetworkId, behaviourCollected); | ||||
|     { | ||||
|         if (behaviourCollected.NetworkId != 0) | ||||
|             networkEntities.Add(behaviourCollected.NetworkId, behaviourCollected); | ||||
|  | ||||
|         behaviourCollected.OnNetworkIdChanged += OnNetworkIdChanged; | ||||
|     } | ||||
|  | ||||
|     private void OnNetworkIdChanged(INetworkEntity sender, uint previousId) | ||||
|     { | ||||
|         if (networkEntities.TryGetValue(previousId, out INetworkEntity? networkEntity) && sender == networkEntity) | ||||
|             networkEntities.Remove(previousId); | ||||
|  | ||||
|         networkEntities.Add(sender.NetworkId, sender); | ||||
|     } | ||||
|  | ||||
|     private void OnNetworkEntityRemoved(BehaviourCollector<INetworkEntity> sender, INetworkEntity behaviourRemoved) | ||||
|         => networkEntities.Remove(behaviourRemoved.NetworkId); | ||||
|     { | ||||
|         networkEntities.Remove(behaviourRemoved.NetworkId); | ||||
|         behaviourRemoved.OnNetworkIdChanged -= OnNetworkIdChanged; | ||||
|     } | ||||
|  | ||||
|     private void NetworkReceiveEvent(NetPeer peer, NetPacketReader reader, byte channel, DeliveryMethod deliveryMethod) | ||||
|     { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user