void OnPlayerPermission(PlayerPermissionEventArgs e) { // If the player isn't logged it, he's certainly not a contributor if (e.Player == null || !e.Player.IsLoggedIn || !e.Player.ContainsData(Contributor.DataKey)) { return; } Contributor con = e.Player.GetData <Contributor>(Contributor.DataKey); #region DEBUG #if DEBUG //TShock.Log.ConsoleInfo("[" + e.Player.Index + "] Checking permission for: " + e.Permission); #endif #endregion Tier tier = Tiers.Get(con.Tier); e.Handled = tier.Permissions.HasPermission(e.Permission); #region DEBUG #if DEBUG if (e.Handled) { TShock.Log.ConsoleInfo("OnPlayerPermission: Contributor had the permission"); } #endif #endregion }
private void OnPlayerPermission(PlayerPermissionEventArgs e) { if (!e.Player.IsLoggedIn) { e.Result = PermissionHookResult.Unhandled; return; } var playerInfo = _database.Get(e.Player.Account); if (playerInfo == null) { e.Result = PermissionHookResult.Unhandled; return; } if (playerInfo.Permissions.ContainsPermission(e.Permission)) { e.Result = !playerInfo.Permissions.Negated(e.Permission) ? PermissionHookResult.Granted : PermissionHookResult.Denied; } else { e.Result = PermissionHookResult.Unhandled; } }
private static void OnPlayerPermission(PlayerPermissionEventArgs e) { #if DEBUG var sv = Stopwatch.StartNew(); #endif if (e.Player.User == null) { return; } var data = GroupData.Get(e.Player.User); if (data == null) { return; } if (data.Permissions.Contains(e.Permission)) { e.Handled = true; } #if DEBUG sv.Stop(); if (sv.ElapsedMilliseconds > 5) { Console.WriteLine("Permission check spent:" + sv.ElapsedMilliseconds); } #endif }
private void OnPlayerPermission(PlayerPermissionEventArgs Args) { if ((Args.Result == PermissionHookResult.Unhandled) && Overrides.HasGroupOverride(Args.Player.Group.Name, out Group group)) { Args.Result = (group.HasPermission(Args.Permission) ? PermissionHookResult.Granted : PermissionHookResult.Denied); } }
private static void OnPermission(PlayerPermissionEventArgs e) { if (e.Player == null || !e.Player.IsLoggedIn || !e.Player.ContainsData(PlayerInfo.DataKey)) { return; } var playerInfo = e.Player.GetData <PlayerInfo>(PlayerInfo.DataKey); e.Handled = playerInfo.Permissions.ContainsPermission(e.Permission); }
//mystery method. why is this here? I noticed this on the callstack when debugging permissions in CustomSkillsPlugin...-Tim private void OnPlayerPermission(PlayerPermissionEventArgs args) { var player = args.Player; if (!player.RealPlayer) { return; } var session = GetOrCreateSession(args.Player); args.Handled |= session.PermissionsGranted.Contains(args.Permission); }
private static void OnPlayerPermission(PlayerPermissionEventArgs args) { var rt = RtPlayer.GetPlayerInfo(args.Player).CurrentRegion; if (rt?.HasEvent(Event.TempPermission) != true) { return; } if (rt.HasPermission(args.Permission) && !args.Player.HasPermission("regiontrigger.bypass.tempperm")) { args.Handled = true; } }
private void OnPlayerPermission(PlayerPermissionEventArgs e) { if (!_configuration.ToggleClanPermissions) { return; } var clan = e.Player.GetData <PlayerMetadata>(DataKey)?.Clan; if (clan == null) { return; } e.Handled = clan.Permissions.Contains(e.Permission); }
/// <summary> /// Internal hook, fired whenever <see cref="TSPlayer.HasPermission(string)"/> is invoked. /// </summary> /// <param name="args">The <see cref="PlayerPermissionEventArgs"/> object.</param> private void OnPlayerPermission(PlayerPermissionEventArgs args) { // Return if the event was already handled by another plugin. if (args.Handled) { return; } // Ensure the player is not null and has special permissions. if (args.Player == null || args.Player.GetPlayerInfo() == null) { return; } // Handle the event. args.Handled = args.Player.GetPlayerInfo().HasPermission(args.Permission); }