@@ -157,11 +157,8 @@ public bool IsClientConnected
157157
158158 private void OnValidate ( )
159159 {
160- if ( ! Application . isPlaying )
161- _singleton = this ;
162160 if ( NetworkConfig == null )
163- return ; //May occur when the component is added
164-
161+ return ; //May occur when the component is added
165162
166163 if ( NetworkConfig . EnableSceneSwitching && ! NetworkConfig . RegisteredScenes . Contains ( SceneManager . GetActiveScene ( ) . name ) )
167164 {
@@ -218,6 +215,7 @@ private void OnValidate()
218215
219216 private object Init ( bool server )
220217 {
218+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Init()" ) ;
221219 networkTime = 0f ;
222220 lastSendTickTime = 0f ;
223221 lastEventTickTime = 0f ;
@@ -238,7 +236,7 @@ private object Init(bool server)
238236 MessageManager . reverseMessageTypes = new Dictionary < ushort , string > ( ) ;
239237 SpawnManager . spawnedObjects = new Dictionary < uint , NetworkedObject > ( ) ;
240238 SpawnManager . releasedNetworkObjectIds = new Stack < uint > ( ) ;
241- NetworkPoolManager . Pools = new Dictionary < ushort , Data . NetworkPool > ( ) ;
239+ NetworkPoolManager . Pools = new Dictionary < ushort , NetworkPool > ( ) ;
242240 NetworkPoolManager . PoolNamesToIndexes = new Dictionary < string , ushort > ( ) ;
243241 NetworkSceneManager . registeredSceneNames = new HashSet < string > ( ) ;
244242 NetworkSceneManager . sceneIndexToString = new Dictionary < uint , string > ( ) ;
@@ -477,6 +475,7 @@ private object Init(bool server)
477475 /// </summary>
478476 public void StartServer ( )
479477 {
478+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartServer()" ) ;
480479 if ( isServer || isClient )
481480 {
482481 if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start server while an instance is already running" ) ;
@@ -507,6 +506,7 @@ public void StartServer()
507506 /// </summary>
508507 public void StartClient ( )
509508 {
509+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartClient()" ) ;
510510 if ( isServer || isClient )
511511 {
512512 if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start client while an instance is already running" ) ;
@@ -526,6 +526,7 @@ public void StartClient()
526526 /// </summary>
527527 public void StopServer ( )
528528 {
529+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StopServer()" ) ;
529530 HashSet < uint > disconnectedIds = new HashSet < uint > ( ) ;
530531 //Don't know if I have to disconnect the clients. I'm assuming the NetworkTransport does all the cleaning on shtudown. But this way the clients get a disconnect message from server (so long it does't get lost)
531532 foreach ( KeyValuePair < uint , NetworkedClient > pair in connectedClients )
@@ -560,6 +561,7 @@ public void StopServer()
560561 /// </summary>
561562 public void StopHost ( )
562563 {
564+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StopHost()" ) ;
563565 _isClient = false ;
564566 _isServer = false ;
565567 StopServer ( ) ;
@@ -571,6 +573,7 @@ public void StopHost()
571573 /// </summary>
572574 public void StopClient ( )
573575 {
576+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StopClient()" ) ;
574577 _isClient = false ;
575578 NetworkConfig . NetworkTransport . DisconnectFromServer ( ) ;
576579 Shutdown ( ) ;
@@ -581,6 +584,7 @@ public void StopClient()
581584 /// </summary>
582585 public void StartHost ( Vector3 ? pos = null , Quaternion ? rot = null )
583586 {
587+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartHost()" ) ;
584588 if ( isServer || isClient )
585589 {
586590 if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start host while an instance is already running" ) ;
@@ -639,11 +643,14 @@ private void OnDestroy()
639643
640644 private void Shutdown ( )
641645 {
646+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Shutdown()" ) ;
642647 isListening = false ;
643648 _isClient = false ;
644649 _isServer = false ;
645650 SpawnManager . DestroyNonSceneObjects ( ) ;
646- NetworkConfig . NetworkTransport . Shutdown ( ) ;
651+
652+ if ( NetworkConfig != null && NetworkConfig . NetworkTransport != null ) //The Transport is set during Init time, thus it is possible for the Transport to be null
653+ NetworkConfig . NetworkTransport . Shutdown ( ) ;
647654 }
648655
649656 private float lastReceiveTickTime ;
@@ -661,6 +668,7 @@ private void Update()
661668 {
662669 byte error ;
663670 NetworkConfig . NetworkTransport . SendQueue ( pair . Key , out error ) ;
671+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Send Pending Queue: " + pair . Key ) ;
664672 }
665673 lastSendTickTime = NetworkTime ;
666674 }
@@ -682,11 +690,13 @@ private void Update()
682690 case NetEventType . Connect :
683691 if ( isServer )
684692 {
693+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Client Connected" ) ;
685694 pendingClients . Add ( clientId ) ;
686695 StartCoroutine ( ApprovalTimeout ( clientId ) ) ;
687696 }
688697 else
689698 {
699+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Connected" ) ;
690700 byte [ ] diffiePublic = new byte [ 0 ] ;
691701 if ( NetworkConfig . EnableEncryption )
692702 {
@@ -709,9 +719,13 @@ private void Update()
709719 }
710720 break ;
711721 case NetEventType . Data :
722+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Incomming Data From " + clientId + " : " + receivedSize + " bytes" ) ;
723+
712724 HandleIncomingData ( clientId , messageBuffer , channelId ) ;
713725 break ;
714726 case NetEventType . Disconnect :
727+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Disconnect Event From " + clientId ) ;
728+
715729 if ( isServer )
716730 OnClientDisconnect ( clientId ) ;
717731 else
@@ -761,12 +775,14 @@ private IEnumerator ApprovalTimeout(uint clientId)
761775 if ( pendingClients . Contains ( clientId ) && ! connectedClients . ContainsKey ( clientId ) )
762776 {
763777 //Timeout
778+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Client " + clientId + " Handshake Timed Out" ) ;
764779 DisconnectClient ( clientId ) ;
765780 }
766781 }
767782
768783 private void HandleIncomingData ( uint clientId , byte [ ] data , int channelId )
769784 {
785+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Unwrapping Data Header" ) ;
770786 using ( BitReader reader = BitReader . Get ( data ) )
771787 {
772788 ushort messageType = reader . ReadUShort ( ) ;
@@ -788,6 +804,14 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId)
788804 else if ( isPassthrough && ! isServer )
789805 passthroughOrigin = reader . ReadUInt ( ) ;
790806
807+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Data Header" +
808+ ":messageHeader=" + messageType +
809+ ":targeted=" + targeted +
810+ ":targetNetworkId=" + targetNetworkId +
811+ ":targetBehaviourIndex=" + networkOrderId +
812+ ":passthrough=" + isPassthrough +
813+ ":passthroughOrigin=" + passthroughOrigin +
814+ ":passthroughTarget=" + passthroughTarget ) ;
791815
792816 //Client tried to send a network message that was not the connection request before he was accepted.
793817 if ( isServer && pendingClients . Contains ( clientId ) && messageType != 0 )
@@ -800,6 +824,7 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId)
800824 byte [ ] readBuffer = null ;
801825 if ( NetworkConfig . EncryptedChannelsHashSet . Contains ( MessageManager . reverseChannels [ channelId ] ) )
802826 {
827+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Decrypting message body" ) ;
803828 //Encrypted message
804829 if ( isServer )
805830 readBuffer = CryptographyHelper . Decrypt ( reader . ReadByteArray ( ) , connectedClients [ clientId ] . AesKey ) ;
@@ -1018,6 +1043,7 @@ internal void OnClientDisconnect(uint clientId)
10181043
10191044 private void SyncTime ( )
10201045 {
1046+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "" ) ;
10211047 using ( BitWriter writer = BitWriter . Get ( ) )
10221048 {
10231049 writer . WriteFloat ( NetworkTime ) ;
0 commit comments