Skip to content

Current Game Match

ConnectionDetails Record

C#
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public record ConnectionDetails(
    [property: JsonPropertyName("GameServerHosts")] IReadOnlyList<string> GameServerHosts,
    [property: JsonPropertyName("GameServerHost")] string GameServerHost,
    [property: JsonPropertyName("GameServerPort")] long GameServerPort,
    [property: JsonPropertyName("GameServerObfuscatedIP")] long GameServerObfuscatedIP,
    [property: JsonPropertyName("GameClientHash")] long GameClientHash,
    [property: JsonPropertyName("PlayerKey")] string PlayerKey
);

public record Player(
    [property: JsonPropertyName("Subject")] string Subject,
    [property: JsonPropertyName("TeamID")] string TeamID,
    [property: JsonPropertyName("CharacterID")] string CharacterID,
    [property: JsonPropertyName("PlayerIdentity")] PlayerIdentity PlayerIdentity,
    [property: JsonPropertyName("SeasonalBadgeInfo")] SeasonalBadgeInfo SeasonalBadgeInfo,
    [property: JsonPropertyName("IsCoach")] bool IsCoach,
    [property: JsonPropertyName("IsAssociated")] bool IsAssociated
);

public record PlayerIdentity(
    [property: JsonPropertyName("Subject")] string Subject,
    [property: JsonPropertyName("PlayerCardID")] string PlayerCardID,
    [property: JsonPropertyName("PlayerTitleID")] string PlayerTitleID,
    [property: JsonPropertyName("AccountLevel")] long AccountLevel,
    [property: JsonPropertyName("PreferredLevelBorderID")] string PreferredLevelBorderID,
    [property: JsonPropertyName("Incognito")] bool Incognito,
    [property: JsonPropertyName("HideAccountLevel")] bool HideAccountLevel
);

public record CurrentGameMatch(
    [property: JsonPropertyName("MatchID")] string MatchID,
    [property: JsonPropertyName("Version")] long Version,
    [property: JsonPropertyName("State")] string State,
    [property: JsonPropertyName("MapID")] string MapID,
    [property: JsonPropertyName("ModeID")] string ModeID,
    [property: JsonPropertyName("ProvisioningFlow")] string ProvisioningFlow,
    [property: JsonPropertyName("GamePodID")] string GamePodID,
    [property: JsonPropertyName("AllMUCName")] string AllMUCName,
    [property: JsonPropertyName("TeamMUCName")] string TeamMUCName,
    [property: JsonPropertyName("TeamVoiceID")] string TeamVoiceID,
    [property: JsonPropertyName("TeamMatchToken")] string TeamMatchToken,
    [property: JsonPropertyName("IsReconnectable")] bool IsReconnectable,
    [property: JsonPropertyName("ConnectionDetails")] ConnectionDetails ConnectionDetails,
    [property: JsonPropertyName("PostGameDetails")] object PostGameDetails,
    [property: JsonPropertyName("Players")] IReadOnlyList<Player> Players,
    [property: JsonPropertyName("MatchmakingData")] MatchmakingData MatchmakingData
);

public record MatchmakingData(
    [property: JsonPropertyName("QueueID")] string QueueID,
    [property: JsonPropertyName("IsRanked")] bool IsRanked
);

public record SeasonalBadgeInfo(
    [property: JsonPropertyName("SeasonID")] string SeasonID,
    [property: JsonPropertyName("NumberOfWins")] long NumberOfWins,
    [property: JsonPropertyName("WinsByTier")] object WinsByTier,
    [property: JsonPropertyName("Rank")] long Rank,
    [property: JsonPropertyName("LeaderboardRank")] long LeaderboardRank
);