private static bool Prefix(MicroHID __instance, ref MicroHID.MicroHidState value) { // NetworkCurrentHid state is set each frame, so this is to prevent calling the method each frame. if (__instance.CurrentHidState == value) { return(true); } var ev = new ChangingMicroHIDStateEventArgs(Player.Get(__instance.gameObject), __instance, __instance.CurrentHidState, value); Handlers.Player.OnChangingMicroHIDState(ev); if (!ev.IsAllowed) { return(false); } value = ev.NewState; return(true); }
/// <summary> /// Called before a player's MicroHID state is changed. /// </summary> /// <param name="ev">The <see cref="ChangingRadioPresetEventArgs"/> instance.</param> public static void OnChangingMicroHIDState(ChangingMicroHIDStateEventArgs ev) => ChangingMicroHIDState.InvokeSafely(ev);