Add project files.

This commit is contained in:
2026-03-08 20:45:01 +01:00
commit 053a4052dd
45 changed files with 2578 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
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; }
}