Skip to content

Pre Game Match

PreGameMatch 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
public record AllyTeam(
    [property: JsonPropertyName("TeamID")] string TeamID,
    [property: JsonPropertyName("Players")] IReadOnlyList<Player> Players
);

public record CastedVotes();

public record Player(
    [property: JsonPropertyName("Subject")] string Subject,
    [property: JsonPropertyName("CharacterID")] string CharacterID,
    [property: JsonPropertyName("CharacterSelectionState")] string CharacterSelectionState,
    [property: JsonPropertyName("PregamePlayerState")] string PregamePlayerState,
    [property: JsonPropertyName("CompetitiveTier")] long CompetitiveTier,
    [property: JsonPropertyName("PlayerIdentity")] PlayerIdentity PlayerIdentity,
    [property: JsonPropertyName("SeasonalBadgeInfo")] SeasonalBadgeInfo SeasonalBadgeInfo,
    [property: JsonPropertyName("IsCaptain")] bool IsCaptain
);

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 PreGameMatch(
    [property: JsonPropertyName("ID")] string ID,
    [property: JsonPropertyName("Version")] long Version,
    [property: JsonPropertyName("Teams")] IReadOnlyList<Team> Teams,
    [property: JsonPropertyName("AllyTeam")] AllyTeam AllyTeam,
    [property: JsonPropertyName("EnemyTeam")] object EnemyTeam,
    [property: JsonPropertyName("ObserverSubjects")] IReadOnlyList<object> ObserverSubjects,
    [property: JsonPropertyName("MatchCoaches")] IReadOnlyList<object> MatchCoaches,
    [property: JsonPropertyName("EnemyTeamSize")] long EnemyTeamSize,
    [property: JsonPropertyName("EnemyTeamLockCount")] long EnemyTeamLockCount,
    [property: JsonPropertyName("PregameState")] string PregameState,
    [property: JsonPropertyName("LastUpdated")] DateTime LastUpdated,
    [property: JsonPropertyName("MapID")] string MapID,
    [property: JsonPropertyName("MapSelectPool")] IReadOnlyList<object> MapSelectPool,
    [property: JsonPropertyName("BannedMapIDs")] IReadOnlyList<object> BannedMapIDs,
    [property: JsonPropertyName("CastedVotes")] CastedVotes CastedVotes,
    [property: JsonPropertyName("MapSelectSteps")] IReadOnlyList<object> MapSelectSteps,
    [property: JsonPropertyName("MapSelectStep")] long MapSelectStep,
    [property: JsonPropertyName("Team1")] string Team1,
    [property: JsonPropertyName("GamePodID")] string GamePodID,
    [property: JsonPropertyName("Mode")] string Mode,
    [property: JsonPropertyName("VoiceSessionID")] string VoiceSessionID,
    [property: JsonPropertyName("MUCName")] string MUCName,
    [property: JsonPropertyName("TeamMatchToken")] string TeamMatchToken,
    [property: JsonPropertyName("QueueID")] string QueueID,
    [property: JsonPropertyName("ProvisioningFlowID")] string ProvisioningFlowID,
    [property: JsonPropertyName("IsRanked")] bool IsRanked,
    [property: JsonPropertyName("PhaseTimeRemainingNS")] long PhaseTimeRemainingNS,
    [property: JsonPropertyName("StepTimeRemainingNS")] long StepTimeRemainingNS,
    [property: JsonPropertyName("altModesFlagADA")] bool AltModesFlagADA,
    [property: JsonPropertyName("TournamentMetadata")] object TournamentMetadata,
    [property: JsonPropertyName("RosterMetadata")] object RosterMetadata
);

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
);

public record Team(
    [property: JsonPropertyName("TeamID")] string TeamID,
    [property: JsonPropertyName("Players")] IReadOnlyList<Player> Players
);