22 lines
910 B
C#
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();
|
|
}
|
|
}
|