Decompiled source of EFT XM5 SPEAR v1.0.2

EFT_XM5_SPEAR.dll

Decompiled 3 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.EFT_XM5_SPEAR
{
	[BepInPlugin("JerryAr.EFT_XM5_SPEAR", "EFT_XM5_SPEAR", "1.0.2")]
	[BepInProcess("h3vr.exe")]
	[Description("Built with MeatKit")]
	[BepInDependency("h3vr.otherloader", "1.3.0")]
	public class EFT_XM5_SPEARPlugin : 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.EFT_XM5_SPEAR");
			OtherLoader.RegisterDirectLoad(BasePath, "JerryAr.EFT_XM5_SPEAR", "", "", "m5spear", "");
		}
	}
}
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 Transform nearestAI;

		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_0057: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: 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;
		}

		public GameObject GetNearestGameObject(Transform player, List<SosigLink> objects)
		{
			//IL_0044: 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_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = null;
			if (objects == null || (Object)(object)val == (Object)null)
			{
			}
			if (objects.Count > 0 && (Object)(object)objects[0] != (Object)null)
			{
				val = ((Component)objects[0]).gameObject;
				float num = Vector3.Distance(player.position, ((Component)objects[0]).transform.position);
				for (int i = 1; i < objects.Count; i++)
				{
					float num2 = Vector3.Distance(player.position, ((Component)objects[i]).transform.position);
					if (num > num2)
					{
						num = num2;
						val = ((Component)objects[i]).gameObject;
					}
				}
			}
			return val;
		}

		private void OnTriggerStay(Collider other)
		{
			if (((Object)((Component)other).gameObject).name == "Sosig_Torso" && !currentAI.Contains(((Component)other).gameObject.GetComponent<SosigLink>()))
			{
				currentAI.Add(((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_0053: 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_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0109: Unknown result type (might be due to invalid IL or missing references)
			//IL_0376: Unknown result type (might be due to invalid IL or missing references)
			//IL_038b: Unknown result type (might be due to invalid IL or missing references)
			//IL_067d: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			//IL_0138: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_04eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f1: Invalid comparison between Unknown and I4
			//IL_022f: Unknown result type (might be due to invalid IL or missing references)
			//IL_024a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: 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_01a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ac: Invalid comparison between Unknown and I4
			//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ac: Invalid comparison between Unknown and I4
			//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c8: Invalid comparison between Unknown and I4
			//IL_054b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0551: Invalid comparison between Unknown and I4
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0778: Unknown result type (might be due to invalid IL or missing references)
			//IL_077d: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_079a: Unknown result type (might be due to invalid IL or missing references)
			//IL_079f: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0824: Unknown result type (might be due to invalid IL or missing references)
			//IL_0829: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e20: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e25: Unknown result type (might be due to invalid IL or missing references)
			//IL_167f: Unknown result type (might be due to invalid IL or missing references)
			//IL_168f: Unknown result type (might be due to invalid IL or missing references)
			//IL_087d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0882: Unknown result type (might be due to invalid IL or missing references)
			//IL_0847: Unknown result type (might be due to invalid IL or missing references)
			//IL_084c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e79: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e7e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e43: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e48: Unknown result type (might be due to invalid IL or missing references)
			//IL_16bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_16cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ea1: Unknown result type (might be due to invalid IL or missing references)
			//IL_16f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1709: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d1: 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_1ecd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ed2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1736: Unknown result type (might be due to invalid IL or missing references)
			//IL_1746: Unknown result type (might be due to invalid IL or missing references)
			//IL_092a: Unknown result type (might be due to invalid IL or missing references)
			//IL_092f: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f26: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f2b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ef0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ef5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1773: Unknown result type (might be due to invalid IL or missing references)
			//IL_1783: Unknown result type (might be due to invalid IL or missing references)
			//IL_094d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0952: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f49: 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_17b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_17c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_097e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0983: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f7f: Unknown result type (might be due to invalid IL or missing references)
			//IL_17ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_17fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fd3: 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_1f9d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fa2: Unknown result type (might be due to invalid IL or missing references)
			//IL_182a: Unknown result type (might be due to invalid IL or missing references)
			//IL_183a: Unknown result type (might be due to invalid IL or missing references)
			//IL_09fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ff6: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ffb: Unknown result type (might be due to invalid IL or missing references)
			//IL_1867: Unknown result type (might be due to invalid IL or missing references)
			//IL_1877: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a2b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a30: Unknown result type (might be due to invalid IL or missing references)
			//IL_2027: Unknown result type (might be due to invalid IL or missing references)
			//IL_202c: Unknown result type (might be due to invalid IL or missing references)
			//IL_18a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a84: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a53: Unknown result type (might be due to invalid IL or missing references)
			//IL_2080: Unknown result type (might be due to invalid IL or missing references)
			//IL_2085: Unknown result type (might be due to invalid IL or missing references)
			//IL_204a: Unknown result type (might be due to invalid IL or missing references)
			//IL_204f: Unknown result type (might be due to invalid IL or missing references)
			//IL_18e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_18f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aac: Unknown result type (might be due to invalid IL or missing references)
			//IL_20a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_20a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_191e: Unknown result type (might be due to invalid IL or missing references)
			//IL_192e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ad8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0add: Unknown result type (might be due to invalid IL or missing references)
			//IL_20d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_20d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_195b: Unknown result type (might be due to invalid IL or missing references)
			//IL_196b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b31: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b36: Unknown result type (might be due to invalid IL or missing references)
			//IL_0afb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b00: Unknown result type (might be due to invalid IL or missing references)
			//IL_212d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2132: Unknown result type (might be due to invalid IL or missing references)
			//IL_20f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_20fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_1998: Unknown result type (might be due to invalid IL or missing references)
			//IL_19a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b54: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b59: Unknown result type (might be due to invalid IL or missing references)
			//IL_2150: Unknown result type (might be due to invalid IL or missing references)
			//IL_2155: Unknown result type (might be due to invalid IL or missing references)
			//IL_19d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_19e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b85: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b8a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2181: Unknown result type (might be due to invalid IL or missing references)
			//IL_2186: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a12: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a22: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bde: Unknown result type (might be due to invalid IL or missing references)
			//IL_0be3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ba8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bad: Unknown result type (might be due to invalid IL or missing references)
			//IL_21da: Unknown result type (might be due to invalid IL or missing references)
			//IL_21df: Unknown result type (might be due to invalid IL or missing references)
			//IL_21a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_21a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a4f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a5f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c06: 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_2202: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c32: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c37: Unknown result type (might be due to invalid IL or missing references)
			//IL_222e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2233: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ac9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ad9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c8b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c55: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c5a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2287: Unknown result type (might be due to invalid IL or missing references)
			//IL_228c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2251: Unknown result type (might be due to invalid IL or missing references)
			//IL_2256: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b06: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b16: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cae: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb3: Unknown result type (might be due to invalid IL or missing references)
			//IL_22aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_22af: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b43: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b53: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cdf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ce4: Unknown result type (might be due to invalid IL or missing references)
			//IL_22db: Unknown result type (might be due to invalid IL or missing references)
			//IL_22e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b80: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d3d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d02: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d07: Unknown result type (might be due to invalid IL or missing references)
			//IL_2334: Unknown result type (might be due to invalid IL or missing references)
			//IL_2339: Unknown result type (might be due to invalid IL or missing references)
			//IL_22fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_2303: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bbd: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bcd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d60: Unknown result type (might be due to invalid IL or missing references)
			//IL_2357: Unknown result type (might be due to invalid IL or missing references)
			//IL_235c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bfa: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c0a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d91: Unknown result type (might be due to invalid IL or missing references)
			//IL_2388: Unknown result type (might be due to invalid IL or missing references)
			//IL_238d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c37: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c47: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0daf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db4: Unknown result type (might be due to invalid IL or missing references)
			//IL_23e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_23e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_23ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_23b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c74: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c84: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e08: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e0d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2404: Unknown result type (might be due to invalid IL or missing references)
			//IL_2409: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cb1: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cc1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e39: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e3e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2435: Unknown result type (might be due to invalid IL or missing references)
			//IL_243a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cee: Unknown result type (might be due to invalid IL or missing references)
			//IL_1cfe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e92: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e5c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e61: Unknown result type (might be due to invalid IL or missing references)
			//IL_248e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2493: Unknown result type (might be due to invalid IL or missing references)
			//IL_2458: Unknown result type (might be due to invalid IL or missing references)
			//IL_245d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d2b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eba: Unknown result type (might be due to invalid IL or missing references)
			//IL_24b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_24b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d68: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d78: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eeb: Unknown result type (might be due to invalid IL or missing references)
			//IL_24e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_24e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_1da5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1db5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f3f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f44: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f09: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f0e: Unknown result type (might be due to invalid IL or missing references)
			//IL_253b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2540: Unknown result type (might be due to invalid IL or missing references)
			//IL_2505: Unknown result type (might be due to invalid IL or missing references)
			//IL_250a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1de2: Unknown result type (might be due to invalid IL or missing references)
			//IL_1df2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f67: Unknown result type (might be due to invalid IL or missing references)
			//IL_255e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2563: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f93: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f98: Unknown result type (might be due to invalid IL or missing references)
			//IL_258f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2594: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ff1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fb6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fbb: Unknown result type (might be due to invalid IL or missing references)
			//IL_25e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_25ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_25b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_25b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_100f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1014: Unknown result type (might be due to invalid IL or missing references)
			//IL_260b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2610: Unknown result type (might be due to invalid IL or missing references)
			//IL_1040: Unknown result type (might be due to invalid IL or missing references)
			//IL_1045: Unknown result type (might be due to invalid IL or missing references)
			//IL_263c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2641: Unknown result type (might be due to invalid IL or missing references)
			//IL_1099: Unknown result type (might be due to invalid IL or missing references)
			//IL_109e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1063: Unknown result type (might be due to invalid IL or missing references)
			//IL_1068: Unknown result type (might be due to invalid IL or missing references)
			//IL_2695: Unknown result type (might be due to invalid IL or missing references)
			//IL_269a: Unknown result type (might be due to invalid IL or missing references)
			//IL_265f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2664: Unknown result type (might be due to invalid IL or missing references)
			//IL_10bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_10c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_26b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_26bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_10ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_10f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_26e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_26ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_1146: Unknown result type (might be due to invalid IL or missing references)
			//IL_114b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1110: Unknown result type (might be due to invalid IL or missing references)
			//IL_1115: Unknown result type (might be due to invalid IL or missing references)
			//IL_2742: Unknown result type (might be due to invalid IL or missing references)
			//IL_2747: Unknown result type (might be due to invalid IL or missing references)
			//IL_270c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2711: Unknown result type (might be due to invalid IL or missing references)
			//IL_1169: Unknown result type (might be due to invalid IL or missing references)
			//IL_116e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2765: Unknown result type (might be due to invalid IL or missing references)
			//IL_276a: Unknown result type (might be due to invalid IL or missing references)
			//IL_119a: Unknown result type (might be due to invalid IL or missing references)
			//IL_119f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2796: Unknown result type (might be due to invalid IL or missing references)
			//IL_279b: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_11bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_11c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_27ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_27f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_27b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_27be: Unknown result type (might be due to invalid IL or missing references)
			//IL_1216: Unknown result type (might be due to invalid IL or missing references)
			//IL_121b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2812: Unknown result type (might be due to invalid IL or missing references)
			//IL_2817: Unknown result type (might be due to invalid IL or missing references)
			//IL_1247: Unknown result type (might be due to invalid IL or missing references)
			//IL_124c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2843: Unknown result type (might be due to invalid IL or missing references)
			//IL_2848: Unknown result type (might be due to invalid IL or missing references)
			//IL_12a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_12a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_126a: Unknown result type (might be due to invalid IL or missing references)
			//IL_126f: Unknown result type (might be due to invalid IL or missing references)
			//IL_289c: Unknown result type (might be due to invalid IL or missing references)
			//IL_28a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2866: Unknown result type (might be due to invalid IL or missing references)
			//IL_286b: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_28bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_28c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_28f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_28f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_134d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1352: Unknown result type (might be due to invalid IL or missing references)
			//IL_1317: Unknown result type (might be due to invalid IL or missing references)
			//IL_131c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2949: Unknown result type (might be due to invalid IL or missing references)
			//IL_294e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2913: Unknown result type (might be due to invalid IL or missing references)
			//IL_2918: Unknown result type (might be due to invalid IL or missing references)
			//IL_1370: Unknown result type (might be due to invalid IL or missing references)
			//IL_1375: Unknown result type (might be due to invalid IL or missing references)
			//IL_296c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2971: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_13a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_299d: Unknown result type (might be due to invalid IL or missing references)
			//IL_29a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_13fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_13ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_29f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_29fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_29c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_29c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_141d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1422: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a19: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a1e: Unknown result type (might be due to invalid IL or missing references)
			//IL_144e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1453: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a4a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a4f: Unknown result type (might be due to invalid IL or missing references)
			//IL_14a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_1471: Unknown result type (might be due to invalid IL or missing references)
			//IL_1476: Unknown result type (might be due to invalid IL or missing references)
			//IL_2aa3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2aa8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a6d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a72: Unknown result type (might be due to invalid IL or missing references)
			//IL_14ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_14cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ac6: Unknown result type (might be due to invalid IL or missing references)
			//IL_2acb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2af7: Unknown result type (might be due to invalid IL or missing references)
			//IL_2afc: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b50: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b55: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b1a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b1f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b73: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b78: Unknown result type (might be due to invalid IL or missing references)
			beep.volume = volknob.transform.localEulerAngles.x / 180f;
			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 (currentAI != null)
			{
				for (int i = 0; i < currentAI.Count; i++)
				{
					if (volknob.transform.localEulerAngles.x > 5f && Tracking.activeInHierarchy && Vector3.Distance(((Component)currentAI[i]).gameObject.transform.position, ((Component)this).gameObject.transform.position) < 10f && (int)currentAI[i].S.BodyState != 3 && (int)currentAI[i].S.BodyState != 2)
					{
						currentAI[i].S.ForceSetPathToPoint(((Component)this).gameObject.transform.position);
						currentAI[i].S.SetMovementState((SosigMovementState)2);
					}
					if ((Object)(object)currentAI[i] == (Object)null || Vector3.Distance(((Component)this).gameObject.transform.position, ((Component)currentAI[i]).gameObject.transform.position) > 80f)
					{
						currentAI.Remove(currentAI[i]);
					}
					if ((Object)(object)currentAI[i].S != (Object)null)
					{
						if ((int)currentAI[i].S.BodyState == 3)
						{
							currentAI.Remove(currentAI[i]);
						}
					}
					else if ((Object)(object)currentAI[i].S == (Object)null)
					{
						currentAI.Remove(currentAI[i]);
					}
				}
				SAMRADARMain = GetNearestGameObject(((Component)this).gameObject.transform, currentAI);
				SAMRADAR = GetGameObjectByDistanceOrder(((Component)this).gameObject.transform, currentAI, 2);
			}
			if ((Object)(object)SAMRADARMain != (Object)null)
			{
				if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADARMain.gameObject.transform.position) > 80f)
				{
					SAMRADARMain = null;
				}
				if ((Object)(object)SAMRADARMain.GetComponent<SosigLink>() != (Object)null && (Object)(object)SAMRADARMain.GetComponent<SosigLink>().S != (Object)null)
				{
					if ((int)SAMRADARMain.GetComponent<SosigLink>().S.BodyState == 3)
					{
						SAMRADARMain = 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;
						}
					}
				}
				if ((Object)(object)SAMRADAR != (Object)null)
				{
					if (Vector3.Distance(((Component)this).gameObject.transform.position, SAMRADAR.gameObject.transform.position) > 80f)
					{
						SAMRADAR = null;
					}
					if ((Object)(object)SAMRADAR.GetComponent<SosigLink>() != (Object)null && (Object)(object)SAMRADAR.GetComponent<SosigLink>().S != (Object)null)
					{
						if ((int)SAMRADAR.GetComponent<SosigLink>().S.BodyState == 3)
						{
							SAMRADAR = 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)SAMRADARMain == (Object)null)
			{
				see1 = false;
				see2 = false;
				exist1 = false;
				exist2 = false;
				shot = false;
				locked = false;
				SAMRADAR = null;
				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;
			}
		}
	}
}