mirror of
https://github.com/JogmansonReal/Radicade.git
synced 2026-10-25 23:18:56 -07:00
26 lines
846 B
C#
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; }
|
|
}
|
|
}
|