From 5fb1127c845908e0c240deaaa98e6320d27d24a6 Mon Sep 17 00:00:00 2001 From: Lennart Kampshoff Date: Wed, 19 Sep 2018 12:50:43 +0200 Subject: [PATCH] Add Header Comments, Add 'null'-Checks on Commands --- Server/Commands/Admin.cs | 15 ++++++--------- Server/Extensions/ClientExtension.cs | 9 ++++++++- Server/Services/ChatService.cs | 6 ++++++ Server/Util/AdminLevel.cs | 6 ++++++ 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Server/Commands/Admin.cs b/Server/Commands/Admin.cs index 2ac3158c..51a3fd57 100644 --- a/Server/Commands/Admin.cs +++ b/Server/Commands/Admin.cs @@ -19,7 +19,7 @@ namespace reallife_gamemode.Server.Commands [Command("o", "~m~Benutzung: ~s~/o [Nachricht]", GreedyArg = true)] public void CmdAdminO(Client player, string message) { - if (!player.GetUser().IsAdmin(AdminLevel.SUPPORTER)) + if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true) { ChatService.NotAuthorized(player); return; @@ -32,15 +32,13 @@ namespace reallife_gamemode.Server.Commands [Command("veh", "~m~Benutzung:~s~ /veh [Fahrzeug] (Farbe 1) (Farbe 2)")] public void CmdAdminVeh(Client player, VehicleHash hash, int color1 = 111, int color2 = 111) { - // Alternative: siehe O Chat - int playerAdminLevel = 1; - if (playerAdminLevel < /* Benötigtes Level */ 1) + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) { ChatService.NotAuthorized(player); return; } - if(player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs) + if (player.IsInVehicle) // Man darf keine Autos erstellen, wenn man selbst in einem sitzt (verhindert Bugs) { player.SendChatMessage("~r~[FEHLER]~s~ Du sitzt momentan schon in einem Fahrzeug."); return; @@ -54,7 +52,7 @@ namespace reallife_gamemode.Server.Commands [Command("fixveh")] public void CmdAdminFixveh(Client player) { - if (!player.GetUser().IsAdmin(AdminLevel.SUPPORTER)) + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) { ChatService.NotAuthorized(player); return; @@ -72,8 +70,7 @@ namespace reallife_gamemode.Server.Commands [Command("delveh")] public void CmdAdminDelveh(Client player) { - int playerAdminLevel = 1; - if (playerAdminLevel < /* Benötigtes Level */ 1) + if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true) { ChatService.NotAuthorized(player); return; @@ -94,7 +91,7 @@ namespace reallife_gamemode.Server.Commands [Command("goto", "~m~Benutzung:~s~ /goto [Name]")] public void CmdAdminGoto(Client player, string name) { - if (!player.GetUser().IsAdmin(AdminLevel.SUPPORTER)) + if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true) { ChatService.NotAuthorized(player); return; diff --git a/Server/Extensions/ClientExtension.cs b/Server/Extensions/ClientExtension.cs index 2670492e..e2ff0861 100644 --- a/Server/Extensions/ClientExtension.cs +++ b/Server/Extensions/ClientExtension.cs @@ -3,17 +3,24 @@ using reallife_gamemode.Model; using reallife_gamemode.Server.Entities; using System; using System.Collections.Generic; +using System.Linq; using System.Text; namespace reallife_gamemode.Server.Extensions { public static class ClientExtension { + /** + * @overview Life of German Reallife - Client Extension (ClientExtension.cs) + * @author VegaZ, hydrant + * @copyright (c) 2008 - 2018 Life of German + */ + public static User GetUser(this Client client) { using(DatabaseContext dbContext = new DatabaseContext()) { - return dbContext.Users.Find(client.Name); + return dbContext.Users.FirstOrDefault(u => u.Name == client.Name); } } } diff --git a/Server/Services/ChatService.cs b/Server/Services/ChatService.cs index 9b22be73..ad81edef 100644 --- a/Server/Services/ChatService.cs +++ b/Server/Services/ChatService.cs @@ -7,6 +7,12 @@ namespace reallife_gamemode.Server.Services { class ChatService { + /** + * @overview Life of German Reallife - Chat Service (ChatService.cs) + * @author hydrant + * @copyright (c) 2008 - 2018 Life of German + */ + public static void NotAuthorized(Client player) { player.SendChatMessage("~r~[FEHLER]~s~ Du kannst diesen Befehl nicht ausführen."); diff --git a/Server/Util/AdminLevel.cs b/Server/Util/AdminLevel.cs index e0e656d3..8a691fe6 100644 --- a/Server/Util/AdminLevel.cs +++ b/Server/Util/AdminLevel.cs @@ -6,6 +6,12 @@ namespace reallife_gamemode.Server.Util { public enum AdminLevel : int { + /** + * @overview Life of German Reallife - Admin Levels (AdminLevel.cs) + * @author VegaZ, hydrant + * @copyright (c) 2008 - 2018 Life of German + */ + PLAYER, SUPPORTER, ADMIN