using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using FistVR;
using HarmonyLib;
using UnityEngine;
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.0.0")]
[module: UnverifiableCode]
namespace JerryBulletLoad
{
[BepInPlugin("JerryBulletLoad", "JBL", "1.0.0")]
[BepInProcess("h3vr.exe")]
public class BulletTriggerLoad : BaseUnityPlugin
{
public bool triggerpulledL = false;
public bool triggerpulledR = false;
public bool inRangeL = false;
public bool inRangeR = false;
private void Start()
{
}
private void Update()
{
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
//IL_01d3: Unknown result type (might be due to invalid IL or missing references)
//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0112: Unknown result type (might be due to invalid IL or missing references)
//IL_015c: Unknown result type (might be due to invalid IL or missing references)
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
//IL_07b7: Unknown result type (might be due to invalid IL or missing references)
//IL_07e1: Unknown result type (might be due to invalid IL or missing references)
//IL_0246: Unknown result type (might be due to invalid IL or missing references)
//IL_08eb: Unknown result type (might be due to invalid IL or missing references)
//IL_0915: Unknown result type (might be due to invalid IL or missing references)
//IL_082a: Unknown result type (might be due to invalid IL or missing references)
//IL_0874: Unknown result type (might be due to invalid IL or missing references)
//IL_08be: Unknown result type (might be due to invalid IL or missing references)
//IL_095e: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null)
{
if ((Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() != (Object)null)
{
if (Vector3.Distance(((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform.position, ((Component)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.position) < 0.1f)
{
((Component)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.localEulerAngles = new Vector3(0f, 0f, 180f);
((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.transform.position = ((Component)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.position;
((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.transform.rotation = ((Component)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.rotation;
inRangeL = true;
}
else if (Vector3.Distance(((Component)GM.CurrentMovementManager.Hands[0]).gameObject.transform.position, ((Component)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.position) >= 0.1f)
{
((Component)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
inRangeL = false;
}
}
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat > 0.75f && !triggerpulledL && inRangeL)
{
if ((Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() != (Object)null && ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>().Magazine.m_numRounds < ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>().Magazine.m_capacity)
{
((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>().Magazine.AddRound(((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>(), true, true, false);
if (((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Count > 0)
{
((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().CycleToProxy(true, true);
((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Remove(((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds[((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Count - 1]);
}
else if (((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Count <= 0)
{
Object.Destroy((Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject);
}
}
triggerpulledL = true;
}
if ((GM.CurrentMovementManager.Hands[0].Input.TriggerFloat < 0.75f || triggerpulledL || !inRangeL) && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() != (Object)null)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null)
{
if ((Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() != (Object)null)
{
Collider component = ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<Collider>();
component.enabled = false;
}
}
else
{
Collider component2 = ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<Collider>();
component2.enabled = true;
}
}
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat < 0.75f)
{
triggerpulledL = false;
}
if (((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable == (Object)null || (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() == (Object)null) && ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable == (Object)null || (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() == (Object)null))
{
inRangeL = false;
}
}
else if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable == (Object)null)
{
if (GM.CurrentMovementManager.Hands[0].Input.TriggerFloat < 0.75f)
{
triggerpulledL = false;
}
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable == (Object)null)
{
inRangeL = false;
}
else if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() == (Object)null)
{
inRangeL = false;
}
}
if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable != (Object)null)
{
if ((Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() != (Object)null)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() != (Object)null)
{
if (Vector3.Distance(((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform.position, ((Component)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.position) < 0.1f)
{
((Component)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.localEulerAngles = new Vector3(0f, 0f, 180f);
((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.transform.position = ((Component)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.position;
((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.transform.eulerAngles = ((Component)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.eulerAngles;
inRangeR = true;
}
else if (Vector3.Distance(((Component)GM.CurrentMovementManager.Hands[1]).gameObject.transform.position, ((Component)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.position) >= 0.1f)
{
((Component)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>()).gameObject.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
inRangeR = false;
}
}
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat > 0.75f && !triggerpulledR && inRangeR)
{
if ((Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() != (Object)null && (Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() != (Object)null && ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>().Magazine.m_numRounds < ((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>().Magazine.m_capacity)
{
((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>().Magazine.AddRound(((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>(), true, true, false);
if (((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Count > 0)
{
((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().CycleToProxy(true, true);
((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Remove(((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds[((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Count - 1]);
}
else if (((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>().ProxyRounds.Count <= 0)
{
Object.Destroy((Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject);
}
}
triggerpulledR = true;
}
if ((GM.CurrentMovementManager.Hands[1].Input.TriggerFloat < 0.75f || triggerpulledR || !inRangeR) && (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() != (Object)null)
{
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null)
{
if ((Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() != (Object)null)
{
Collider component3 = ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<Collider>();
component3.enabled = false;
}
}
else
{
Collider component4 = ((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<Collider>();
component4.enabled = true;
}
}
}
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat < 0.75f)
{
triggerpulledR = false;
}
if (((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable == (Object)null || (Object)(object)((Component)GM.CurrentMovementManager.Hands[1].m_currentInteractable).gameObject.GetComponent<FVRFireArmRound>() == (Object)null) && ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable == (Object)null || (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() == (Object)null))
{
inRangeR = false;
}
}
else if ((Object)(object)GM.CurrentMovementManager.Hands[1].m_currentInteractable == (Object)null)
{
if (GM.CurrentMovementManager.Hands[1].Input.TriggerFloat < 0.75f)
{
triggerpulledR = false;
}
if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable == (Object)null)
{
inRangeR = false;
}
else if ((Object)(object)GM.CurrentMovementManager.Hands[0].m_currentInteractable != (Object)null && (Object)(object)((Component)GM.CurrentMovementManager.Hands[0].m_currentInteractable).gameObject.GetComponentInChildren<FVRFireArmMagazineReloadTrigger>() == (Object)null)
{
inRangeR = false;
}
}
}
}
}
namespace JerryAr.Bullet_Trigger_Load
{
[BepInPlugin("JerryAr.Bullet_Trigger_Load", "Bullet_Trigger_Load", "1.0.0")]
[BepInProcess("h3vr.exe")]
[Description("Built with MeatKit")]
public class Bullet_Trigger_LoadPlugin : BaseUnityPlugin
{
private static readonly string BasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
internal static ManualLogSource Logger;
private void Awake()
{
Logger = ((BaseUnityPlugin)this).Logger;
LoadAssets();
}
private void LoadAssets()
{
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "JerryAr.Bullet_Trigger_Load");
}
}
}