45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
using GTANetworkAPI;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
/**
|
|
* @overview Life of German Reallife - Client Service (ClientService.cs)
|
|
* @author hydrant
|
|
* @copyright (c) 2008 - 2018 Life of German
|
|
*/
|
|
|
|
namespace ReallifeGamemode.Services
|
|
{
|
|
public class ClientService
|
|
{
|
|
/// <summary>
|
|
/// Gibt einen Client anhand seines Namens oder der ID zurück
|
|
/// </summary>
|
|
/// <param name="nameOrId">Die ID oder der Name, nach dem gesucht werden soll</param>
|
|
/// <returns></returns>
|
|
public static Client GetClientByNameOrId(string nameOrId)
|
|
{
|
|
Client toReturn = null;
|
|
nameOrId = nameOrId.ToLower();
|
|
|
|
List<Client> playerList = NAPI.Pools.GetAllPlayers();
|
|
|
|
if (int.TryParse(nameOrId, out int id))
|
|
{
|
|
toReturn = playerList.Find(p => p.Handle.Value == id);
|
|
return toReturn;
|
|
}
|
|
|
|
toReturn = playerList.Find(p => p.Name.ToLower() == nameOrId);
|
|
|
|
if (toReturn == null)
|
|
{
|
|
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(nameOrId));
|
|
}
|
|
|
|
return toReturn;
|
|
}
|
|
}
|
|
}
|