36 lines
1.3 KiB
C#
36 lines
1.3 KiB
C#
|
|
using System;
|
|
using UnityEngine;
|
|
|
|
namespace FishNet.Managing.Transporting
|
|
{
|
|
|
|
/// <summary>
|
|
/// When inherited from this may be used with the TransportManager to alter messages before they are sent and received.
|
|
/// </summary>
|
|
public abstract class IntermediateLayer : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// TransportManager associated with this script.
|
|
/// </summary>
|
|
public TransportManager TransportManager { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Called when data is received.
|
|
/// </summary>
|
|
/// <param name="src">Original data.</param>
|
|
/// <param name="fromServer">True if receiving from the server, false if from a client.</param>
|
|
/// <returns>Modified data.</returns>
|
|
public abstract ArraySegment<byte> HandleIncoming(ArraySegment<byte> src, bool fromServer);
|
|
/// <summary>
|
|
/// Called when data is sent.
|
|
/// </summary>
|
|
/// <param name="src">Original data.</param>
|
|
/// <param name="toServer">True if sending to the server, false if to a client.</param>
|
|
/// <returns>Modified data.</returns>
|
|
public abstract ArraySegment<byte> HandleOutoing(ArraySegment<byte> src, bool toServer);
|
|
|
|
internal void InitializeOnce(TransportManager manager) => TransportManager = manager;
|
|
}
|
|
|
|
} |