gotta go fast(er)
This commit is contained in:
@@ -5,7 +5,6 @@ using MareSynchronos.Utils;
|
|||||||
using MareSynchronos.WebAPI;
|
using MareSynchronos.WebAPI;
|
||||||
using MareSynchronos.WebAPI.Files;
|
using MareSynchronos.WebAPI.Files;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace MareSynchronos.PlayerData.Pairs;
|
namespace MareSynchronos.PlayerData.Pairs;
|
||||||
|
|
||||||
|
|||||||
@@ -93,11 +93,12 @@ public sealed class PairManager : DisposableMediatorSubscriberBase
|
|||||||
|
|
||||||
public List<(PlayerCharacter Character, Pair? Pair)> FindAllPairs(List<PlayerCharacter> playerCharacters)
|
public List<(PlayerCharacter Character, Pair? Pair)> FindAllPairs(List<PlayerCharacter> playerCharacters)
|
||||||
{
|
{
|
||||||
return playerCharacters.Select(p =>
|
var indexedPairs = new Dictionary<string, Pair>(StringComparer.Ordinal);
|
||||||
|
foreach (var pair in _allClientPairs.Values)
|
||||||
{
|
{
|
||||||
var hash = p.GetHash256();
|
indexedPairs[pair.GetPlayerNameHash()] = pair;
|
||||||
return (p, _allClientPairs.Values.FirstOrDefault(f => string.Equals(hash, f.GetPlayerNameHash())));
|
}
|
||||||
}).ToList();
|
return playerCharacters.Select(p => (p, indexedPairs.TryGetValue(p.GetHash256(), out var pair) ? pair : null)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pair? FindPair(PlayerCharacter? pChar)
|
public Pair? FindPair(PlayerCharacter? pChar)
|
||||||
|
|||||||
Reference in New Issue
Block a user