Files
LightlessClient/LightlessSync/UI/Models/PairUiSnapshot.cs
2025-11-25 07:14:59 +09:00

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