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");
		}
	}
}