Decompiled source of SPO15 v1.1.1

SPO15.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
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 H3VRUtils.FVRInteractiveObjects;
using HarmonyLib;
using OtherLoader;
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 JerryAr.SPO15
{
	[BepInPlugin("JerryAr.SPO15", "SPO15", "1.1.1")]
	[BepInProcess("h3vr.exe")]
	[Description("Built with MeatKit")]
	[BepInDependency("h3vr.otherloader", "1.3.0")]
	public class SPO15Plugin : 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.SPO15");
			OtherLoader.RegisterDirectLoad(BasePath, "JerryAr.SPO15", "", "", "spo15", "");
		}
	}
}
namespace JerryComponent
{
	public class Control_Component : MonoBehaviour
	{
		public GameObject Comp;

		public GameObject Comp2;

		public GameObject Rot;

		private bool is45;

		private void Start()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			if (Rot.transform.localEulerAngles.x > 45f)
			{
				is45 = true;
			}
			if (Rot.transform.localEulerAngles.x < 45f)
			{
				is45 = false;
			}
		}

		private void over45()
		{
			if (is45)
			{
				Comp.SetActive(false);
				Comp2.SetActive(true);
			}
			is45 = false;
		}

		private void under45()
		{
			if (!is45)
			{
				Comp2.SetActive(false);
				Comp.SetActive(true);
			}
			is45 = true;
		}

