This repository has been archived on 2023-09-13. You can view files and clone it, but cannot push or open issues or pull requests.
station_obscurum_unity/Assets/FishNet/Runtime/Authenticating/Authenticator.cs

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) { }
}
}