diff --git a/Main.cs b/Main.cs index b6cb9f26..d64ad995 100644 --- a/Main.cs +++ b/Main.cs @@ -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()) { diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index 119ddae3..d3c259ff 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -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); diff --git a/Server/Commands/Faction.cs b/Server/Commands/Faction.cs index 1d5ac05c..298b28ee 100644 --- a/Server/Commands/Faction.cs +++ b/Server/Commands/Faction.cs @@ -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); diff --git a/Server/Entities/UserBankAccount.cs b/Server/Entities/UserBankAccount.cs index 12d532d8..25ba6c37 100644 --- a/Server/Entities/UserBankAccount.cs +++ b/Server/Entities/UserBankAccount.cs @@ -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); } } } diff --git a/Server/Extensions/AdminLevelExtension.cs b/Server/Extensions/AdminLevelExtension.cs index e3f8e95a..fcca308a 100644 --- a/Server/Extensions/AdminLevelExtension.cs +++ b/Server/Extensions/AdminLevelExtension.cs @@ -8,6 +8,11 @@ namespace reallife_gamemode.Server.Extensions { public static class AdminLevelExtension { + /// + /// Gibt den richtigen Namen eines Admin Levels zurück + /// + /// Das Admin Level, dessen Namen man bekommen möchte + /// public static string GetName(this AdminLevel level) { switch(level) diff --git a/Server/Extensions/ClientExtension.cs b/Server/Extensions/ClientExtension.cs index 354086f3..3ee54a53 100644 --- a/Server/Extensions/ClientExtension.cs +++ b/Server/Extensions/ClientExtension.cs @@ -19,6 +19,13 @@ namespace reallife_gamemode.Server.Extensions { public static class ClientExtension { + /// + /// Gibt das User-Objekt eines Client's zurück + /// Gibt nichts zurück, wenn der Client nicht eingeloggt ist + /// + /// Der Client, dessen User man bekommen möchte + /// Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will + /// public static User GetUser(this Client client, DatabaseContext context = null) { if (!client.IsLoggedIn()) return null; @@ -35,6 +42,11 @@ namespace reallife_gamemode.Server.Extensions } } + /// + /// Gibt zurück, ob ein Client eingeloggt ist + /// + /// Der Client, dessen Login-Status man bekommen möchte + /// public static bool IsLoggedIn(this Client player) { return player.HasData("isLoggedIn") ? player.GetData("isLoggedIn") : false; diff --git a/Server/Extensions/FactionExtension.cs b/Server/Extensions/FactionExtension.cs index b5ca655a..db5f6022 100644 --- a/Server/Extensions/FactionExtension.cs +++ b/Server/Extensions/FactionExtension.cs @@ -17,6 +17,12 @@ namespace reallife_gamemode.Server.Extensions { public static class FactionExtension { + /// + /// Gibt das Bankkonto einer Fraktion zurück + /// + /// Die Fraktion, dessen Bankkonto man bekommen möchte + /// Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will + /// public static FactionBankAccount GetFactionBankAccount(this Faction faction, DatabaseContext context = null) { if (context == null) diff --git a/Server/Extensions/UserExtension.cs b/Server/Extensions/UserExtension.cs index 005b2415..566810b1 100644 --- a/Server/Extensions/UserExtension.cs +++ b/Server/Extensions/UserExtension.cs @@ -17,6 +17,12 @@ namespace reallife_gamemode.Server.Extensions { public static class UserExtension { + /// + /// Gibt das Bankkonto eines Users zurück + /// + /// Der User, dessen Bankkonto man bekommen möchte + /// Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will + /// 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); } } + + /// + /// Gibt den Character eines Users zurück + /// + /// Der Client, dessen Character man bekommen möchte + /// Ein eventuell vorhandener Datenbank-Context, falls man Änderungen in der Datenbank vornehmen will + /// public static Character GetUserCharacter(this User user, DatabaseContext context = null) { if (context == null) diff --git a/Server/Extensions/VehicleExtension.cs b/Server/Extensions/VehicleExtension.cs index c572dd1b..7a6e9886 100644 --- a/Server/Extensions/VehicleExtension.cs +++ b/Server/Extensions/VehicleExtension.cs @@ -18,6 +18,11 @@ namespace reallife_gamemode.Server.Extensions { public static class VehicleExtension { + /// + /// Gibt zurück, ob das Vehicle ein Fraktions-Fahrzeug ist + /// + /// Das Vehicle, von dem man wissen möchte, ob es ein Fraktionsfahrzeug ist + /// public static bool IsFactionVehicle(this Vehicle vehicle) { return LoadManager.FactionVehicleList.Contains(vehicle); diff --git a/Server/Managers/BankManager.cs b/Server/Managers/BankManager.cs index d070da45..279515e4 100644 --- a/Server/Managers/BankManager.cs +++ b/Server/Managers/BankManager.cs @@ -17,6 +17,13 @@ namespace reallife_gamemode.Server.Managers { public class BankManager : Script { + /// + /// Transferiert Geld von einem User zu einem anderen User + /// + /// Der Sender des Geldes + /// Der Empfänger des Geldes + /// Der Geldbetrag + /// Der Überweisungsgrund 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 } } + /// + /// Transferiert Geld von einem User zu einer Fraktion + /// + /// Der Sender des Geldes + /// Der Empfänger des Geldes + /// Der Geldbetrag + /// Der Überweisungsgrund 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 } } + /// + /// Transferiert Geld von einer Fraktion zu einem User + /// + /// Der Sender des Geldes + /// Der Empfänger des Geldes + /// Der Geldbetrag + /// Der Überweisungsgrund 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 } } + /// + /// Transferiert Geld von einer Fraktion zu einer anderen Fraktion + /// + /// Der Sender des Geldes + /// Der Empfänger des Geldes + /// Der Geldbetrag + /// Der Überweisungsgrund public static void TransferFactionMoneyToFaction(Faction sender, Faction receiver, int amount, string origin) { using (var transferMoney = new Model.DatabaseContext()) diff --git a/Server/Managers/CharacterCreator.cs b/Server/Managers/CharacterCreator.cs index d5c4518d..caf1b351 100644 --- a/Server/Managers/CharacterCreator.cs +++ b/Server/Managers/CharacterCreator.cs @@ -179,6 +179,10 @@ namespace reallife_gamemode.Server.Managers player.Dimension = 0; } + /// + /// Wendet den Character eines Spielers auf diesen an + /// + /// Der Client, dessen Aussehen man setzen will public static void ApplyCharacter(Client player) { var userId = player.GetUser().Id; diff --git a/Server/Managers/TuningManager.cs b/Server/Managers/TuningManager.cs index f2c73e73..4c319978 100644 --- a/Server/Managers/TuningManager.cs +++ b/Server/Managers/TuningManager.cs @@ -7,9 +7,13 @@ namespace reallife_gamemode.Server.Managers { private static List tuningGarages = new List(); - public static void AddTuningGarage(Vector3 pos1, Vector3 pos2) + /// + /// Fügt eine Tuning-Garage zum Spiel hinzu + /// + /// Die Position der Garage + 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) => { diff --git a/Server/Services/ChatService.cs b/Server/Services/ChatService.cs index b9d98f93..ad742b97 100644 --- a/Server/Services/ChatService.cs +++ b/Server/Services/ChatService.cs @@ -37,6 +37,11 @@ namespace reallife_gamemode.Server.Services player.SendChatMessage("~r~[FEHLER]~s~ Die Aktion wurde nicht ausgeführt."); } + /// + /// Sendet eine Nachricht an eine Liste von Fraktionen + /// + /// Die Nachricht, die gesendet werden soll + /// Die Liste an Fraktionen, die diese Nachricht bekommen sollen public static void BroadcastFaction(string message, List factions) { foreach (Client c in NAPI.Pools.GetAllPlayers()) @@ -52,11 +57,21 @@ namespace reallife_gamemode.Server.Services } } + /// + /// Sendet eine Nachricht an eine Fraktion + /// + /// Die Nachricht, die gesendet werden soll + /// Die Fraktion, die diese Nachricht bekommen soll public static void BroadcastFaction(string message, Faction f) { BroadcastFaction(message, new List() { f }); } + /// + /// Sendet eine Nachricht an alle Spieler mit einem bestimmten Admin Level + /// + /// Die Nachricht, die gesendet werden soll + /// Das mindest Admin Level, das für das Erhalten dieser Nachricht benötigt wird public static void BroadcastAdmin(string message, AdminLevel minLevel) { NAPI.Pools.GetAllPlayers().ForEach(p => diff --git a/Server/Services/ClientService.cs b/Server/Services/ClientService.cs index 2cd766f9..7b668770 100644 --- a/Server/Services/ClientService.cs +++ b/Server/Services/ClientService.cs @@ -13,29 +13,29 @@ namespace reallife_gamemode.Server.Services { class ClientService { - public static Client GetClientByName(string name) + /// + /// Gibt einen Client anhand seines Namens oder der ID zurück + /// + /// Die ID oder der Name, nach dem gesucht werden soll + /// + 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 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;