		private void FixedUpdate()
		{
			//IL_000c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			//IL_0036: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Unknown result type (might be due to invalid IL or missing references)
			if (Rot.transform.localEulerAngles.x > 45f)
			{
				over45();
			}
			if (Rot.transform.localEulerAngles.x < 45f)
			{
				under45();
			}
		}
	}
	public class ParentPlayer : MonoBehaviour
	{
		public FVRPhysicalObject ObjItself;

		public bool kicked = false;

		public float kickForceMul = 10f;

		public GameObject ParentObj;

		public GameObject PlayerRef;

		public float SteerMul = 100f;

		public float MaxX;

		public float MinX;

		public float MaxY;

		public float MinY;

		public float MaxZ;

		public float MinZ;

		public GameObject board;

		public WheelCollider WheelSteerL;

		public WheelCollider WheelSteerR;

		public WheelCollider WheelStaticL;

		public WheelCollider WheelStaticR;

		[NonSerialized]
		public float WFL;

		[NonSerialized]
		public float WFR;

		[NonSerialized]
		public float WRL;

		[NonSerialized]
		public float WRR;

		public GameObject Fsus;

		public GameObject Rsus;

		public GameObject WheelFrontL;

		public GameObject WheelFrontR;

		public GameObject WheelRearL;

		public GameObject WheelRearR;

		public GameObject navb;

		[NonSerialized]
		public float FY;

		[NonSerialized]
		public float RY;

		[NonSerialized]
		public float BZ;

		[NonSerialized]
		public float WSL;

		[NonSerialized]
		public float WSR;

		[NonSerialized]
		public float WSL2;

		[NonSerialized]
		public float WSR2;

		private void Start()
		{
			navb.transform.SetParent((Transform)null);
		}

		private void Update()
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0103: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_035d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0362: Unknown result type (might be due to invalid IL or missing references)
			//IL_037a: Unknown result type (might be due to invalid IL or missing references)
			//IL_037f: Unknown result type (might be due to invalid IL or missing references)
			//IL_039c: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_06fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0702: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0727: Unknown result type (might be due to invalid IL or missing references)
			//IL_072c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0407: Unknown result type (might be due to invalid IL or missing references)
			//IL_040c: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_08fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_081e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0823: Unknown result type (might be due to invalid IL or missing references)
			//IL_0831: Unknown result type (might be due to invalid IL or missing references)
			//IL_0751: Unknown result type (might be due to invalid IL or missing references)
			//IL_0756: Unknown result type (might be due to invalid IL or missing references)
			//IL_042b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Unknown result type (might be due to invalid IL or missing references)
			//IL_077b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0780: Unknown result type (might be due to invalid IL or missing references)
			//IL_044f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0454: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_07aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0473: Unknown result type (might be due to invalid IL or missing references)
			//IL_0478: Unknown result type (might be due to invalid IL or missing references)
			//IL_07cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0536: Unknown result type (might be due to invalid IL or missing references)
			//IL_053b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0561: Unknown result type (might be due to invalid IL or missing references)
			//IL_0566: Unknown result type (might be due to invalid IL or missing references)
			//IL_0591: Unknown result type (might be due to invalid IL or missing references)
			//IL_0596: Unknown result type (might be due to invalid IL or missing references)
			//IL_05af: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0612: Unknown result type (might be due to invalid IL or missing references)
			//IL_0617: Unknown result type (might be due to invalid IL or missing references)
			//IL_062b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0646: Unknown result type (might be due to invalid IL or missing references)
			//IL_064b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0672: Unknown result type (might be due to invalid IL or missing references)
			//IL_0677: Unknown result type (might be due to invalid IL or missing references)
			//IL_06cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_06e2: Unknown result type (might be due to invalid IL or missing references)
			WheelFrontL.transform.localEulerAngles = new Vector3(WheelFrontL.transform.localEulerAngles.x - WheelSteerL.rpm, 0f, 0f);
			WheelFrontR.transform.localEulerAngles = new Vector3(WheelFrontR.transform.localEulerAngles.x - WheelSteerR.rpm, 0f, 0f);
			WheelRearL.transform.localEulerAngles = new Vector3(WheelRearL.transform.localEulerAngles.x - WheelStaticL.rpm, 0f, 0f);
			WheelRearR.transform.localEulerAngles = new Vector3(WheelRearR.transform.localEulerAngles.x - WheelStaticR.rpm, 0f, 0f);
			WheelStaticL.motorTorque = Mathf.SmoothDamp(WheelStaticL.motorTorque, 0f, ref WSL, 5f);
			WheelStaticR.motorTorque = Mathf.SmoothDamp(WheelStaticR.motorTorque, 0f, ref WSR, 5f);
			WheelSteerL.motorTorque = Mathf.SmoothDamp(WheelSteerL.motorTorque, 0f, ref WSL2, 5f);
			WheelSteerR.motorTorque = Mathf.SmoothDamp(WheelSteerR.motorTorque, 0f, ref WSR2, 5f);
			if (((FVRInteractiveObject)ObjItself).IsHeld || (Object)(object)ObjItself.QuickbeltSlot != (Object)null)
			{
				WheelStaticL.motorTorque = 0f;
				WheelStaticR.motorTorque = 0f;
				WheelSteerL.motorTorque = 0f;
				WheelSteerR.motorTorque = 0f;
				navb.SetActive(false);
				((Component)GM.CurrentMovementManager).gameObject.transform.SetParent((Transform)null);
				kicked = false;
				WheelSteerL.steerAngle = 0f;
				WheelSteerR.steerAngle = 0f;
				WheelStaticL.steerAngle = 0f;
				WheelStaticR.steerAngle = 0f;
				Fsus.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				Rsus.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				board.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
			}
			else
			{
				if (((FVRInteractiveObject)ObjItself).IsHeld || !((Object)(object)ObjItself.QuickbeltSlot == (Object)null))
				{
					return;
				}
				navb.SetActive(true);
				if (!((Object)(object)GM.CurrentMovementManager != (Object)null))
				{
					return;
				}
				PlayerRef.transform.position = new Vector3(((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position.x, ((Component)GM.CurrentMovementManager).gameObject.transform.position.y, ((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position.z);
				if (PlayerRef.transform.localPosition.x < MaxX && PlayerRef.transform.localPosition.x > MinX && PlayerRef.transform.localPosition.y < MaxY && PlayerRef.transform.localPosition.y > MinY && PlayerRef.transform.localPosition.z < MaxZ && PlayerRef.transform.localPosition.z > MinZ)
				{
					if (!kicked)
					{
						WheelStaticL.motorTorque = ((Vector3)(ref GM.CurrentMovementManager.m_smoothLocoVelocity)).magnitude * kickForceMul;
						WheelStaticR.motorTorque = ((Vector3)(ref GM.CurrentMovementManager.m_smoothLocoVelocity)).magnitude * kickForceMul;
						WheelSteerL.motorTorque = ((Vector3)(ref GM.CurrentMovementManager.m_smoothLocoVelocity)).magnitude * kickForceMul;
						WheelSteerR.motorTorque = ((Vector3)(ref GM.CurrentMovementManager.m_smoothLocoVelocity)).magnitude * kickForceMul;
						kicked = true;
					}
					WheelSteerL.steerAngle = PlayerRef.transform.localPosition.x * SteerMul;
					WheelSteerR.steerAngle = PlayerRef.transform.localPosition.x * SteerMul;
					board.transform.localEulerAngles = new Vector3(PlayerRef.transform.localPosition.x * -73.3f, 0f, 0f);
					Fsus.transform.localEulerAngles = new Vector3(0f, PlayerRef.transform.localPosition.x * 100f, 0f);
					Rsus.transform.localEulerAngles = new Vector3(0f, PlayerRef.transform.localPosition.x * -100f, 0f);
					WheelStaticL.steerAngle = PlayerRef.transform.localPosition.x * (0f - SteerMul);
					WheelStaticR.steerAngle = PlayerRef.transform.localPosition.x * (0f - SteerMul);
					((Component)GM.CurrentMovementManager).gameObject.transform.SetParent(ParentObj.transform);
					((Component)GM.CurrentMovementManager).gameObject.transform.eulerAngles = new Vector3(0f, ((Component)GM.CurrentMovementManager).gameObject.transform.eulerAngles.y, 0f);
				}
				else if (PlayerRef.transform.localPosition.x > 2f * MaxX || PlayerRef.transform.localPosition.x < 2f * MinX || PlayerRef.transform.localPosition.y > 2f * MaxY || PlayerRef.transform.localPosition.y < 2f * MinY || PlayerRef.transform.localPosition.z > 2f * MaxZ || PlayerRef.transform.localPosition.z < 2f * MinZ)
				{
					if (kicked)
					{
						((Component)GM.CurrentMovementManager).gameObject.transform.eulerAngles = new Vector3(0f, ((Component)GM.CurrentMovementManager).gameObject.transform.eulerAngles.y, 0f);
						((Component)GM.CurrentMovementManager).gameObject.transform.SetParent((Transform)null);
						kicked = false;
					}
					WheelSteerL.steerAngle = 0f;
					WheelSteerR.steerAngle = 0f;
					WheelStaticL.steerAngle = 0f;
					WheelStaticR.steerAngle = 0f;
					Fsus.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
					Rsus.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
					board.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				}
			}
		}

		private void OnDestroy()
		{
			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0113: Unknown result type (might be due to invalid IL or missing references)
			//IL_0135: Unknown result type (might be due to invalid IL or missing references)
			//IL_0155: Unknown result type (might be due to invalid IL or missing references)
			//IL_015a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0181: Unknown result type (might be due to invalid IL or missing references)
			Object.Destroy((Object)(object)navb);
			kicked = false;
			WheelSteerL.steerAngle = Mathf.Lerp(WheelSteerL.steerAngle, 0f, 0.1f);
			WheelSteerR.steerAngle = Mathf.Lerp(WheelSteerL.steerAngle, 0f, 0.1f);
			WheelStaticL.steerAngle = Mathf.Lerp(WheelStaticL.steerAngle, 0f, 0.1f);
			WheelStaticR.steerAngle = Mathf.Lerp(WheelStaticR.steerAngle, 0f, 0.1f);
			Fsus.transform.localEulerAngles = new Vector3(0f, Mathf.SmoothDamp(Fsus.transform.localEulerAngles.y, 0f, ref FY, 0.25f), 0f);
			Rsus.transform.localEulerAngles = new Vector3(0f, Mathf.SmoothDamp(Rsus.transform.localEulerAngles.y, 0f, ref RY, 0.25f), 0f);
			board.transform.localEulerAngles = new Vector3(Mathf.SmoothDamp(board.transform.localEulerAngles.x, 0f, ref BZ, 0.25f), 0f, 0f);
			((Component)GM.CurrentMovementManager).gameObject.transform.SetParent((Transform)null);
		}
	}
	public class SPO15P : MonoBehaviour
	{
		private class RigidbodyDistance
		{
			public SosigLink rigidbody;

			public float distance;

			public RigidbodyDistance(SosigLink rb, float dist)
			{
				rigidbody = rb;
				distance = dist;
			}
		}

		public List<SosigLink> currentAI = null;

		public AudioSource beep;

		public GameObject volknob;

		public bool see1;

		public bool see2;

		public bool exist1;

		public bool exist2;

		public GameObject YMainHolder;

		public GameObject trueiff;

		public GameObject MainRadarType;

		public GameObject RadarType;

		public GameObject Ready;

		public GameObject R1;

		public GameObject R2;

		public GameObject R3;

		public GameObject R4;

		public GameObject R5;

		public GameObject R6;

		public GameObject R7;

		public GameObject R8;

		public GameObject R9;

		public GameObject R10;

		public GameObject R11;

		public GameObject R12;

		public GameObject R13;

		public GameObject R14;

		public GameObject R15;

		public GameObject R16;

		public GameObject R10D;

		public GameObject R30D;

		public GameObject R50D;

		public GameObject R90D;

		public GameObject L10D;

		public GameObject L30D;

		public GameObject L50D;

		public GameObject L90D;

		public GameObject R10DM;

		public GameObject R30DM;

		public GameObject R50DM;

		public GameObject R90DM;

		public GameObject L10DM;

		public GameObject L30DM;

		public GameObject L50DM;

		public GameObject L90DM;

		public GameObject UPnLOW;

		public GameObject Tracking;

		public GameObject MainRearRight;

		public GameObject MainRearLeft;

		public GameObject RearRight;

		public GameObject RearLeft;

		public GameObject SAMRADARMain;

		public GameObject SAMRADAR;

		public GameObject MainY;

		public GameObject Y;

		public bool locked = false;

		public bool shot = false;

		public bool tracking;

		public float cd = 0.15f;

		public GameObject GetGameObjectByDistanceOrder(Transform player, List<SosigLink> objects, int order = 1)
		{
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			if (objects == null || objects.Count <= 0 || order < 1 || order > objects.Count)
			{
				return null;
			}
			List<RigidbodyDistance> list = new List<RigidbodyDistance>();
			foreach (SosigLink @object in objects)
			{
				if ((Object)(object)@object != (Object)null)
				{
					float dist = Vector3.Distance(player.position, ((Component)@object).transform.position);
					list.Add(new RigidbodyDistance(@object, dist));
				}
			}
			if (order > list.Count)
			{
				return null;
			}
			list.Sort((RigidbodyDistance a, RigidbodyDistance b) => a.distance.CompareTo(b.distance));
			return ((Component)list[order - 1].rigidbody).gameObject;
		}

		private void OnTriggerStay(Collider other)
		{
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b1: Invalid comparison between Unknown and I4
			//IL_0116: Unknown result type (might be due to invalid IL or missing references)
			//IL_0126: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0167: Unknown result type (might be due to invalid IL or missing references)
			//IL_016d: Invalid comparison between Unknown and I4
			if (!(((Object)((Component)other).gameObject).name == "Sosig_Torso") || !((Object)(object)((Component)other).gameObject.GetComponent<SosigLink>() != (Object)null))
			{
				return;
			}
			if (!currentAI.Contains(((Component)other).gameObject.GetComponent<SosigLink>()) && Vector3.Distance(((Component)this).gameObject.transform.position, ((Component)other).gameObject.transform.position) < 80f && (Object)(object)((Component)other).gameObject.GetComponent<SosigLink>().S != (Object)null && (int)((Component)other).gameObject.GetComponent<SosigLink>().S.BodyState != 3)
			{
				currentAI.Add(((Component)other).gameObject.GetComponent<SosigLink>());
			}
			if (currentAI == null || currentAI.Count <= 0 || !currentAI.Contains(((Component)other).gameObject.GetComponent<SosigLink>()))
			{
				return;
			}
			if (Vector3.Distance(((Component)this).gameObject.transform.position, ((Component)other).gameObject.transform.position) < 80f)
			{
				if ((Object)(object)((Component)other).gameObject.GetComponent<SosigLink>().S != (Object)null)
				{
					if ((int)((Component)other).gameObject.GetComponent<SosigLink>().S.BodyState == 3)
					{
						currentAI.Remove(((Component)other).gameObject.GetComponent<SosigLink>());
					}
				}
				else if ((Object)(object)((Component)other).gameObject.GetComponent<SosigLink>().S == (Object)null)
				{
					currentAI.Remove(((Component)other).gameObject.GetComponent<SosigLink>());
				}
			}
			else if (Vector3.Distance(((Component)this).gameObject.transform.position, ((Component)other).gameObject.transform.position) > 80f)
			{
				currentAI.Remove(((Component)other).gameObject.GetComponent<SosigLink>());
			}
		}

		private void FixedUpdate()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0994: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0173: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a04: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a86: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aaa: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0229: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bdb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0baa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0251: Unknown result type (might be due to invalid IL or missing references)
			//IL_0266: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bfe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c03: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c34: Unknown result type (might be due to invalid IL or missing references)
			//IL_222b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2230: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a8a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a9a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c88: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c8d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c52: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c57: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c5: Invalid comparison between Unknown and I4
			//IL_2284: Unknown result type (might be due to invalid IL or missing references)
			//IL_2289: Unknown result type (might be due to invalid IL or missing references)
			//IL_224e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2253: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ac7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ad7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cab: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb0: Unknown result type (might be due to invalid IL or missing references)
			//IL_22a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_22ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b04: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cdc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce1: Unknown result type (might be due to invalid IL or missing references)
			//IL_22d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_22dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b41: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b51: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d35: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d3a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_0456: Unknown result type (might be due to invalid IL or missing references)
			//IL_045c: Invalid comparison between Unknown and I4
			//IL_2331: Unknown result type (might be due to invalid IL or missing references)
			//IL_2336: Unknown result type (might be due to invalid IL or missing references)
			//IL_22fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2300: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b7e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d58: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5d: Unknown result type (might be due to invalid IL or missing references)
			//IL_062b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0630: Unknown result type (might be due to invalid IL or missing references)
			//IL_2354: Unknown result type (might be due to invalid IL or missing references)
			//IL_2359: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bbb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bcb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2385: Unknown result type (might be due to invalid IL or missing references)
			//IL_238a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bf8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c08: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db1: Unknown result type (might be due to invalid IL or missing references)
			//IL_23de: Unknown result type (might be due to invalid IL or missing references)
			//IL_23e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_23a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_23ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c35: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c45: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e05: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e0a: Unknown result type (might be due to invalid IL or missing references)
			//IL_067b: Unknown result type (might be due to invalid IL or missing references)
			//IL_068b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2401: Unknown result type (might be due to invalid IL or missing references)
			//IL_2406: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c72: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e36: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2432: Unknown result type (might be due to invalid IL or missing references)
			//IL_2437: Unknown result type (might be due to invalid IL or missing references)
			//IL_1caf: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cbf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e8f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e94: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e59: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e5e: Unknown result type (might be due to invalid IL or missing references)
			//IL_081f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0825: Invalid comparison between Unknown and I4
			//IL_06c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_248b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2490: Unknown result type (might be due to invalid IL or missing references)
			//IL_2455: Unknown result type (might be due to invalid IL or missing references)
			//IL_245a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cec: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cfc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb7: Unknown result type (might be due to invalid IL or missing references)
			//IL_083c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0842: Invalid comparison between Unknown and I4
			//IL_06fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0702: Invalid comparison between Unknown and I4
			//IL_24ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_24b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d29: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d39: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0719: Unknown result type (might be due to invalid IL or missing references)
			//IL_071f: Invalid comparison between Unknown and I4
			//IL_24df: Unknown result type (might be due to invalid IL or missing references)
			//IL_24e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d66: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d76: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f3c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f41: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f0b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2538: Unknown result type (might be due to invalid IL or missing references)
			//IL_253d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2502: Unknown result type (might be due to invalid IL or missing references)
			//IL_2507: Unknown result type (might be due to invalid IL or missing references)
			//IL_1da3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1db3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f5f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f64: Unknown result type (might be due to invalid IL or missing references)
			//IL_255b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2560: Unknown result type (might be due to invalid IL or missing references)
			//IL_1de0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1df0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f95: Unknown result type (might be due to invalid IL or missing references)
			//IL_0785: Unknown result type (might be due to invalid IL or missing references)
			//IL_258c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2591: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e1d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e2d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb8: Unknown result type (might be due to invalid IL or missing references)
			//IL_25e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_25ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_25af: Unknown result type (might be due to invalid IL or missing references)
			//IL_25b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e6a: Unknown result type (might be due to invalid IL or missing references)
			//IL_100c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1011: Unknown result type (might be due to invalid IL or missing references)
			//IL_2608: Unknown result type (might be due to invalid IL or missing references)
			//IL_260d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ea7: Unknown result type (might be due to invalid IL or missing references)
			//IL_103d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1042: Unknown result type (might be due to invalid IL or missing references)
			//IL_2639: Unknown result type (might be due to invalid IL or missing references)
			//IL_263e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ed4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ee4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1096: Unknown result type (might be due to invalid IL or missing references)
			//IL_109b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1060: Unknown result type (might be due to invalid IL or missing references)
			//IL_1065: Unknown result type (might be due to invalid IL or missing references)
			//IL_2692: Unknown result type (might be due to invalid IL or missing references)
			//IL_2697: Unknown result type (might be due to invalid IL or missing references)
			//IL_265c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2661: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f11: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f21: Unknown result type (might be due to invalid IL or missing references)
			//IL_10b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_10be: Unknown result type (might be due to invalid IL or missing references)
			//IL_26b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_26ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f5e: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_26e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_26eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f8b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f9b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1143: Unknown result type (might be due to invalid IL or missing references)
			//IL_1148: Unknown result type (might be due to invalid IL or missing references)
			//IL_110d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1112: Unknown result type (might be due to invalid IL or missing references)
			//IL_273f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2744: Unknown result type (might be due to invalid IL or missing references)
			//IL_2709: Unknown result type (might be due to invalid IL or missing references)
			//IL_270e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fc8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fd8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1166: Unknown result type (might be due to invalid IL or missing references)
			//IL_116b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2762: Unknown result type (might be due to invalid IL or missing references)
			//IL_2767: Unknown result type (might be due to invalid IL or missing references)
			//IL_2005: Unknown result type (might be due to invalid IL or missing references)
			//IL_2015: Unknown result type (might be due to invalid IL or missing references)
			//IL_1197: Unknown result type (might be due to invalid IL or missing references)
			//IL_119c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2793: Unknown result type (might be due to invalid IL or missing references)
			//IL_2798: Unknown result type (might be due to invalid IL or missing references)
			//IL_2042: Unknown result type (might be due to invalid IL or missing references)
			//IL_2052: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_11ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_11bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_27ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_27f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_27b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_27bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_207f: Unknown result type (might be due to invalid IL or missing references)
			//IL_208f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1213: Unknown result type (might be due to invalid IL or missing references)
			//IL_1218: Unknown result type (might be due to invalid IL or missing references)
			//IL_280f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2814: Unknown result type (might be due to invalid IL or missing references)
			//IL_20bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_20cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1244: Unknown result type (might be due to invalid IL or missing references)
			//IL_1249: Unknown result type (might be due to invalid IL or missing references)
			//IL_2840: Unknown result type (might be due to invalid IL or missing references)
			//IL_2845: Unknown result type (might be due to invalid IL or missing references)
			//IL_20f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2109: Unknown result type (might be due to invalid IL or missing references)
			//IL_129d: Unknown result type (might be due to invalid IL or missing references)
			//IL_12a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1267: Unknown result type (might be due to invalid IL or missing references)
			//IL_126c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2899: Unknown result type (might be due to invalid IL or missing references)
			//IL_289e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2863: Unknown result type (might be due to invalid IL or missing references)
			//IL_2868: Unknown result type (might be due to invalid IL or missing references)
			//IL_2136: Unknown result type (might be due to invalid IL or missing references)
			//IL_2146: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_28bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_28c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2173: Unknown result type (might be due to invalid IL or missing references)
			//IL_2183: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_28ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_28f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_21b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_21c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_134a: Unknown result type (might be due to invalid IL or missing references)
			//IL_134f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1314: Unknown result type (might be due to invalid IL or missing references)
			//IL_1319: Unknown result type (might be due to invalid IL or missing references)
			//IL_2946: Unknown result type (might be due to invalid IL or missing references)
			//IL_294b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2910: Unknown result type (might be due to invalid IL or missing references)
			//IL_2915: Unknown result type (might be due to invalid IL or missing references)
			//IL_21ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_21fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_136d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1372: Unknown result type (might be due to invalid IL or missing references)
			//IL_2969: Unknown result type (might be due to invalid IL or missing references)
			//IL_296e: Unknown result type (might be due to invalid IL or missing references)
			//IL_139e: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_299a: Unknown result type (might be due to invalid IL or missing references)
			//IL_299f: Unknown result type (might be due to invalid IL or missing references)
			//IL_13f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_13fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c6: Unknown result type (might be due to invalid IL or missing references)
			//IL_29f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_29f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_29bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_29c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_141a: Unknown result type (might be due to invalid IL or missing references)
			//IL_141f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a16: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a1b: Unknown result type (might be due to invalid IL or missing references)
			//IL_144b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1450: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a47: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a4c: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_146e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1473: Unknown result type (might be due to invalid IL or missing references)
			//IL_2aa0: Unknown result type (might be due to invalid IL or missing references)
			//IL_2aa5: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a6a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a6f: Unknown result type (might be due to invalid IL or missing references)
			//IL_14c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_14cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ac3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ac8: Unknown result type (might be due to invalid IL or missing references)
			//IL_14f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_14fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_2af4: Unknown result type (might be due to invalid IL or missing references)
			//IL_2af9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1551: Unknown result type (might be due to invalid IL or missing references)
			//IL_1556: Unknown result type (might be due to invalid IL or missing references)
			//IL_151b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1520: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b4d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b52: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b17: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1574: Unknown result type (might be due to invalid IL or missing references)
			//IL_1579: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b70: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b75: Unknown result type (might be due to invalid IL or missing references)
			//IL_15a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_15aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ba1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ba6: Unknown result type (might be due to invalid IL or missing references)
			//IL_15fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_1603: Unknown result type (might be due to invalid IL or missing references)
			//IL_15c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_15cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_2bfa: Unknown result type (might be due to invalid IL or missing references)
			//IL_2bff: Unknown result type (might be due to invalid IL or missing references)
			//IL_2bc4: Unknown result type (might be due to invalid IL or missing references)
			//IL_2bc9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1621: Unknown result type (might be due to invalid IL or missing references)
			//IL_1626: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c1d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c22: Unknown result type (might be due to invalid IL or missing references)
			//IL_1652: Unknown result type (might be due to invalid IL or missing references)
			//IL_1657: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c53: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_16b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1675: Unknown result type (might be due to invalid IL or missing references)
			//IL_167a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ca7: Unknown result type (might be due to invalid IL or missing references)
			//IL_2cac: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c71: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c76: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_16d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2cca: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ccf: Unknown result type (might be due to invalid IL or missing references)
			//IL_16ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1704: Unknown result type (might be due to invalid IL or missing references)
			//IL_2cfb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d00: Unknown result type (might be due to invalid IL or missing references)
			//IL_1758: Unknown result type (might be due to invalid IL or missing references)
			//IL_175d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1722: Unknown result type (might be due to invalid IL or missing references)
			//IL_1727: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d54: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d59: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d1e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d23: Unknown result type (might be due to invalid IL or missing references)
			//IL_177b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1780: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d77: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2da8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2dad: Unknown result type (might be due to invalid IL or missing references)
			//IL_1805: Unknown result type (might be due to invalid IL or missing references)
			//IL_180a: Unknown result type (might be due to invalid IL or missing references)
			//IL_17cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_17d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e01: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e06: Unknown result type (might be due to invalid IL or missing references)
			//IL_2dcb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2dd0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1828: Unknown result type (might be due to invalid IL or missing references)
			//IL_182d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e24: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e29: Unknown result type (might be due to invalid IL or missing references)
			//IL_1859: Unknown result type (might be due to invalid IL or missing references)
			//IL_185e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e55: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_187c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1881: Unknown result type (might be due to invalid IL or missing references)
			//IL_2eae: Unknown result type (might be due to invalid IL or missing references)
			//IL_2eb3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e78: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e7d: Unknown result type (might be due to invalid IL or missing references)
			//IL_18d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_18da: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ed1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ed6: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f02: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f07: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f60: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f25: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f2a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f7e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f83: Unknown result type (might be due to invalid IL or missing references)
			beep.volume = volknob.transform.localEulerAngles.x / 180f;
			if (currentAI == null)
			{
				see1 = false;
				see2 = false;
				exist1 = false;
				exist2 = false;
				shot = false;
				locked = false;
				SAMRADAR = null;
				SAMRADARMain = null;
				Tracking.SetActive(false);
				tracking = false;
				Y.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				MainY.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
			}
			if (currentAI != null)
			{
				if (currentAI.Count >= 1)
				{
					SAMRADARMain = GetGameObjectByDistanceOrder(((Component)this).gameObject.transform, currentAI);
				}
				if (currentAI.Count >= 2)
				{
					SAMRADAR = GetGameObjectByDistanceOrder(((Component)this).gameObject.transform, currentAI, 2);
				}
				if (currentAI.Count > 0)
				{
					if ((Object)(object)SAMRADARMain != (Object)null)
					{
						AxisLookAtY(MainY.transform, SAMRADARMain.transform.position, Vector3.forward);
					}
					else if ((Object)(object)SAMRADARMain == (Object)null)
					{
						MainY.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
					}
					if ((Object)(object)SAMRADAR != (Object)null)
					{
						AxisLookAtY(Y.transform, SAMRADAR.transform.position, Vector3.forward);
					}
					else if ((Object)(object)SAMRADAR == (Object)null)
					{
						Y.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
					}
					if ((Object)(object)SAMRADARMain != (Object)null)
					{
						if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.gameObject.transform.position) > 80f)
						{
						}
						if ((Object)(object)SAMRADARMain.GetComponent<SosigLink>() != (Object)null && (Object)(object)SAMRADARMain.GetComponent<SosigLink>().S != (Object)null)
						{
							if ((int)SAMRADARMain.GetComponent<SosigLink>().S.BodyState == 3)
							{
								see1 = false;
								exist1 = false;
							}
							if ((Object)(object)GM.CurrentPlayerBody != (Object)null)
							{
								if (SAMRADARMain.GetComponent<SosigLink>().S.GetIFF() == GM.CurrentPlayerBody.GetPlayerIFF())
								{
									see1 = false;
									exist1 = false;
								}
								else if (SAMRADARMain.GetComponent<SosigLink>().S.GetIFF() != GM.CurrentPlayerBody.GetPlayerIFF())
								{
									if (SAMRADARMain.GetComponent<SosigLink>().S.CanSeePlayer())
									{
										see1 = true;
										exist1 = false;
									}
									else if (!SAMRADARMain.GetComponent<SosigLink>().S.CanSeePlayer())
									{
										see1 = false;
										exist1 = true;
									}
								}
							}
							else if ((Object)(object)GM.CurrentPlayerBody == (Object)null)
							{
								see1 = false;
								exist1 = false;
							}
						}
						if ((Object)(object)SAMRADAR != (Object)null)
						{
							if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADAR.gameObject.transform.position) > 80f)
							{
							}
							if ((Object)(object)SAMRADAR.GetComponent<SosigLink>() != (Object)null && (Object)(object)SAMRADAR.GetComponent<SosigLink>().S != (Object)null)
							{
								if ((int)SAMRADAR.GetComponent<SosigLink>().S.BodyState == 3)
								{
									see2 = false;
									exist2 = false;
								}
								if ((Object)(object)GM.CurrentPlayerBody != (Object)null)
								{
									if (SAMRADAR.GetComponent<SosigLink>().S.GetIFF() == GM.CurrentPlayerBody.GetPlayerIFF())
									{
										see2 = false;
										exist2 = false;
									}
									else if (SAMRADAR.GetComponent<SosigLink>().S.GetIFF() != GM.CurrentPlayerBody.GetPlayerIFF())
									{
										if (SAMRADAR.GetComponent<SosigLink>().S.CanSeePlayer())
										{
											see2 = true;
											exist2 = false;
										}
										else if (!SAMRADAR.GetComponent<SosigLink>().S.CanSeePlayer())
										{
											see2 = false;
											exist2 = true;
										}
									}
								}
								else if ((Object)(object)GM.CurrentPlayerBody == (Object)null)
								{
									see1 = false;
									exist1 = false;
								}
							}
						}
					}
					List<SosigLink> list = new List<SosigLink>(currentAI.Count);
					for (int i = 0; i < currentAI.Count; i++)
					{
						SosigLink item = currentAI[i];
						if ((Object)(object)currentAI[i] == (Object)null)
						{
							list.Add(item);
						}
					}
					for (int j = 0; j < list.Count; j++)
					{
						currentAI.Remove(list[j]);
						Object.Destroy((Object)(object)list[j]);
					}
					for (int k = 0; k < currentAI.Count; k++)
					{
						if (!((Object)(object)currentAI[k] != (Object)null) || !(volknob.transform.localEulerAngles.x > 5f) || !Tracking.activeInHierarchy)
						{
							continue;
						}
						if ((Object)(object)GM.CurrentPlayerBody != (Object)null && Vector3.Distance(((Component)currentAI[k]).gameObject.transform.position, ((Component)this).gameObject.transform.position) > 2f && (Object)(object)GM.CurrentPlayerBody != (Object)null && Vector3.Distance(((Component)currentAI[k]).gameObject.transform.position, ((Component)this).gameObject.transform.position) < 10f && (int)currentAI[k].S.BodyState != 3 && (int)currentAI[k].S.BodyState != 2 && !currentAI[k].S.CanSeePlayer() && currentAI[k].S.GetIFF() != GM.CurrentPlayerBody.GetPlayerIFF())
						{
							currentAI[k].S.ForceSetPathToPoint(((Component)this).gameObject.transform.position);
							currentAI[k].S.SetCurrentOrder((SosigOrder)10);
							currentAI[k].S.SetMovementState((SosigMovementState)2);
						}
						if ((Object)(object)GM.CurrentPlayerBody != (Object)null && Vector3.Distance(((Component)currentAI[k]).gameObject.transform.position, ((Component)this).gameObject.transform.position) < 1f && (int)currentAI[k].S.BodyState != 3 && (int)currentAI[k].S.BodyState != 2)
						{
							if (!currentAI[k].S.CanSeePlayer() && currentAI[k].S.GetIFF() != GM.CurrentPlayerBody.GetPlayerIFF())
							{
								currentAI[k].S.SetCurrentOrder((SosigOrder)3);
							}
							if (currentAI[k].S.CanSeePlayer() && currentAI[k].S.GetIFF() != GM.CurrentPlayerBody.GetPlayerIFF())
							{
								currentAI[k].S.SetCurrentOrder((SosigOrder)2);
							}
						}
					}
				}
				if (currentAI.Count < 1)
				{
					see1 = false;
					see2 = false;
					exist1 = false;
					exist2 = false;
					shot = false;
					locked = false;
					SAMRADAR = null;
					SAMRADARMain = null;
					Tracking.SetActive(false);
					tracking = false;
					Y.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
					MainY.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				}
				if (currentAI.Count < 2)
				{
					see2 = false;
					exist2 = false;
					SAMRADAR = null;
					Y.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				}
				if (currentAI.Count <= 0)
				{
					see1 = false;
					see2 = false;
					exist1 = false;
					exist2 = false;
					shot = false;
					locked = false;
					SAMRADAR = null;
					SAMRADARMain = null;
					Tracking.SetActive(false);
					tracking = false;
					Y.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
					MainY.transform.localEulerAngles = new Vector3(0f, 0f, 0f);
				}
			}
			if (see1 || see2)
			{
				shot = true;
			}
			if (!see1 && !see2)
			{
				shot = false;
			}
			if (exist1 || exist2)
			{
				if (!shot)
				{
					locked = true;
				}
				else if (shot)
				{
					locked = false;
				}
			}
			if (!exist1 && !exist2)
			{
				locked = false;
			}
			if (locked)
			{
				tracking = true;
				UPnLOW.SetActive(true);
				if (Y.transform.localEulerAngles.y > 180f && Y.transform.localEulerAngles.y < 250f)
				{
					RearLeft.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 180f || Y.transform.localEulerAngles.y >= -110f)
				{
					RearLeft.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 180f && Y.transform.localEulerAngles.y > 110f)
				{
					RearRight.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 180f || Y.transform.localEulerAngles.y <= 110f)
				{
					RearRight.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 360f && Y.transform.localEulerAngles.y >= 340f)
				{
					L10D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 360f || Y.transform.localEulerAngles.y < 340f)
				{
					L10D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 340f && Y.transform.localEulerAngles.y >= 320f)
				{
					L30D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 340f || Y.transform.localEulerAngles.y < 320f)
				{
					L30D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 320f && Y.transform.localEulerAngles.y >= 290f)
				{
					L50D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 320f || Y.transform.localEulerAngles.y < 290f)
				{
					L50D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 290f && Y.transform.localEulerAngles.y >= 250f)
				{
					L90D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 290f || Y.transform.localEulerAngles.y < 250f)
				{
					L90D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 0f && Y.transform.localEulerAngles.y <= 20f)
				{
					R10D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 0f || Y.transform.localEulerAngles.y > 20f)
				{
					R10D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 20f && Y.transform.localEulerAngles.y <= 40f)
				{
					R30D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 20f || Y.transform.localEulerAngles.y > 40f)
				{
					R30D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 40f && Y.transform.localEulerAngles.y <= 70f)
				{
					R50D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 40f || Y.transform.localEulerAngles.y > 70f)
				{
					R50D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 70f && Y.transform.localEulerAngles.y <= 110f)
				{
					R90D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 70f || Y.transform.localEulerAngles.y > 110f)
				{
					R90D.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 180f && MainY.transform.localEulerAngles.y < 250f)
				{
					MainRearLeft.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 180f || MainY.transform.localEulerAngles.y >= -110f)
				{
					MainRearLeft.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 180f && MainY.transform.localEulerAngles.y > 110f)
				{
					MainRearRight.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 180f || MainY.transform.localEulerAngles.y <= 110f)
				{
					MainRearRight.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 360f && MainY.transform.localEulerAngles.y >= 340f)
				{
					L10DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 360f || MainY.transform.localEulerAngles.y < 340f)
				{
					L10DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 340f && MainY.transform.localEulerAngles.y >= 320f)
				{
					L30DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 340f || MainY.transform.localEulerAngles.y < 320f)
				{
					L30DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 320f && MainY.transform.localEulerAngles.y >= 290f)
				{
					L50DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 320f || MainY.transform.localEulerAngles.y < 290f)
				{
					L50DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 290f && MainY.transform.localEulerAngles.y >= 250f)
				{
					L90DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 290f || MainY.transform.localEulerAngles.y < 250f)
				{
					L90DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 0f && MainY.transform.localEulerAngles.y <= 20f)
				{
					R10DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 0f || MainY.transform.localEulerAngles.y > 20f)
				{
					R10DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 20f && MainY.transform.localEulerAngles.y <= 40f)
				{
					R30DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 20f || MainY.transform.localEulerAngles.y > 40f)
				{
					R30DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 40f && MainY.transform.localEulerAngles.y <= 70f)
				{
					R50DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 40f || MainY.transform.localEulerAngles.y > 70f)
				{
					R50DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 70f && MainY.transform.localEulerAngles.y <= 110f)
				{
					R90DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 70f || MainY.transform.localEulerAngles.y > 110f)
				{
					R90DM.SetActive(false);
				}
			}
			if (!shot && !locked)
			{
				R10D.SetActive(false);
				L10D.SetActive(false);
				R10DM.SetActive(false);
				L10DM.SetActive(false);
				R30D.SetActive(false);
				L30D.SetActive(false);
				R30DM.SetActive(false);
				L30DM.SetActive(false);
				R50D.SetActive(false);
				L50D.SetActive(false);
				R50DM.SetActive(false);
				L50DM.SetActive(false);
				R90D.SetActive(false);
				L90D.SetActive(false);
				R90DM.SetActive(false);
				L90DM.SetActive(false);
				RearLeft.SetActive(false);
				RearRight.SetActive(false);
				MainRearLeft.SetActive(false);
				MainRearRight.SetActive(false);
				Tracking.SetActive(false);
				tracking = false;
			}
			if (shot)
			{
				UPnLOW.SetActive(true);
				cd -= Time.deltaTime;
				if (cd <= 0f)
				{
					cd = 0.15f;
					tracking = !tracking;
				}
				if ((Object)(object)SAMRADARMain != (Object)null)
				{
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 80f)
					{
						R1.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 80f)
					{
						R1.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 75f)
					{
						R2.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 75f)
					{
						R2.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 70f)
					{
						R3.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 70f)
					{
						R3.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 65f)
					{
						R4.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 65f)
					{
						R4.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 60f)
					{
						R5.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 60f)
					{
						R5.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 55f)
					{
						R6.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 55f)
					{
						R6.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 50f)
					{
						R7.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 50f)
					{
						R7.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 45f)
					{
						R8.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 45f)
					{
						R8.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 40f)
					{
						R9.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 40f)
					{
						R9.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 35f)
					{
						R10.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 35f)
					{
						R10.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 30f)
					{
						R11.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 30f)
					{
						R11.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 25f)
					{
						R12.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 25f)
					{
						R12.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 20f)
					{
						R13.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 20f)
					{
						R13.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 15f)
					{
						R14.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 15f)
					{
						R14.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 10f)
					{
						R15.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 10f)
					{
						R15.SetActive(false);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) <= 5f)
					{
						R16.SetActive(true);
					}
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.transform.position) > 5f)
					{
						R16.SetActive(false);
					}
				}
				if (Y.transform.localEulerAngles.y > 180f && Y.transform.localEulerAngles.y < 250f)
				{
					RearLeft.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 180f || Y.transform.localEulerAngles.y >= -110f)
				{
					RearLeft.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 180f && Y.transform.localEulerAngles.y > 110f)
				{
					RearRight.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 180f || Y.transform.localEulerAngles.y <= 110f)
				{
					RearRight.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 360f && Y.transform.localEulerAngles.y >= 340f)
				{
					L10D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 360f || Y.transform.localEulerAngles.y < 340f)
				{
					L10D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 340f && Y.transform.localEulerAngles.y >= 320f)
				{
					L30D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 340f || Y.transform.localEulerAngles.y < 320f)
				{
					L30D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 320f && Y.transform.localEulerAngles.y >= 290f)
				{
					L50D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 320f || Y.transform.localEulerAngles.y < 290f)
				{
					L50D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y < 290f && Y.transform.localEulerAngles.y >= 250f)
				{
					L90D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y >= 290f || Y.transform.localEulerAngles.y < 250f)
				{
					L90D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 0f && Y.transform.localEulerAngles.y <= 20f)
				{
					R10D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 0f || Y.transform.localEulerAngles.y > 20f)
				{
					R10D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 20f && Y.transform.localEulerAngles.y <= 40f)
				{
					R30D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 20f || Y.transform.localEulerAngles.y > 40f)
				{
					R30D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 40f && Y.transform.localEulerAngles.y <= 70f)
				{
					R50D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 40f || Y.transform.localEulerAngles.y > 70f)
				{
					R50D.SetActive(false);
				}
				if (Y.transform.localEulerAngles.y > 70f && Y.transform.localEulerAngles.y <= 110f)
				{
					R90D.SetActive(true);
				}
				else if (Y.transform.localEulerAngles.y <= 70f || Y.transform.localEulerAngles.y > 110f)
				{
					R90D.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 180f && MainY.transform.localEulerAngles.y < 250f)
				{
					MainRearLeft.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 180f || MainY.transform.localEulerAngles.y >= -110f)
				{
					MainRearLeft.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 180f && MainY.transform.localEulerAngles.y > 110f)
				{
					MainRearRight.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 180f || MainY.transform.localEulerAngles.y <= 110f)
				{
					MainRearRight.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 360f && MainY.transform.localEulerAngles.y >= 340f)
				{
					L10DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 360f || MainY.transform.localEulerAngles.y < 340f)
				{
					L10DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 340f && MainY.transform.localEulerAngles.y >= 320f)
				{
					L30DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 340f || MainY.transform.localEulerAngles.y < 320f)
				{
					L30DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 320f && MainY.transform.localEulerAngles.y >= 290f)
				{
					L50DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 320f || MainY.transform.localEulerAngles.y < 290f)
				{
					L50DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y < 290f && MainY.transform.localEulerAngles.y >= 250f)
				{
					L90DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y >= 290f || MainY.transform.localEulerAngles.y < 250f)
				{
					L90DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 0f && MainY.transform.localEulerAngles.y <= 20f)
				{
					R10DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 0f || MainY.transform.localEulerAngles.y > 20f)
				{
					R10DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 20f && MainY.transform.localEulerAngles.y <= 40f)
				{
					R30DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 20f || MainY.transform.localEulerAngles.y > 40f)
				{
					R30DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 40f && MainY.transform.localEulerAngles.y <= 70f)
				{
					R50DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 40f || MainY.transform.localEulerAngles.y > 70f)
				{
					R50DM.SetActive(false);
				}
				if (MainY.transform.localEulerAngles.y > 70f && MainY.transform.localEulerAngles.y <= 110f)
				{
					R90DM.SetActive(true);
				}
				else if (MainY.transform.localEulerAngles.y <= 70f || MainY.transform.localEulerAngles.y > 110f)
				{
					R90DM.SetActive(false);
				}
			}
			else if (!shot)
			{
				R1.SetActive(false);
				R2.SetActive(false);
				R3.SetActive(false);
				R4.SetActive(false);
				R5.SetActive(false);
				R6.SetActive(false);
				R7.SetActive(false);
				R8.SetActive(false);
				R9.SetActive(false);
				R10.SetActive(false);
				R11.SetActive(false);
				R12.SetActive(false);
				R13.SetActive(false);
				R14.SetActive(false);
				R15.SetActive(false);
				R16.SetActive(false);
			}
			if (tracking)
			{
				Tracking.SetActive(true);
			}
			else if (!tracking)
			{
				Tracking.SetActive(false);
			}
		}

		private void AxisLookAtX(Transform tr_self, Vector3 lookPos, Vector3 directionAxis)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			Quaternion rotation = tr_self.rotation;
			Vector3 val = lookPos - tr_self.position;
			Vector3 val2 = tr_self.rotation * directionAxis;
			Vector3 val3 = Vector3.Cross(val2, val);
			Vector3 normalized = ((Vector3)(ref val3)).normalized;
			float num = Vector3.Angle(val2, val);
			tr_self.rotation = Quaternion.AngleAxis(num, normalized) * rotation;
			tr_self.localEulerAngles = new Vector3(tr_self.localEulerAngles.x, 0f, 0f);
		}

		private void AxisLookAtY(Transform tr_self, Vector3 lookPos, Vector3 directionAxis)
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0014: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0045: Unknown result type (might be due to invalid IL or missing references)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			Quaternion rotation = tr_self.rotation;
			Vector3 val = lookPos - tr_self.position;
			Vector3 val2 = tr_self.rotation * directionAxis;
			Vector3 val3 = Vector3.Cross(val2, val);
			Vector3 normalized = ((Vector3)(ref val3)).normalized;
			float num = Vector3.Angle(val2, val);
			tr_self.rotation = Quaternion.AngleAxis(num, normalized) * rotation;
			tr_self.localEulerAngles = new Vector3(0f, tr_self.localEulerAngles.y, 0f);
		}
	}
	public class SnapToPointRigidbody : MonoBehaviour
	{
		public Transform snapTo;

		private Rigidbody body;

		public float snapTime = 2f;

		private float dropTimer;

		public void Start()
		{
			body = ((Component)this).GetComponent<Rigidbody>();
		}

		public void FixedUpdate()
		{
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0108: Unknown result type (might be due to invalid IL or missing references)
			//IL_011e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0129: Unknown result type (might be due to invalid IL or missing references)
			//IL_013b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d4: Unknown result type (might be due to invalid IL or missing references)
			dropTimer += Time.deltaTime / (snapTime / 2f);
			body.isKinematic = dropTimer > 1f;
			if (dropTimer > 1f)
			{
				((Component)this).transform.position = snapTo.position;
				((Component)this).transform.rotation = snapTo.rotation;
			}
			else
			{
				float num = Mathf.Pow(35f, dropTimer);
				body.velocity = Vector3.Lerp(body.velocity, Vector3.zero, Time.fixedDeltaTime * 4f);
				if (body.useGravity)
				{
					body.AddForce(-Physics.gravity);
				}
				((Component)this).transform.position = Vector3.Lerp(((Component)this).transform.position, snapTo.position, Time.fixedDeltaTime * num * 3f);
				((Component)this).transform.rotation = Quaternion.Slerp(((Component)this).transform.rotation, snapTo.rotation, Time.fixedDeltaTime * num * 2f);
			}
			if ((Object)(object)snapTo == (Object)null)
			{
				Object.Destroy((Object)(object)((Component)this).gameObject);
			}
		}
	}
	public class Forwardassistslap : MonoBehaviour
	{
		public ClosedBoltWeapon gun;

		public Vector3 velLinearWorld;

		public Transform slapdir;

		public bool Slamed = false;

		public GameObject assistGeo;

		public float forwardvalue;

		public float forref;

		public AudioEvent slap;

		private void FixedUpdate()
		{
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0100: Unknown result type (might be due to invalid IL or missing references)
			//IL_0105: Unknown result type (might be due to invalid IL or missing references)
			//IL_0123: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0197: Unknown result type (might be due to invalid IL or missing references)
			//IL_019c: Unknown result type (might be due to invalid IL or missing references)
			//IL_015f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0164: Unknown result type (might be due to invalid IL or missing references)
			//IL_0181: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)((FVRInteractiveObject)gun).m_hand != (Object)null)
			{
				velLinearWorld = ((FVRInteractiveObject)gun).m_hand.OtherHand.Input.VelLinearWorld;
				if (!Slamed && Vector3.Distance(((FVRInteractiveObject)gun).m_hand.OtherHand.PalmTransform.position, slapdir.position) < 0.1f && Vector3.Angle(velLinearWorld, slapdir.forward) < 50f && ((Vector3)(ref velLinearWorld)).magnitude > 1.5f)
				{
					SM.PlayCoreSound((FVRPooledAudioType)41, slap, assistGeo.transform.position);
					Slamed = true;
				}
			}
			if (Slamed)
			{
				assistGeo.transform.localPosition = new Vector3(0f, 0f, Mathf.SmoothDamp(assistGeo.transform.localPosition.z, forwardvalue, ref forref, 0.05f));
			}
			else if (!Slamed)
			{
				assistGeo.transform.localPosition = new Vector3(0f, 0f, Mathf.SmoothDamp(assistGeo.transform.localPosition.z, 0f, ref forref, 0.1f));
			}
			if (assistGeo.transform.localPosition.z >= forwardvalue * 0.9f)
			{
				Slamed = false;
			}
		}
	}
	public class SecondChargingHandleForClosedBolt : MonoBehaviour
	{
		public MultipleChargingHandleClosedBolt handle1;

		public ClosedBolt bolt;

		public float handle1ForwardValue;

		private void FixedUpdate()
		{
			if (bolt.m_isBoltLocked)
			{
				((ClosedBoltHandle)handle1).Speed_Forward = 0f;
			}
			else if (!bolt.m_isBoltLocked)
			{
				((ClosedBoltHandle)handle1).Speed_Forward = handle1ForwardValue;
			}
		}
	}
}