Files
Radicade/Server/Messages/RoomInviteDetails.cs
T
2026-10-16 23:33:13 -07:00

26 lines
846 B
C#

using System.Text.Json;
using RadicadeServer.RecNet.Enums.Messages;
namespace RadicadeServer.RecNet.Messages;
public sealed class RoomInviteDetails
{
public long InviteId { get; set; }
public string Name { get; set; } = string.Empty;
public int InviteMode { get; set; }
public long RoomInstanceId { get; set; }
public static long? GetInstanceId(Message message)
{
if (message.Type == MessageType.GameInvite)
return long.TryParse(message.Data, out var id) && id > 0 ? id : null;
if (message.Type != MessageType.GameInviteV2) return null;
try
{
var details = JsonSerializer.Deserialize<RoomInviteDetails>(message.Data);
return details?.RoomInstanceId > 0 ? details.RoomInstanceId : null;
}
catch (JsonException) { return null; }
}
}