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

@@ -30,7 +30,7 @@ namespace reallife_gamemode
NAPI.Server.SetAutoRespawnAfterDeath(false);
NAPI.Data.SetWorldData("playerCreatorDimension", 0);
TuningManager.AddTuningGarage(new Vector3(-341, -134, 38.5), new Vector3(-334, -143, 41));
TuningManager.AddTuningGarage(new Vector3(-341, -134, 38.5));
using (var context = new DatabaseContext())
{

View File

@@ -81,7 +81,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
@@ -114,7 +114,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
@@ -136,7 +136,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -196,7 +196,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(targetname);
Client target = ClientService.GetClientByNameOrId(targetname);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -216,7 +216,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(targetname);
Client target = ClientService.GetClientByNameOrId(targetname);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -413,7 +413,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(targetname);
Client target = ClientService.GetClientByNameOrId(targetname);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -433,7 +433,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(targetname);
Client target = ClientService.GetClientByNameOrId(targetname);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -457,7 +457,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(targetname);
Client target = ClientService.GetClientByNameOrId(targetname);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -475,7 +475,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(user);
Client target = ClientService.GetClientByNameOrId(user);
if (target == null || !target.IsLoggedIn())
{
@@ -571,7 +571,7 @@ namespace reallife_gamemode.Server.Commands
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -607,7 +607,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -626,7 +626,7 @@ namespace reallife_gamemode.Server.Commands
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -649,7 +649,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -670,7 +670,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -689,7 +689,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -823,7 +823,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -852,7 +852,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -879,7 +879,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -903,7 +903,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -1124,7 +1124,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -1175,7 +1175,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -1622,7 +1622,7 @@ namespace reallife_gamemode.Server.Commands
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(receiver);
Client target = ClientService.GetClientByNameOrId(receiver);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -1646,7 +1646,7 @@ namespace reallife_gamemode.Server.Commands
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(receiver);
Client target = ClientService.GetClientByNameOrId(receiver);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -1795,7 +1795,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);

View File

@@ -78,7 +78,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -109,7 +109,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
@@ -149,7 +149,7 @@ namespace reallife_gamemode.Server.Commands
return;
}
Client target = ClientService.GetClientByName(name);
Client target = ClientService.GetClientByNameOrId(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);

View File

@@ -38,7 +38,7 @@ namespace reallife_gamemode.Server.Entities
_balance = value;
using(var dbContext = new DatabaseContext())
{
ClientService.GetClientByName(dbContext.Users.First(u => u.Id == UserId).Name).TriggerEvent("updateMoney", value);
ClientService.GetClientByNameOrId(dbContext.Users.First(u => u.Id == UserId).Name).TriggerEvent("updateMoney", value);
}
}
}

View File

