25 lines
1.1 KiB
C#
25 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using LightlessSync.API.Dto.Group;
|
|
using LightlessSync.PlayerData.Pairs;
|
|
|
|
namespace LightlessSync.UI.Models;
|
|
|
|
public sealed record PairUiSnapshot(
|
|
IReadOnlyDictionary<string, Pair> PairsByUid,
|
|
IReadOnlyList<Pair> DirectPairs,
|
|
IReadOnlyDictionary<GroupFullInfoDto, IReadOnlyList<Pair>> GroupPairs,
|
|
IReadOnlyDictionary<Pair, IReadOnlyList<GroupFullInfoDto>> PairsWithGroups,
|
|
IReadOnlyDictionary<string, GroupFullInfoDto> GroupsByGid,
|
|
IReadOnlyCollection<GroupFullInfoDto> Groups)
|
|
{
|
|
public static PairUiSnapshot Empty { get; } = new(
|
|
new ReadOnlyDictionary<string, Pair>(new Dictionary<string, Pair>()),
|
|
Array.Empty<Pair>(),
|
|
new ReadOnlyDictionary<GroupFullInfoDto, IReadOnlyList<Pair>>(new Dictionary<GroupFullInfoDto, IReadOnlyList<Pair>>()),
|
|
new ReadOnlyDictionary<Pair, IReadOnlyList<GroupFullInfoDto>>(new Dictionary<Pair, IReadOnlyList<GroupFullInfoDto>>()),
|
|
new ReadOnlyDictionary<string, GroupFullInfoDto>(new Dictionary<string, GroupFullInfoDto>()),
|
|
Array.Empty<GroupFullInfoDto>());
|
|
}
|