@@ -157,11 +157,8 @@ public bool IsClientConnected
157
157
158
158
private void OnValidate ( )
159
159
{
160
- if ( ! Application . isPlaying )
161
- _singleton = this ;
162
160
if ( NetworkConfig == null )
163
- return ; //May occur when the component is added
164
-
161
+ return ; //May occur when the component is added
165
162
166
163
if ( NetworkConfig . EnableSceneSwitching && ! NetworkConfig . RegisteredScenes . Contains ( SceneManager . GetActiveScene ( ) . name ) )
167
164
{
@@ -218,6 +215,7 @@ private void OnValidate()
218
215
219
216
private object Init ( bool server )
220
217
{
218
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Init()" ) ;
221
219
networkTime = 0f ;
222
220
lastSendTickTime = 0f ;
223
221
lastEventTickTime = 0f ;
@@ -238,7 +236,7 @@ private object Init(bool server)
238
236
MessageManager . reverseMessageTypes = new Dictionary < ushort , string > ( ) ;
239
237
SpawnManager . spawnedObjects = new Dictionary < uint , NetworkedObject > ( ) ;
240
238
SpawnManager . releasedNetworkObjectIds = new Stack < uint > ( ) ;
241
- NetworkPoolManager . Pools = new Dictionary < ushort , Data . NetworkPool > ( ) ;
239
+ NetworkPoolManager . Pools = new Dictionary < ushort , NetworkPool > ( ) ;
242
240
NetworkPoolManager . PoolNamesToIndexes = new Dictionary < string , ushort > ( ) ;
243
241
NetworkSceneManager . registeredSceneNames = new HashSet < string > ( ) ;
244
242
NetworkSceneManager . sceneIndexToString = new Dictionary < uint , string > ( ) ;
@@ -477,6 +475,7 @@ private object Init(bool server)
477
475
/// </summary>
478
476
public void StartServer ( )
479
477
{
478
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartServer()" ) ;
480
479
if ( isServer || isClient )
481
480
{
482
481
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start server while an instance is already running" ) ;
@@ -507,6 +506,7 @@ public void StartServer()
507
506
/// </summary>
508
507
public void StartClient ( )
509
508
{
509
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartClient()" ) ;
510
510
if ( isServer || isClient )
511
511
{
512
512
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start client while an instance is already running" ) ;
@@ -526,6 +526,7 @@ public void StartClient()
526
526
/// </summary>
527
527
public void StopServer ( )
528
528
{
529
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StopServer()" ) ;
529
530
HashSet < uint > disconnectedIds = new HashSet < uint > ( ) ;
530
531
//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)
531
532
foreach ( KeyValuePair < uint , NetworkedClient > pair in connectedClients )
@@ -560,6 +561,7 @@ public void StopServer()
560
561
/// </summary>
561
562
public void StopHost ( )
562
563
{
564
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StopHost()" ) ;
563
565
_isClient = false ;
564
566
_isServer = false ;
565
567
StopServer ( ) ;
@@ -571,6 +573,7 @@ public void StopHost()
571
573
/// </summary>
572
574
public void StopClient ( )
573
575
{
576
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StopClient()" ) ;
574
577
_isClient = false ;
575
578
NetworkConfig . NetworkTransport . DisconnectFromServer ( ) ;
576
579
Shutdown ( ) ;
@@ -581,6 +584,7 @@ public void StopClient()
581
584
/// </summary>
582
585
public void StartHost ( Vector3 ? pos = null , Quaternion ? rot = null )
583
586
{
587
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "StartHost()" ) ;
584
588
if ( isServer || isClient )
585
589
{
586
590
if ( LogHelper . CurrentLogLevel <= LogLevel . Normal ) LogHelper . LogWarning ( "Cannot start host while an instance is already running" ) ;
@@ -639,11 +643,14 @@ private void OnDestroy()
639
643
640
644
private void Shutdown ( )
641
645
{
646
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Shutdown()" ) ;
642
647
isListening = false ;
643
648
_isClient = false ;
644
649
_isServer = false ;
645
650
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 ( ) ;
647
654
}
648
655
649
656
private float lastReceiveTickTime ;
@@ -661,6 +668,7 @@ private void Update()
661
668
{
662
669
byte error ;
663
670
NetworkConfig . NetworkTransport . SendQueue ( pair . Key , out error ) ;
671
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Send Pending Queue: " + pair . Key ) ;
664
672
}
665
673
lastSendTickTime = NetworkTime ;
666
674
}
@@ -682,11 +690,13 @@ private void Update()
682
690
case NetEventType . Connect :
683
691
if ( isServer )
684
692
{
693
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Client Connected" ) ;
685
694
pendingClients . Add ( clientId ) ;
686
695
StartCoroutine ( ApprovalTimeout ( clientId ) ) ;
687
696
}
688
697
else
689
698
{
699
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Connected" ) ;
690
700
byte [ ] diffiePublic = new byte [ 0 ] ;
691
701
if ( NetworkConfig . EnableEncryption )
692
702
{
@@ -709,9 +719,13 @@ private void Update()
709
719
}
710
720
break ;
711
721
case NetEventType . Data :
722
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Incomming Data From " + clientId + " : " + receivedSize + " bytes" ) ;
723
+
712
724
HandleIncomingData ( clientId , messageBuffer , channelId ) ;
713
725
break ;
714
726
case NetEventType . Disconnect :
727
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Disconnect Event From " + clientId ) ;
728
+
715
729
if ( isServer )
716
730
OnClientDisconnect ( clientId ) ;
717
731
else
@@ -761,12 +775,14 @@ private IEnumerator ApprovalTimeout(uint clientId)
761
775
if ( pendingClients . Contains ( clientId ) && ! connectedClients . ContainsKey ( clientId ) )
762
776
{
763
777
//Timeout
778
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Client " + clientId + " Handshake Timed Out" ) ;
764
779
DisconnectClient ( clientId ) ;
765
780
}
766
781
}
767
782
768
783
private void HandleIncomingData ( uint clientId , byte [ ] data , int channelId )
769
784
{
785
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Unwrapping Data Header" ) ;
770
786
using ( BitReader reader = BitReader . Get ( data ) )
771
787
{
772
788
ushort messageType = reader . ReadUShort ( ) ;
@@ -788,6 +804,14 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId)
788
804
else if ( isPassthrough && ! isServer )
789
805
passthroughOrigin = reader . ReadUInt ( ) ;
790
806
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 ) ;
791
815
792
816
//Client tried to send a network message that was not the connection request before he was accepted.
793
817
if ( isServer && pendingClients . Contains ( clientId ) && messageType != 0 )
@@ -800,6 +824,7 @@ private void HandleIncomingData(uint clientId, byte[] data, int channelId)
800
824
byte [ ] readBuffer = null ;
801
825
if ( NetworkConfig . EncryptedChannelsHashSet . Contains ( MessageManager . reverseChannels [ channelId ] ) )
802
826
{
827
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "Decrypting message body" ) ;
803
828
//Encrypted message
804
829
if ( isServer )
805
830
readBuffer = CryptographyHelper . Decrypt ( reader . ReadByteArray ( ) , connectedClients [ clientId ] . AesKey ) ;
@@ -1018,6 +1043,7 @@ internal void OnClientDisconnect(uint clientId)
1018
1043
1019
1044
private void SyncTime ( )
1020
1045
{
1046
+ if ( LogHelper . CurrentLogLevel <= LogLevel . Developer ) LogHelper . LogInfo ( "" ) ;
1021
1047
using ( BitWriter writer = BitWriter . Get ( ) )
1022
1048
{
1023
1049
writer . WriteFloat ( NetworkTime ) ;
0 commit comments