Пример #1
0
        private static bool Prefix(CharacterClassManager __instance, bool value)
        {
            try
            {
                ChangingIntercomMuteStatusEventArgs ev = new ChangingIntercomMuteStatusEventArgs(API.Features.Player.Get(__instance._hub), value, true);

                Player.OnChangingIntercomMuteStatus(ev);

                if (!ev.IsAllowed)
                {
                    if (value == true)
                    {
                        MuteHandler.RevokePersistentMute("ICOM-" + __instance.UserId);
                    }
                    else
                    {
                        MuteHandler.IssuePersistentMute("ICOM-" + __instance.UserId);
                    }

                    return(false);
                }

                return(true);
            }
            catch (Exception e)
            {
                Exiled.API.Features.Log.Error($"{typeof(ChangingIntercomMuteStatus).FullName}.{nameof(Prefix)}:\n{e}");
                return(true);
            }
        }
Пример #2
0
 /// <summary>
 /// Called before an user's intercom mute status is changed.
 /// </summary>
 /// <param name="ev">The <see cref="ChangingIntercomMuteStatusEventArgs"/> instance.</param>
 public static void OnChangingIntercomMuteStatus(ChangingIntercomMuteStatusEventArgs ev) => ChangingIntercomMuteStatus.InvokeSafely(ev);