forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using FishNet.Connection;
 | 
						|
using FishNet.Managing;
 | 
						|
using System;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace FishNet.Authenticating
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// When inherited from this can be used to create a custom authentication process before clients may communicate with the server.
 | 
						|
    /// </summary>
 | 
						|
    public abstract class Authenticator : MonoBehaviour
 | 
						|
    {
 | 
						|
        #region Public.
 | 
						|
        /// <summary>
 | 
						|
        /// True if this authenticator has been intiialzied.
 | 
						|
        /// </summary>
 | 
						|
        public bool Initialized { get; private set; }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Protected.
 | 
						|
        /// <summary>
 | 
						|
        /// NetworkManager for this Authenticator.
 | 
						|
        /// </summary>
 | 
						|
        protected NetworkManager NetworkManager { get; private set; }
 | 
						|
        #endregion
 | 
						|
         
 | 
						|
        /// <summary>
 | 
						|
        /// Called when authenticator has concluded a result for a connection. Boolean is true if authentication passed, false if failed.
 | 
						|
        /// Server listens for this event automatically.
 | 
						|
        /// </summary>
 | 
						|
        public abstract event Action<NetworkConnection, bool> OnAuthenticationResult;
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes this script for use.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="networkManager"></param>
 | 
						|
        public virtual void InitializeOnce(NetworkManager networkManager)
 | 
						|
        {
 | 
						|
            NetworkManager = networkManager;
 | 
						|
            Initialized = true;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Called on the server immediately after a client connects. Can be used to send data to the client for authentication.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="connection">Connection which is not yet authenticated.</param>
 | 
						|
        public virtual void OnRemoteConnection(NetworkConnection connection) { }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
} |