109 lines
3.3 KiB
C#
109 lines
3.3 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace LeagueAPI.Models.ChampSelect;
|
|
|
|
public record class ChampSelectSession
|
|
{
|
|
[JsonPropertyName("id")]
|
|
public string? Id { get; init; }
|
|
|
|
[JsonPropertyName("gameId")]
|
|
public ulong GameId { get; init; }
|
|
|
|
[JsonPropertyName("queueId")]
|
|
public int QueueId { get; init; }
|
|
|
|
[JsonPropertyName("timer")]
|
|
public ChampSelectTimer? Timer { get; init; }
|
|
|
|
[JsonPropertyName("chatDetails")]
|
|
public ChampSelectChatRoomDetails? ChatDetails { get; init; }
|
|
|
|
[JsonPropertyName("myTeam")]
|
|
public ChampSelectPlayerSelection[] MyTeam { get; init; } = [];
|
|
|
|
[JsonPropertyName("theirTeam")]
|
|
public ChampSelectPlayerSelection[] TheirTeam { get; init; } = [];
|
|
|
|
[JsonPropertyName("trades")]
|
|
public ChampSelectSwapContract[] Trades { get; init; } = [];
|
|
|
|
[JsonPropertyName("pickOrderSwaps")]
|
|
public ChampSelectSwapContract[] PickOrderSwaps { get; init; } = [];
|
|
|
|
[JsonPropertyName("positionSwaps")]
|
|
public ChampSelectSwapContract[] PositionSwaps { get; init; } = [];
|
|
|
|
[JsonPropertyName("actions")]
|
|
public object[] Actions { get; init; } = [];
|
|
|
|
[JsonPropertyName("bans")]
|
|
public ChampSelectBannedChampions? Bans { get; init; }
|
|
|
|
[JsonPropertyName("localPlayerCellId")]
|
|
public long LocalPlayerCellId { get; init; }
|
|
|
|
[JsonPropertyName("isSpectating")]
|
|
public bool IsSpectating { get; init; }
|
|
|
|
[JsonPropertyName("allowSkinSelection")]
|
|
public bool AllowSkinSelection { get; init; }
|
|
|
|
[JsonPropertyName("allowSubsetChampionPicks")]
|
|
public bool AllowSubsetChampionPicks { get; init; }
|
|
|
|
[JsonPropertyName("allowDuplicatePicks")]
|
|
public bool AllowDuplicatePicks { get; init; }
|
|
|
|
[JsonPropertyName("allowPlayerPickSameChampion")]
|
|
public bool AllowPlayerPickSameChampion { get; init; }
|
|
|
|
[JsonPropertyName("disallowBanningTeammateHoveredChampions")]
|
|
public bool DisallowBanningTeammateHoveredChampions { get; init; }
|
|
|
|
[JsonPropertyName("allowBattleBoost")]
|
|
public bool AllowBattleBoost { get; init; }
|
|
|
|
[JsonPropertyName("boostableSkinCount")]
|
|
public int BoostableSkinCount { get; init; }
|
|
|
|
[JsonPropertyName("allowRerolling")]
|
|
public bool AllowRerolling { get; init; }
|
|
|
|
[JsonPropertyName("rerollsRemaining")]
|
|
public ulong RerollsRemaining { get; init; }
|
|
|
|
[JsonPropertyName("allowLockedEvents")]
|
|
public bool AllowLockedEvents { get; init; }
|
|
|
|
[JsonPropertyName("lockedEventIndex")]
|
|
public int LockedEventIndex { get; init; }
|
|
|
|
[JsonPropertyName("benchEnabled")]
|
|
public bool BenchEnabled { get; init; }
|
|
|
|
[JsonPropertyName("benchChampions")]
|
|
public BenchChampion[] BenchChampions { get; init; } = [];
|
|
|
|
[JsonPropertyName("counter")]
|
|
public long Counter { get; init; }
|
|
|
|
[JsonPropertyName("skipChampionSelect")]
|
|
public bool SkipChampionSelect { get; init; }
|
|
|
|
[JsonPropertyName("hasSimultaneousBans")]
|
|
public bool HasSimultaneousBans { get; init; }
|
|
|
|
[JsonPropertyName("hasSimultaneousPicks")]
|
|
public bool HasSimultaneousPicks { get; init; }
|
|
|
|
[JsonPropertyName("showQuitButton")]
|
|
public bool ShowQuitButton { get; init; }
|
|
|
|
[JsonPropertyName("isLegacyChampSelect")]
|
|
public bool IsLegacyChampSelect { get; init; }
|
|
|
|
[JsonPropertyName("isCustomGame")]
|
|
public bool IsCustomGame { get; init; }
|
|
}
|