don't show shared data from paused people
This commit is contained in:
@@ -63,6 +63,17 @@ public sealed class PairManager : DisposableMediatorSubscriberBase
|
|||||||
RecreateLazy();
|
RecreateLazy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Pair? GetPairByUID(string uid)
|
||||||
|
{
|
||||||
|
var existingPair = _allClientPairs.FirstOrDefault(f => f.Key.UID == uid);
|
||||||
|
if (!Equals(existingPair, default(KeyValuePair<UserData, Pair>)))
|
||||||
|
{
|
||||||
|
return existingPair.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public void AddUserPair(UserFullPairDto dto)
|
public void AddUserPair(UserFullPairDto dto)
|
||||||
{
|
{
|
||||||
if (!_allClientPairs.ContainsKey(dto.User))
|
if (!_allClientPairs.ContainsKey(dto.User))
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using MareSynchronos.Interop.Ipc;
|
|||||||
using MareSynchronos.MareConfiguration;
|
using MareSynchronos.MareConfiguration;
|
||||||
using MareSynchronos.PlayerData.Factories;
|
using MareSynchronos.PlayerData.Factories;
|
||||||
using MareSynchronos.PlayerData.Handlers;
|
using MareSynchronos.PlayerData.Handlers;
|
||||||
|
using MareSynchronos.PlayerData.Pairs;
|
||||||
using MareSynchronos.Services.CharaData.Models;
|
using MareSynchronos.Services.CharaData.Models;
|
||||||
using MareSynchronos.Services.Mediator;
|
using MareSynchronos.Services.Mediator;
|
||||||
using MareSynchronos.Utils;
|
using MareSynchronos.Utils;
|
||||||
@@ -26,6 +27,7 @@ public sealed partial class CharaDataManager : DisposableMediatorSubscriberBase
|
|||||||
private readonly List<CharaDataMetaInfoExtendedDto> _nearbyData = [];
|
private readonly List<CharaDataMetaInfoExtendedDto> _nearbyData = [];
|
||||||
private readonly CharaDataNearbyManager _nearbyManager;
|
private readonly CharaDataNearbyManager _nearbyManager;
|
||||||
private readonly CharaDataCharacterHandler _characterHandler;
|
private readonly CharaDataCharacterHandler _characterHandler;
|
||||||
|
private readonly PairManager _pairManager;
|
||||||
private readonly Dictionary<string, CharaDataFullExtendedDto> _ownCharaData = [];
|
private readonly Dictionary<string, CharaDataFullExtendedDto> _ownCharaData = [];
|
||||||
private readonly Dictionary<string, Task> _sharedMetaInfoTimeoutTasks = [];
|
private readonly Dictionary<string, Task> _sharedMetaInfoTimeoutTasks = [];
|
||||||
private readonly Dictionary<UserData, List<CharaDataMetaInfoExtendedDto>> _sharedWithYouData = [];
|
private readonly Dictionary<UserData, List<CharaDataMetaInfoExtendedDto>> _sharedWithYouData = [];
|
||||||
@@ -42,7 +44,7 @@ public sealed partial class CharaDataManager : DisposableMediatorSubscriberBase
|
|||||||
MareMediator mareMediator, IpcManager ipcManager, DalamudUtilService dalamudUtilService,
|
MareMediator mareMediator, IpcManager ipcManager, DalamudUtilService dalamudUtilService,
|
||||||
FileDownloadManagerFactory fileDownloadManagerFactory,
|
FileDownloadManagerFactory fileDownloadManagerFactory,
|
||||||
CharaDataConfigService charaDataConfigService, CharaDataNearbyManager charaDataNearbyManager,
|
CharaDataConfigService charaDataConfigService, CharaDataNearbyManager charaDataNearbyManager,
|
||||||
CharaDataCharacterHandler charaDataCharacterHandler) : base(logger, mareMediator)
|
CharaDataCharacterHandler charaDataCharacterHandler, PairManager pairManager) : base(logger, mareMediator)
|
||||||
{
|
{
|
||||||
_apiController = apiController;
|
_apiController = apiController;
|
||||||
_fileHandler = charaDataFileHandler;
|
_fileHandler = charaDataFileHandler;
|
||||||
@@ -51,6 +53,7 @@ public sealed partial class CharaDataManager : DisposableMediatorSubscriberBase
|
|||||||
_configService = charaDataConfigService;
|
_configService = charaDataConfigService;
|
||||||
_nearbyManager = charaDataNearbyManager;
|
_nearbyManager = charaDataNearbyManager;
|
||||||
_characterHandler = charaDataCharacterHandler;
|
_characterHandler = charaDataCharacterHandler;
|
||||||
|
_pairManager = pairManager;
|
||||||
mareMediator.Subscribe<ConnectedMessage>(this, (msg) =>
|
mareMediator.Subscribe<ConnectedMessage>(this, (msg) =>
|
||||||
{
|
{
|
||||||
_connectCts?.Cancel();
|
_connectCts?.Cancel();
|
||||||
@@ -395,6 +398,8 @@ public sealed partial class CharaDataManager : DisposableMediatorSubscriberBase
|
|||||||
var result = await GetSharedWithYouTask.ConfigureAwait(false);
|
var result = await GetSharedWithYouTask.ConfigureAwait(false);
|
||||||
foreach (var grouping in result.GroupBy(r => r.Uploader))
|
foreach (var grouping in result.GroupBy(r => r.Uploader))
|
||||||
{
|
{
|
||||||
|
var pair = _pairManager.GetPairByUID(grouping.Key.UID);
|
||||||
|
if (pair?.IsPaused ?? false) continue;
|
||||||
List<CharaDataMetaInfoExtendedDto> newList = new();
|
List<CharaDataMetaInfoExtendedDto> newList = new();
|
||||||
foreach (var item in grouping)
|
foreach (var item in grouping)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user