mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-02 06:19:22 +00:00
51 lines
No EOL
1.9 KiB
C#
51 lines
No EOL
1.9 KiB
C#
using ABI_RC.Core.InteractionSystem;
|
|
using ABI_RC.Core.IO;
|
|
using ABI_RC.Core.Player;
|
|
using ABI_RC.Core.Savior;
|
|
using HarmonyLib;
|
|
using UnityEngine;
|
|
|
|
namespace NAK.Stickers.Patches;
|
|
|
|
internal static class PlayerSetupPatches
|
|
{
|
|
[HarmonyPostfix]
|
|
[HarmonyPatch(typeof(PlayerSetup), nameof(PlayerSetup.GetCurrentPropSelectionMode))]
|
|
private static void Postfix_PlayerSetup_GetCurrentPropSelectionMode(ref PlayerSetup.PropSelectionMode __result)
|
|
{
|
|
if (StickerSystem.Instance.IsInStickerMode) __result = (PlayerSetup.PropSelectionMode)4;
|
|
}
|
|
}
|
|
|
|
internal static class ControllerRayPatches
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ControllerRay), nameof(ControllerRay.HandlePropSpawn))]
|
|
private static void Prefix_ControllerRay_HandlePropSpawn(ref ControllerRay __instance)
|
|
{
|
|
if (!StickerSystem.Instance.IsInStickerMode)
|
|
return;
|
|
|
|
StickerSystem.Instance.PlaceStickerFromControllerRay(__instance.rayDirectionTransform, __instance.hand, true); // preview
|
|
|
|
if (__instance._gripDown) StickerSystem.Instance.IsInStickerMode = false;
|
|
if (__instance._hitUIInternal || !__instance._interactDown)
|
|
return;
|
|
|
|
StickerSystem.Instance.PlaceStickerFromControllerRay(__instance.rayDirectionTransform, __instance.hand);
|
|
}
|
|
}
|
|
|
|
internal static class ShaderFilterHelperPatches
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ShaderFilterHelper), nameof(ShaderFilterHelper.SetupFilter))]
|
|
private static void Prefix_ShaderFilterHelper_SetupFilter()
|
|
{
|
|
if (!MetaPort.Instance.settings.GetSettingsBool("ExperimentalShaderLimitEnabled"))
|
|
return;
|
|
|
|
StickerMod.Logger.Warning("ExperimentalShaderLimitEnabled found to be true. Disabling setting to prevent crashes when spawning stickers!");
|
|
MetaPort.Instance.settings.SetSettingsBool("ExperimentalShaderLimitEnabled", false);
|
|
}
|
|
} |