Files
Nitrox/NitroxClient/Communication/MultiplayerSession/ConnectionState/CommunicatingState.cs
2025-07-06 00:23:46 +02:00

23 lines
932 B
C#

using System.Threading.Tasks;
using NitroxClient.Communication.Abstract;
namespace NitroxClient.Communication.MultiplayerSession.ConnectionState
{
public abstract class CommunicatingState : IMultiplayerSessionConnectionState
{
public abstract MultiplayerSessionConnectionStage CurrentStage { get; }
public abstract Task NegotiateReservationAsync(IMultiplayerSessionConnectionContext sessionConnectionContext);
public abstract void JoinSession(IMultiplayerSessionConnectionContext sessionConnectionContext);
public virtual void Disconnect(IMultiplayerSessionConnectionContext sessionConnectionContext)
{
sessionConnectionContext.ClearSessionState();
sessionConnectionContext.Client.Stop();
Disconnected newConnectionState = new Disconnected();
sessionConnectionContext.UpdateConnectionState(newConnectionState);
}
}
}