69 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using FishNet.Managing;
 | |
| using FishNet.Managing.Logging;
 | |
| using FishNet.Managing.Server;
 | |
| using FishNet.Serializing;
 | |
| using System;
 | |
| 
 | |
| namespace FishNet.Connection
 | |
| {
 | |
| 
 | |
|     /// <summary>
 | |
|     /// A container for a connected client used to perform actions on and gather information for the declared client.
 | |
|     /// </summary>
 | |
|     public partial class NetworkConnection : IEquatable<NetworkConnection>
 | |
|     {
 | |
| 
 | |
|         #region Public.
 | |
|         /// <summary>
 | |
|         /// Returns true if this connection is a clientHost.
 | |
|         /// </summary>
 | |
|         public bool IsHost => (NetworkManager == null) ? false : (NetworkManager.IsServer && (this == NetworkManager.ClientManager.Connection));
 | |
|         /// <summary>
 | |
|         /// Returns if this connection is for the local client.
 | |
|         /// </summary>
 | |
|         public bool IsLocalClient => (NetworkManager == null) ? false : (NetworkManager.ClientManager.Connection == this);
 | |
|         #endregion
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Returns the address of this connection.
 | |
|         /// </summary>
 | |
|         /// <returns></returns>
 | |
|         public string GetAddress()
 | |
|         {
 | |
|             if (!IsValid)
 | |
|                 return string.Empty;
 | |
|             if (NetworkManager == null)
 | |
|                 return string.Empty;
 | |
| 
 | |
|             return NetworkManager.TransportManager.Transport.GetConnectionAddress(ClientId);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Kicks a connection immediately while invoking OnClientKick.
 | |
|         /// </summary>
 | |
|         /// <param name="kickReason">Reason client is being kicked.</param>
 | |
|         /// <param name="loggingType">How to print logging as.</param>
 | |
|         /// <param name="log">Optional message to be debug logged.</param>
 | |
|         public void Kick(KickReason kickReason, LoggingType loggingType = LoggingType.Common, string log = "")
 | |
|         {
 | |
|             NetworkManager.ServerManager.Kick(this, kickReason, loggingType, log);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Kicks a connection immediately while invoking OnClientKick.
 | |
|         /// </summary>
 | |
|         /// <param name="reader">Reader to clear before kicking.</param>
 | |
|         /// <param name="kickReason">Reason client is being kicked.</param>
 | |
|         /// <param name="loggingType">How to print logging as.</param>
 | |
|         /// <param name="log">Optional message to be debug logged.</param>
 | |
|         public void Kick(Reader reader, KickReason kickReason, LoggingType loggingType = LoggingType.Common, string log = "")
 | |
|         {
 | |
|             NetworkManager.ServerManager.Kick(this, reader, kickReason, loggingType, log);
 | |
|         }
 | |
| 
 | |
| 
 | |
|     }
 | |
| 
 | |
| 
 | |
| } |