Decompiled source of LightSaber Proto v1.0.0

LightSaber_Proto.dll

Decompiled 2 days 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 JerryComponent
{
	public class G11Handle : FVRInteractiveObject
	{
		public Transform RotPiece;

		public AudioEvent HandleCrank;

		[NonSerialized]
		public float m_curRot;

		public Transform FlapPiece;

		[NonSerialized]
		public Vector3 lastHandForward = Vector3.zero;

		public override void BeginInteraction(FVRViveHand hand)
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			((FVRInteractiveObject)this).BeginInteraction(hand);
			SetFlapState(isOut: true);
			lastHandForward = Vector3.ProjectOnPlane(((HandInput)(ref base.m_hand.Input)).Up, ((Component)this).transform.right);
		}

		public override void EndInteraction(FVRViveHand hand)
		{
			((FVRInteractiveObject)this).EndInteraction(hand);
		}

		public void SetFlapState(bool isOut)
		{
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			if (isOut)
			{
				FlapPiece.localEulerAngles = new Vector3(0f, 90f, -90f);
			}
			else
			{
				FlapPiece.localEulerAngles = new Vector3(0f, 90f, 0f);
			}
		}

		public override void FVRFixedUpdate()
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_002a: Unknown result type (might be due to invalid IL or missing references)
			//IL_002f: 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_0039: 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)
			//IL_0046: Unknown result type (might be due to invalid IL or missing references)
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0050: 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_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Unknown result type (might be due to invalid IL or missing references)
			//IL_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_0160: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_016c: Unknown result type (might be due to invalid IL or missing references)
			//IL_016d: Unknown result type (might be due to invalid IL or missing references)
			if (((FVRInteractiveObject)this).IsHeld)
			{
				float curRot = m_curRot;
				Vector3 val = Vector3.ProjectOnPlane(((HandInput)(ref base.m_hand.Input)).Up, -((Component)this).transform.right);
				Vector3 val2 = Vector3.ProjectOnPlane(lastHandForward, -((Component)this).transform.right);
				float num = Mathf.Atan2(Vector3.Dot(-((Component)this).transform.right, Vector3.Cross(val, val2)), Vector3.Dot(val, val2)) * 57.29578f;
				if (num > 0f)
				{
					m_curRot -= num;
				}
				if (curRot > -180f && m_curRot <= -180f)
				{
					SM.PlayCoreSound((FVRPooledAudioType)10, HandleCrank, ((Component)this).transform.position);
				}
				if (m_curRot <= -360f)
				{
					RotPiece.localEulerAngles = new Vector3(0f, 0f, 0f);
					SM.PlayCoreSound((FVRPooledAudioType)10, HandleCrank, ((Component)this).transform.position);
					m_curRot = 0f;
					SetFlapState(isOut: false);
					base.m_hand.EndInteractionIfHeld((FVRInteractiveObject)(object)this);
					((FVRInteractiveObject)this).ForceBreakInteraction();
				}
				else
				{
					RotPiece.localEulerAngles = new Vector3(0f, 0f, m_curRot);
				}
				lastHandForward = val;
			}
			((FVRInteractiveObject)this).FVRFixedUpdate();
		}
	}
	public class LightSaber : MonoBehaviour
	{
		public LightsaberTrail trail;

		public AudioSource whooshAudio;

		public GameObject bladeGeo;

		public GameObject togglebutton;

		public GameObject bladeball;

		public Vector3 bladeballref;

		public AudioSource on;

		public AudioSource idle;

		public AudioSource off;

		public bool isOn = false;

		public float volumeref;

		public float pitchref;

		public float v;

		public float p;

		public GameObject bladeballtarg;

		public float bladeballSmooth;

		public float volumeSmooth;

		public float pitchSmooth;

		public float volumeMul;

		public float pitchMul;

		public Collider damcol;

		public GameObject mainobj;

		public Light l;

		public float lengthMul = 1.15f;

		public GameObject thisObj;

		public float speed;

		public Vector3 lastPosition;

		public float speedlim = 10f;

		public LayerMask lm;

		public GameObject bladeHolderScale;

		public float ThermalDamage = 100f;

		public void OnTriggerStay(Collider other)
		{
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_003b: Expected O, but got Unknown
			//IL_003d: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0065: Unknown result type (might be due to invalid IL or missing references)
			//IL_0077: Unknown result type (might be due to invalid IL or missing references)
			//IL_007c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: Unknown result type (might be due to invalid IL or missing references)
			//IL_008c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: 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_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: 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_00c5: 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)
			IFVRDamageable component = ((Component)other).GetComponent<IFVRDamageable>();
			if (component == null && (Object)(object)other.attachedRigidbody != (Object)null)
			{
				component = ((Component)other.attachedRigidbody).GetComponent<IFVRDamageable>();
			}
			if (component != null)
			{
				IFVRDamageable obj = component;
				Damage val = new Damage();
				val.Class = (DamageClass)0;
				val.Dam_Thermal = ThermalDamage;
				val.point = ((Component)other).transform.TransformPoint(other.attachedRigidbody.centerOfMass);
				Vector3 val2 = ((Component)other).transform.TransformPoint(other.attachedRigidbody.centerOfMass) - ((Component)this).transform.position;
				val.hitNormal = ((Vector3)(ref val2)).normalized;
				Vector3 val3 = ((Component)this).transform.position - ((Component)other).transform.TransformPoint(other.attachedRigidbody.centerOfMass);
				val.strikeDir = ((Vector3)(ref val3)).normalized;
				obj.Damage(val);
			}
			FVRIgnitable component2 = ((Component)other).GetComponent<FVRIgnitable>();
			if ((Object)(object)component2 == (Object)null && (Object)(object)other.attachedRigidbody != (Object)null)
			{
				((Component)other.attachedRigidbody).GetComponent<FVRIgnitable>();
			}
			if ((Object)(object)component2 != (Object)null)
			{
				FXM.Ignite(component2, ThermalDamage / 500f);
			}
		}

		private void Start()
		{
			//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)
			lastPosition = Vector3.zero;
			whooshAudio.volume = 0f;
		}

		private void Update()
		{
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ba: 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_00e1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e6: 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_00fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0368: Unknown result type (might be due to invalid IL or missing references)
			//IL_036d: Unknown result type (might be due to invalid IL or missing references)
			//IL_011b: Unknown result type (might be due to invalid IL or missing references)
			//IL_012b: 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_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0151: Unknown result type (might be due to invalid IL or missing references)
			//IL_0161: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0202: Unknown result type (might be due to invalid IL or missing references)
			//IL_018d: Unknown result type (might be due to invalid IL or missing references)
			//IL_019d: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0263: Unknown result type (might be due to invalid IL or missing references)
			//IL_0273: Unknown result type (might be due to invalid IL or missing references)
			//IL_0284: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0313: Unknown result type (might be due to invalid IL or missing references)
			//IL_0318: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Unknown result type (might be due to invalid IL or missing references)
			whooshAudio.volume = Mathf.SmoothDamp(whooshAudio.volume, speed * volumeMul, ref volumeref, volumeSmooth);
			whooshAudio.pitch = Mathf.SmoothDamp(whooshAudio.pitch, 0.5f + speed * pitchMul, ref pitchref, pitchSmooth);
			thisObj.transform.localScale = bladeGeo.transform.localScale;
			if (speed > speedlim)
			{
				speed = speedlim;
			}
			speed = Vector3.Distance(bladeballtarg.transform.position, lastPosition) / Time.deltaTime;
			lastPosition = bladeballtarg.transform.position;
			if (togglebutton.transform.localEulerAngles.x > 1f)
			{
				Ray val = default(Ray);
				((Ray)(ref val))..ctor(((Component)this).gameObject.transform.position, ((Component)this).gameObject.transform.forward);
				RaycastHit val2 = default(RaycastHit);
				Physics.Raycast(val, ref val2, 0.625f, LayerMask.op_Implicit(lm));
				if (Vector3.Distance(((RaycastHit)(ref val2)).point, ((Component)this).gameObject.transform.position) <= 0.625f)
				{
					bladeHolderScale.transform.localScale = new Vector3(1f, 1f, Vector3.Distance(((RaycastHit)(ref val2)).point, ((Component)this).gameObject.transform.position) / 0.625f);
					trail.height = 0.725f * (Vector3.Distance(((RaycastHit)(ref val2)).point, ((Component)this).gameObject.transform.position) / 0.625f);
				}
				else if (Vector3.Distance(((RaycastHit)(ref val2)).point, ((Component)this).gameObject.transform.position) > 0.625f)
				{
					trail.height = 0.725f;
					bladeHolderScale.transform.localScale = new Vector3(1f, 1f, 1f);
				}
				bladeball.transform.position = Vector3.SmoothDamp(bladeball.transform.position, bladeballtarg.transform.position, ref bladeballref, bladeballSmooth);
				bladeGeo.transform.localScale = new Vector3(1f, 1f, lengthMul * (togglebutton.transform.localEulerAngles.x / 90f));
				l.intensity = 2f * (togglebutton.transform.localEulerAngles.x / 90f);
				idle.volume = togglebutton.transform.localEulerAngles.x / 90f;
				if (!isOn)
				{
					damcol.enabled = true;
					on.Play();
					isOn = true;
				}
			}
			else if (togglebutton.transform.localEulerAngles.x <= 1f)
			{
				l.intensity = 0f;
				v = 0f;
				p = 0f;
				bladeball.transform.localPosition = new Vector3(0f, 0f, 0f);
				bladeGeo.transform.localScale = new Vector3(0f, 0f, 0f);
				if (isOn)
				{
					damcol.enabled = false;
					on.Play();
					isOn = false;
				}
			}
		}
	}
}
internal class TronTrailSection
{
	public Vector3 point;

