示例#1
0
        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);
        }
示例#2
0
 /// <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);