Files
reallife-gamemode/Server/Services/ClientService.cs
2018-10-20 17:19:05 +02:00

45 lines
1.3 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 reallife_gamemode.Server.Services
{
class ClientService
{
public static Client GetClientByName(string name)
{
/* Funktionsaufbau: Prüft erst, ob ein Spieler mit exakt diesem Namen online ist
* Wenn Ja: Wird dieser zurückgegeben
* Wenn Nein: Wird der erste Spieler zurückgegeben, dessen Namen mit dem eingegebenen Parameter übereinstimmt
* Gibt "null" zurück, falls kein Client gefunden wurde
*/
Client toReturn = null;
name = name.ToLower();
List<Client> playerList = NAPI.Pools.GetAllPlayers();
if(int.TryParse(name, out int id))
{
toReturn = playerList.Find(p => p.Handle.Value == id);
return toReturn;
}
toReturn = playerList.Find(p => p.Name.ToLower() == name);
if(toReturn == null)
{
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(name));
}
return toReturn;
}
}
}