Files
Nitrox/NitroxClient/Communication/Abstract/IMultiplayerSession.cs
2025-07-06 00:23:46 +02:00

22 lines
910 B
C#

using System.Threading.Tasks;
using NitroxModel.MultiplayerSession;
using NitroxModel.Packets;
namespace NitroxClient.Communication.Abstract
{
public delegate void MultiplayerSessionConnectionStateChangedEventHandler(IMultiplayerSessionConnectionState newState);
public interface IMultiplayerSession : IPacketSender, IMultiplayerSessionState
{
IMultiplayerSessionConnectionState CurrentState { get; }
event MultiplayerSessionConnectionStateChangedEventHandler ConnectionStateChanged;
Task ConnectAsync(string ipAddress, int port);
void ProcessSessionPolicy(MultiplayerSessionPolicy policy);
void RequestSessionReservation(PlayerSettings playerSettings, AuthenticationContext authenticationContext);
void ProcessReservationResponsePacket(MultiplayerSessionReservation reservation);
void JoinSession();
void Disconnect();
}
}