internal void OnPlacingBlood(PlacingBloodEventArgs ev) { if (IsLobby) { ev.IsAllowed = false; } }
private static bool Prefix(WeaponManager __instance, bool isBlood, ref int type, ref Vector3 pos, ref Quaternion rot) { if (isBlood) { var ev = new PlacingBloodEventArgs( API.Features.Player.Get(__instance.gameObject), pos, __instance._hub.characterClassManager.Classes.SafeGet(__instance._hub.characterClassManager.CurClass).bloodType, 1); pos = ev.Position; __instance._hub.characterClassManager.Classes.SafeGet(__instance._hub.characterClassManager.CurClass).bloodType = ev.Type; Map.OnPlacingBlood(ev); return(ev.IsAllowed && Events.Instance.Config.CanSpawnBlood); } else { var ev = new PlacingDecalEventArgs(API.Features.Player.Get(__instance.gameObject), pos, rot, type); Map.OnPlacingDecal(ev); pos = ev.Position; rot = ev.Rotation; type = ev.Type; return(ev.IsAllowed); } }
private static bool Prefix(CharacterClassManager __instance, ref Vector3 pos, ref int type, ref float f) { var ev = new PlacingBloodEventArgs(API.Features.Player.Get(__instance.gameObject), pos, type, f); Map.OnPlacingBlood(ev); pos = ev.Position; type = ev.Type; f = ev.Multiplier; return(ev.IsAllowed && Events.Instance.Config.CanSpawnBlood); }
/// <summary> /// Called before placing bloods. /// </summary> /// <param name="ev">The <see cref="PlacingDecalEventArgs"/> instance.</param> public static void OnPlacingBlood(PlacingBloodEventArgs ev) => PlacingBlood.InvokeSafely(ev);