| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using Gommon;
- using LibHac.Ns;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Ryujinx.Ava.Utilities.AppLibrary
- {
- public struct LdnGameData
- {
- public string Id { get; set; }
- public int PlayerCount { get; set; }
- public int MaxPlayerCount { get; set; }
- public string GameName { get; set; }
- public string TitleId { get; set; }
- public string Mode { get; set; }
- public string Status { get; set; }
- public IEnumerable<string> Players { get; set; }
- public static Array GetArrayForApp(
- IEnumerable<LdnGameData> receivedData, ref ApplicationControlProperty acp)
- {
- LibHac.Common.FixedArrays.Array8<ulong> communicationId = acp.LocalCommunicationId;
- return new Array(receivedData.Where(game =>
- communicationId.Items.Contains(game.TitleId.ToULong())
- ));
- }
- public class Array
- {
- private readonly LdnGameData[] _ldnDatas;
-
- internal Array(IEnumerable<LdnGameData> receivedData)
- {
- _ldnDatas = receivedData.ToArray();
- }
- public int PlayerCount => _ldnDatas.Sum(it => it.PlayerCount);
- public int GameCount => _ldnDatas.Length;
- }
- }
- }
|