Added comments to some functions, renamed GetClientByName to GetClientByNameOrId

This commit is contained in:
hydrant
2018-11-01 12:13:20 +01:00
parent e5be3783f6
commit 15498b1baf
14 changed files with 133 additions and 41 deletions

View File

@@ -13,29 +13,29 @@ namespace reallife_gamemode.Server.Services
{
class ClientService
{
public static Client GetClientByName(string name)
/// <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)
{
/* 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();
nameOrId = nameOrId.ToLower();
List<Client> playerList = NAPI.Pools.GetAllPlayers();
if(int.TryParse(name, out int id))
if(int.TryParse(nameOrId, out int id))
{
toReturn = playerList.Find(p => p.Handle.Value == id);
return toReturn;
}
toReturn = playerList.Find(p => p.Name.ToLower() == name);
toReturn = playerList.Find(p => p.Name.ToLower() == nameOrId);
if(toReturn == null)
{
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(name));
toReturn = playerList.Find(p => p.Name.ToLower().StartsWith(nameOrId));
}
return toReturn;