@@ -8,6 +8,11 @@ namespace reallife_gamemode.Server.Extensions
{
public static class AdminLevelExtension
{
/// <summary>
/// Gibt den richtigen Namen eines Admin Levels zurück
/// </summary>
/// <param name="level">Das Admin Level, dessen Namen man bekommen möchte</param>
/// <returns></returns>
public static string GetName(this AdminLevel level)
{
switch(level)

View File

@@ -19,6 +19,13 @@ namespace reallife_gamemode.Server.Extensions
{
public static class ClientExtension
{
/// <summary>
/// Gibt das User-Objekt eines Client's zurück
/// Gibt nichts zurück, wenn der Client nicht eingeloggt ist
/// </summary>
/// <param name="client">Der Client, dessen User man bekommen möchte</param>
/// <param name="context">Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will</param>
/// <returns></returns>
public static User GetUser(this Client client, DatabaseContext context = null)
{
if (!client.IsLoggedIn()) return null;
@@ -35,6 +42,11 @@ namespace reallife_gamemode.Server.Extensions
}
}
/// <summary>
/// Gibt zurück, ob ein Client eingeloggt ist
/// </summary>
/// <param name="player">Der Client, dessen Login-Status man bekommen möchte</param>
/// <returns></returns>
public static bool IsLoggedIn(this Client player)
{
return player.HasData("isLoggedIn") ? player.GetData("isLoggedIn") : false;

View File

@@ -17,6 +17,12 @@ namespace reallife_gamemode.Server.Extensions
{
public static class FactionExtension
{
/// <summary>
/// Gibt das Bankkonto einer Fraktion zurück
/// </summary>
/// <param name="faction">Die Fraktion, dessen Bankkonto man bekommen möchte</param>
/// <param name="context">Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will</param>
/// <returns></returns>
public static FactionBankAccount GetFactionBankAccount(this Faction faction, DatabaseContext context = null)
{
if (context == null)

View File

@@ -17,6 +17,12 @@ namespace reallife_gamemode.Server.Extensions
{
public static class UserExtension
{
/// <summary>
/// Gibt das Bankkonto eines Users zurück
/// </summary>
/// <param name="user">Der User, dessen Bankkonto man bekommen möchte</param>
/// <param name="context">Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will</param>
/// <returns></returns>
public static UserBankAccount GetUserBankAccount(this User user, DatabaseContext context = null)
{
if (context == null)
@@ -31,6 +37,13 @@ namespace reallife_gamemode.Server.Extensions
return context.UserBankAccounts.FirstOrDefault(u => u.UserId == user.Id);
}
}
/// <summary>
/// Gibt den Character eines Users zurück
/// </summary>
/// <param name="user">Der Client, dessen Character man bekommen möchte</param>
/// <param name="context">Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will</param>
/// <returns></returns>
public static Character GetUserCharacter(this User user, DatabaseContext context = null)
{
if (context == null)

View File

@@ -18,6 +18,11 @@ namespace reallife_gamemode.Server.Extensions
{
public static class VehicleExtension
{
/// <summary>
/// Gibt zurück, ob das Vehicle ein Fraktions-Fahrzeug ist
/// </summary>
/// <param name="vehicle">Das Vehicle, von dem man wissen möchte, ob es ein Fraktionsfahrzeug ist</param>
/// <returns></returns>
public static bool IsFactionVehicle(this Vehicle vehicle)
{
return LoadManager.FactionVehicleList.Contains(vehicle);

View File

@@ -17,6 +17,13 @@ namespace reallife_gamemode.Server.Managers
{
public class BankManager : Script
{
/// <summary>
/// Transferiert Geld von einem User zu einem anderen User
/// </summary>
/// <param name="sender">Der Sender des Geldes</param>
/// <param name="receiver">Der Empfänger des Geldes</param>
/// <param name="amount">Der Geldbetrag</param>
/// <param name="origin">Der Überweisungsgrund</param>
public static void TransferUserMoneyToUser(User sender, User receiver, int amount, string origin)
{
using (var transferMoney = new Model.DatabaseContext())
@@ -41,6 +48,13 @@ namespace reallife_gamemode.Server.Managers
}
}
/// <summary>
/// Transferiert Geld von einem User zu einer Fraktion
/// </summary>
/// <param name="sender">Der Sender des Geldes</param>
/// <param name="receiver">Der Empfänger des Geldes</param>
/// <param name="amount">Der Geldbetrag</param>
/// <param name="origin">Der Überweisungsgrund</param>
public static void TransferUserMoneyToFaction(User sender, Faction receiver, int amount, string origin)
{
using (var transferMoney = new Model.DatabaseContext())
@@ -65,6 +79,13 @@ namespace reallife_gamemode.Server.Managers
}
}
/// <summary>
/// Transferiert Geld von einer Fraktion zu einem User
/// </summary>
/// <param name="sender">Der Sender des Geldes</param>
/// <param name="receiver">Der Empfänger des Geldes</param>
/// <param name="amount">Der Geldbetrag</param>
/// <param name="origin">Der Überweisungsgrund</param>
public static void TransferFactionMoneyToUser(Faction sender, User receiver, int amount, string origin)
{
using (var transferMoney = new Model.DatabaseContext())
@@ -89,6 +110,13 @@ namespace reallife_gamemode.Server.Managers
}
}
/// <summary>
/// Transferiert Geld von einer Fraktion zu einer anderen Fraktion
/// </summary>
/// <param name="sender">Der Sender des Geldes</param>
/// <param name="receiver">Der Empfänger des Geldes</param>
/// <param name="amount">Der Geldbetrag</param>
/// <param name="origin">Der Überweisungsgrund</param>
public static void TransferFactionMoneyToFaction(Faction sender, Faction receiver, int amount, string origin)
{
using (var transferMoney = new Model.DatabaseContext())

View File

@@ -179,6 +179,10 @@ namespace reallife_gamemode.Server.Managers
player.Dimension = 0;
}
/// <summary>
/// Wendet den Character eines Spielers auf diesen an
/// </summary>
/// <param name="player">Der Client, dessen Aussehen man setzen will</param>
public static void ApplyCharacter(Client player)
{
var userId = player.GetUser().Id;

View File

@@ -7,9 +7,13 @@ namespace reallife_gamemode.Server.Managers
{
private static List<ColShape> tuningGarages = new List<ColShape>();
public static void AddTuningGarage(Vector3 pos1, Vector3 pos2)
/// <summary>
/// Fügt eine Tuning-Garage zum Spiel hinzu
/// </summary>
/// <param name="pos">Die Position der Garage</param>
public static void AddTuningGarage(Vector3 pos)
{
ColShape colShape = NAPI.ColShape.CreateSphereColShape(pos1, 10, 0);
ColShape colShape = NAPI.ColShape.CreateSphereColShape(pos, 10, 0);
colShape.OnEntityEnterColShape += (cs, c) =>
{

View File

@@ -37,6 +37,11 @@ namespace reallife_gamemode.Server.Services
player.SendChatMessage("~r~[FEHLER]~s~ Die Aktion wurde nicht ausgeführt.");
}
/// <summary>
/// Sendet eine Nachricht an eine Liste von Fraktionen
/// </summary>
/// <param name="message">Die Nachricht, die gesendet werden soll</param>
/// <param name="factions">Die Liste an Fraktionen, die diese Nachricht bekommen sollen</param>
public static void BroadcastFaction(string message, List<Faction> factions)
{
foreach (Client c in NAPI.Pools.GetAllPlayers())
@@ -52,11 +57,21 @@ namespace reallife_gamemode.Server.Services
}
}
/// <summary>
/// Sendet eine Nachricht an eine Fraktion
/// </summary>
/// <param name="message">Die Nachricht, die gesendet werden soll</param>
/// <param name="f">Die Fraktion, die diese Nachricht bekommen soll</param>
public static void BroadcastFaction(string message, Faction f)
{
BroadcastFaction(message, new List<Faction>() { f });
}
/// <summary>
/// Sendet eine Nachricht an alle Spieler mit einem bestimmten Admin Level
/// </summary>
/// <param name="message">Die Nachricht, die gesendet werden soll</param>
/// <param name="minLevel">Das mindest Admin Level, das für das Erhalten dieser Nachricht benötigt wird</param>
public static void BroadcastAdmin(string message, AdminLevel minLevel)
{
NAPI.Pools.GetAllPlayers().ForEach(p =>

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;