Client LuaCsForBarotrauma
BarotraumaClient/ClientSource/Utils/RichTextData.cs
1 using System;
2 using System.Linq;
4 
5 namespace Barotrauma
6 {
7  static class RichTextDataExtensions
8  {
9  public static Client ExtractClient(this RichTextData data)
10  {
11  bool isInt = UInt64.TryParse(data.Metadata, out ulong uintId);
12  Option<AccountId> accountId = AccountId.Parse(data.Metadata);
13  Client client = GameMain.Client.ConnectedClients.Find(c => accountId.IsSome() && accountId == c.AccountId)
14  ?? GameMain.Client.ConnectedClients.Find(c => isInt && c.SessionId == uintId)
15  ?? GameMain.Client.PreviouslyConnectedClients.FirstOrDefault(c => accountId.IsSome() && accountId == c.AccountId)
16  ?? GameMain.Client.PreviouslyConnectedClients.FirstOrDefault(c => isInt && c.SessionId == uintId);
17  return client;
18  }
19  }
20 }