	public Vector3 upDir;

	public float time;

	public TronTrailSection()
	{
	}

	public TronTrailSection(Vector3 p, float t)
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		point = p;
		time = t;
	}
}
[RequireComponent(typeof(MeshFilter))]
public class LightsaberTrail : MonoBehaviour
{
	public float height = 2f;

	public float time = 2f;

	public bool alwaysUp = false;

	public float minDistance = 0.1f;

	public float timeTransitionSpeed = 1f;

	public float desiredTime = 2f;

	public Color startColor = Color.white;

	public Color endColor = new Color(1f, 1f, 1f, 0f);

	private Vector3 position;

	private float now = 0f;

	private TronTrailSection currentSection;

	private Matrix4x4 localSpaceTransform;

	private Mesh mesh;

	private Vector3[] vertices;

	private Color[] colors;

	private Vector2[] uv;

	private MeshRenderer meshRenderer;

	private Material trailMaterial;

	private List<TronTrailSection> sections = new List<TronTrailSection>();

	private void Awake()
	{
		Component component = ((Component)this).GetComponent(typeof(MeshFilter));
		MeshFilter val = (MeshFilter)(object)((component is MeshFilter) ? component : null);
		mesh = val.mesh;
		ref MeshRenderer reference = ref meshRenderer;
		Component component2 = ((Component)this).GetComponent(typeof(MeshRenderer));
		reference = (MeshRenderer)(object)((component2 is MeshRenderer) ? component2 : null);
		trailMaterial = ((Renderer)meshRenderer).material;
	}

