Skip to content

Commit

Permalink
add support to fetch user position by id
Browse files Browse the repository at this point in the history
  • Loading branch information
lorux0 committed Jan 30, 2025
1 parent a62a1a2 commit b2ac1a5
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class ArchipelagoHttpOnlineUsersProvider : IOnlineUsersProvider

private readonly IWebRequestController webRequestController;
private readonly URLAddress baseUrl;
private readonly URLBuilder urlBuilder = new ();

public ArchipelagoHttpOnlineUsersProvider(
IWebRequestController webRequestController,
Expand All @@ -26,5 +27,17 @@ public ArchipelagoHttpOnlineUsersProvider(
public async UniTask<IReadOnlyCollection<OnlineUserData>> GetAsync(CancellationToken ct) =>
await webRequestController.GetAsync(baseUrl, ct, ReportCategory.MULTIPLAYER)
.CreateFromNewtonsoftJsonAsync<List<OnlineUserData>>(serializerSettings: SERIALIZER_SETTINGS);

public async UniTask<IReadOnlyCollection<OnlineUserData>> GetAsync(IEnumerable<string> userIds, CancellationToken ct)
{
urlBuilder.Clear();
urlBuilder.AppendDomain(URLDomain.FromString(baseUrl));

foreach (string userId in userIds)
urlBuilder.AppendParameter(new URLParameter("id", userId));

return await webRequestController.GetAsync(baseUrl, ct, ReportCategory.MULTIPLAYER)
.CreateFromNewtonsoftJsonAsync<List<OnlineUserData>>(serializerSettings: SERIALIZER_SETTINGS);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ namespace DCL.Multiplayer.Connectivity
public interface IOnlineUsersProvider
{
UniTask<IReadOnlyCollection<OnlineUserData>> GetAsync(CancellationToken ct);
UniTask<IReadOnlyCollection<OnlineUserData>> GetAsync(IEnumerable<string> userIds, CancellationToken ct);
}
}
7 changes: 3 additions & 4 deletions Explorer/Assets/DCL/PluginSystem/Global/FriendsPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,18 @@
using DCL.Input;
using DCL.Multiplayer.Connections.DecentralandUrls;
using DCL.Profiles;
using DCL.RealmNavigation;
using DCL.Profiles.Self;
using DCL.Web3.Identities;
using DCL.RealmNavigation;
using DCL.UI.MainUI;
using DCL.Utilities;
using DCL.Web3.Identities;
using DCL.WebRequests;
using MVC;
using System;
using System.Net.WebSockets;
using System.Threading;
using Utility;
using UnityEngine;
using UnityEngine.AddressableAssets;
using Utility;

namespace DCL.PluginSystem.Global
{
Expand Down

0 comments on commit b2ac1a5

Please sign in to comment.