diff --git a/managed/src/SwiftlyS2.Core/Modules/Permissions/PermissionManager.cs b/managed/src/SwiftlyS2.Core/Modules/Permissions/PermissionManager.cs index 457ee92ad..9aac30b67 100644 --- a/managed/src/SwiftlyS2.Core/Modules/Permissions/PermissionManager.cs +++ b/managed/src/SwiftlyS2.Core/Modules/Permissions/PermissionManager.cs @@ -251,4 +251,14 @@ public void RemoveSubPermission( string permission, string subPermission ) _queryCache = _queryCache.Clear(); } -} \ No newline at end of file + + public void ClearPermission( ulong playerId ) + { + lock (_lock) + { + _temporaryPlayerPermissions.Remove(playerId); + } + + _queryCache = _queryCache.Clear(); + } +} diff --git a/managed/src/SwiftlyS2.Shared/Modules/Permissions/IPermissionManager.cs b/managed/src/SwiftlyS2.Shared/Modules/Permissions/IPermissionManager.cs index 8d176751e..84739b604 100644 --- a/managed/src/SwiftlyS2.Shared/Modules/Permissions/IPermissionManager.cs +++ b/managed/src/SwiftlyS2.Shared/Modules/Permissions/IPermissionManager.cs @@ -38,4 +38,10 @@ public interface IPermissionManager { /// The permission to remove the sub-permission from. /// The sub-permission to remove. void RemoveSubPermission(string permission, string subPermission); -} \ No newline at end of file + + /// + /// Clear all permission from a player. + /// + /// The Steam ID of the player. + void ClearPermission(ulong steamId); +}