	public void StartTrail(float timeToTweenTo, float fadeInTime)
	{
		desiredTime = timeToTweenTo;
		if (time != desiredTime)
		{
			timeTransitionSpeed = Mathf.Abs(desiredTime - time) / fadeInTime;
		}
		if (time <= 0f)
		{
			time = 0.01f;
		}
	}

	public void SetTime(float trailTime, float timeToTweenTo, float tweenSpeed)
	{
		time = trailTime;
		desiredTime = timeToTweenTo;
		timeTransitionSpeed = tweenSpeed;
		if (time <= 0f)
		{
			ClearTrail();
		}
	}

	public void FadeOut(float fadeTime)
	{
		desiredTime = 0f;
		if (time > 0f)
		{
			timeTransitionSpeed = time / fadeTime;
		}
	}

	public void SetTrailColor(Color color)
	{
		//IL_000c: Unknown result type (might be due to invalid IL or missing references)
		trailMaterial.SetColor("_TintColor", color);
	}

	public void Iterate(float itterateTime)
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0068: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0035: 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)
		//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_0094: Unknown result type (might be due to invalid IL or missing references)
		//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_007e: 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)
		position = ((Component)this).transform.position;
		now = itterateTime;
		if (sections.Count != 0)
		{
			Vector3 val = sections[0].point - position;
			if (!(((Vector3)(ref val)).sqrMagnitude > minDistance * minDistance))
			{
				return;
			}
		}
		TronTrailSection tronTrailSection = new TronTrailSection();
		tronTrailSection.point = position;
		if (alwaysUp)
		{
			tronTrailSection.upDir = Vector3.up;
		}
		else
		{
			tronTrailSection.upDir = ((Component)this).transform.TransformDirection(Vector3.up);
		}
		tronTrailSection.time = now;
		sections.Insert(0, tronTrailSection);
	}

	public void UpdateTrail(float currentTime, float deltaTime)
	{
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_012d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0132: Unknown result type (might be due to invalid IL or missing references)
		//IL_014d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0152: Unknown result type (might be due to invalid IL or missing references)
		//IL_0157: 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_017d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0184: Unknown result type (might be due to invalid IL or missing references)
		//IL_0189: Unknown result type (might be due to invalid IL or missing references)
		//IL_018e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0193: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e3: 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_01f7: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_020d: Unknown result type (might be due to invalid IL or missing references)
		//IL_020e: Unknown result type (might be due to invalid IL or missing references)
		mesh.Clear();
		while (sections.Count > 0 && currentTime > sections[sections.Count - 1].time + time)
		{
			sections.RemoveAt(sections.Count - 1);
		}
		if (sections.Count < 2)
		{
			return;
		}
		vertices = (Vector3[])(object)new Vector3[sections.Count * 2];
		colors = (Color[])(object)new Color[sections.Count * 2];
		uv = (Vector2[])(object)new Vector2[sections.Count * 2];
		currentSection = sections[0];
		localSpaceTransform = ((Component)this).transform.worldToLocalMatrix;
		for (int i = 0; i < sections.Count; i++)
		{
			currentSection = sections[i];
			float num = 0f;
			if (i != 0)
			{
				num = Mathf.Clamp01((currentTime - currentSection.time) / time);
			}
			Vector3 upDir = currentSection.upDir;
			ref Vector3 reference = ref vertices[i * 2];
			reference = ((Matrix4x4)(ref localSpaceTransform)).MultiplyPoint(currentSection.point);
			ref Vector3 reference2 = ref vertices[i * 2 + 1];
			reference2 = ((Matrix4x4)(ref localSpaceTransform)).MultiplyPoint(currentSection.point + upDir * height);
			ref Vector2 reference3 = ref uv[i * 2];
			reference3 = new Vector2(num, 0f);
			ref Vector2 reference4 = ref uv[i * 2 + 1];
			reference4 = new Vector2(num, 1f);
			Color val = Color.Lerp(startColor, endColor, num);
			colors[i * 2] = val;
			colors[i * 2 + 1] = val;
		}
		int[] array = new int[(sections.Count - 1) * 2 * 3];
		for (int j = 0; j < array.Length / 6; j++)
		{
			array[j * 6] = j * 2;
			array[j * 6 + 1] = j * 2 + 1;
			array[j * 6 + 2] = j * 2 + 2;
			array[j * 6 + 3] = j * 2 + 2;
			array[j * 6 + 4] = j * 2 + 1;
			array[j * 6 + 5] = j * 2 + 3;
		}
		mesh.vertices = vertices;
		mesh.colors = colors;
		mesh.uv = uv;
		mesh.triangles = array;
		if (time > desiredTime)
		{
			time -= deltaTime * timeTransitionSpeed;
			if (time <= desiredTime)
			{
				time = desiredTime;
			}
		}
		else if (time < desiredTime)
		{
			time += deltaTime * timeTransitionSpeed;
			if (time >= desiredTime)
			{
				time = desiredTime;
			}
		}
	}

	public void ClearTrail()
	{
		desiredTime = 0f;
		time = 0f;
		if ((Object)(object)mesh != (Object)null)
		{
			mesh.Clear();
			sections.Clear();
		}
	}
}
[RequireComponent(typeof(LightsaberTrail))]
public class LightsaberTrailController : MonoBehaviour
{
	private LightsaberTrail lightsaberTrail;

	private void Start()
	{
		lightsaberTrail = ((Component)this).GetComponent<LightsaberTrail>();
	}

	private void Update()
	{
		lightsaberTrail.Iterate(Time.time);
		lightsaberTrail.UpdateTrail(Time.time, 0f);
	}
}
namespace JerryAr.LightSaber_Proto
{
	[BepInPlugin("JerryAr.LightSaber_Proto", "LightSaber_Proto", "1.0.0")]
	[BepInProcess("h3vr.exe")]
	[Description("Built with MeatKit")]
	[BepInDependency("h3vr.otherloader", "1.3.0")]
	public class LightSaber_ProtoPlugin : 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.LightSaber_Proto");
			OtherLoader.RegisterDirectLoad(BasePath, "JerryAr.LightSaber_Proto", "", "", "lightsaberp", "");
		}
	}
}
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)
				{