Decompiled source of FogVisualOnly v2.0.2

FogVisualOnly.dll

Decompiled 2 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.SceneManagement;
using UnityEngine.VFX;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyCompany("FogVisualOnly")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("FogVisualOnly")]
[assembly: AssemblyTitle("FogVisualOnly")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace FogVisualOnly
{
	[BepInPlugin("com.peaked.fogvisualonly", "Fog Visual Only", "2.0.0")]
	[BepInProcess("PEAK.exe")]
	public class FogVisualOnlyPlugin : BaseUnityPlugin
	{
		private struct PD
		{
			public bool A;

			public bool S;

			public bool Pa;

			public bool Pl;

			public bool An;

			public bool Sh;

			public bool V;

			public bool SS;

			public bool SP;

			public bool SA;

			public float O;

			public float SO;
		}

		private struct ToggleState
		{
			public bool A;

			public bool S;

			public bool Pa;

			public bool Pl;

			public bool An;

			public bool Sh;

			public bool V;

			public bool SS;

			public bool SP;

			public bool SA;

			public float O;

			public float SO;
		}

		private sealed class ColorPickState
		{
			public ConfigEntry<Color> Target;

			public float H;

			public float S;

			public float V;

			public int DragHue;

			public int DragSV;

			public Texture2D SVTex;

			private Color[] _buf;

			public void SyncFromTarget()
			{
				//IL_0016: Unknown result type (might be due to invalid IL or missing references)
				if (Target != null)
				{
					Color.RGBToHSV(Target.Value, ref H, ref S, ref V);
				}
			}

			public void Apply()
			{
				//IL_0028: Unknown result type (might be due to invalid IL or missing references)
				if (Target != null)
				{
					Target.Value = Color.HSVToRGB(H, S, V);
				}
			}

			public void RebuildSV()
			{
				//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bd: Expected O, but got Unknown
				//IL_0065: 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)
				int num = 128;
				int num2 = num * num;
				if (_buf == null || _buf.Length < num2)
				{
					_buf = (Color[])(object)new Color[num2];
				}
				for (int i = 0; i < num; i++)
				{
					int num3 = i * num;
					float num4 = (float)i / (float)(num - 1);
					for (int j = 0; j < num; j++)
					{
						_buf[num3 + j] = Color.HSVToRGB(H, (float)j / (float)(num - 1), num4);
					}
				}
				if ((Object)(object)SVTex != (Object)null)
				{
					Object.Destroy((Object)(object)SVTex);
				}
				SVTex = new Texture2D(num, num, (TextureFormat)4, false);
				SVTex.SetPixels(_buf);
				SVTex.Apply();
			}
		}

		private ConfigEntry<bool> _removeAtmospheric;

		private ConfigEntry<bool> _removeSphere;

		private ConfigEntry<float> _opacity;

		private ConfigEntry<float> _sphereOpacity;

		private ConfigEntry<Color> _windowColor;

		private ConfigEntry<bool> _disableParticles;

		private ConfigEntry<bool> _disablePlane;

		private ConfigEntry<bool> _disableSounds;

		private ConfigEntry<bool> _disableAnimations;

		private ConfigEntry<bool> _disableColliders;

		private ConfigEntry<bool> _disableShadows;

		private ConfigEntry<bool> _disableVfx;

		private ConfigEntry<bool> _sphereShadows;

		private ConfigEntry<bool> _sphereParticles;

		private ConfigEntry<bool> _sphereAnimations;

		private ConfigEntry<KeyCode> _toggleMenuKey;

		private ConfigEntry<float> _windowOpacity;

		private ConfigEntry<float> _textScale;

		private ConfigEntry<bool> _rememberPosition;

		private ConfigEntry<float> _winX;

		private ConfigEntry<float> _winY;

		private ConfigEntry<int> _cornerRadius;

		private ConfigEntry<int> _bgDarkenStrength;

		private ConfigEntry<bool> _fullscreenDarken;

		private ConfigEntry<int> _fsDarkenStrength;

		private static readonly string[] PN = new string[3] { "Max FPS", "Balanced", "SphereOnly" };

		private static readonly PD[] Pr = new PD[3]
		{
			new PD
			{
				A = true,
				S = true,
				O = 0f,
				SO = 0f,
				Pa = true,
				Pl = true,
				An = true,
				Sh = true,
				V = true,
				SS = true,
				SP = true,
				SA = true
			},
			new PD
			{
				A = false,
				S = true,
				O = 0.3f,
				SO = 0.4f,
				Pa = true,
				Pl = false,
				An = false,
				Sh = true,
				V = true,
				SS = false,
				SP = false,
				SA = false
			},
			new PD
			{
				A = true,
				S = false,
				O = 0f,
				SO = 0.4f,
				Pa = true,
				Pl = true,
				An = true,
				Sh = true,
				V = true,
				SS = true,
				SP = true,
				SA = true
			}
		};

		private readonly List<Renderer> _rend = new List<Renderer>();

		private readonly List<AudioSource> _src = new List<AudioSource>();

		private readonly List<Animator> _anim = new List<Animator>();

		private readonly List<Collider> _col = new List<Collider>();

		private readonly List<VisualEffect> _vf = new List<VisualEffect>();

		private readonly List<ParticleSystem> _psys = new List<ParticleSystem>();

		private readonly Dictionary<Renderer, MaterialPropertyBlock> _mpb = new Dictionary<Renderer, MaterialPropertyBlock>();

		private readonly Dictionary<Renderer, ShadowCastingMode> _osh = new Dictionary<Renderer, ShadowCastingMode>();

		private readonly HashSet<GameObject> _off = new HashSet<GameObject>();

		private readonly HashSet<Renderer> _sphRend = new HashSet<Renderer>();

		private readonly HashSet<GameObject> _sphGO = new HashSet<GameObject>();

		private readonly HashSet<AudioSource> _srcSet = new HashSet<AudioSource>();

		private GameObject _fogPlane;

		private bool _fogOff = true;

		private bool _dirty = true;

		private bool _dirtyApply;

		private bool _ap;

		private Harmony _harmony;

		private bool _menu;

		private int _tab;

		private Texture2D _gearTex;

		private float _settingsTw;

		private float _fogTw;

		private float _tabGlow0 = 1f;

		private float _tabGlow1 = 0.35f;

		private float _pt;

		private string _ptx = "";

		private Color _ptc = Color.white;

		private bool _si;

		private bool _texDirty;

		private Vector2 _scroll;

		private Rect _wRect = new Rect(0f, 0f, 450f, 540f);

		private readonly ColorPickState _windowPick = new ColorPickState
		{
			DragHue = 5,
			DragSV = 6
		};

		private Vector2 _dragOffset;

		private int _activeDrag;

		private Rect _activeSliderTrack;

		private object _dragTarget;

		private string _prevFocus;

		private bool _selectNext;

		private bool _wasCursorVisible;

		private CursorLockMode _wasLockState;

		private Font _peakFont;

		private bool _fontSearched;

		private GUIStyle _fogBtnGreen;

		private GUIStyle _fogBtnRed;

		private readonly Dictionary<(int, int, Color32, int, int, int, int), Texture2D> _rrCache = new Dictionary<(int, int, Color32, int, int, int, int), Texture2D>();

		private readonly Dictionary<int, Texture2D> _solidCache = new Dictionary<int, Texture2D>();

		private Texture2D _hueBar;

		private Texture2D _sliderTrack;

		private Texture2D _sliderThumb;

		private Texture2D _divLine;

		private bool _resetConfirm;

		private float _resetTime;

		private ToggleState _saved;

		private GUIStyle _ts;

		private GUIStyle _tabs;

		private GUIStyle _tabas;

		private GUIStyle _ls;

		private GUIStyle _ps;

		private GUIStyle _pas;

		private GUIStyle _is;

		private GUIStyle _slInputS;

		private GUIStyle _slInputSH;

		private GUIStyle _slInputSF;

		private GUIStyle _secS;

		private GUIStyle _popupS;

		private GUIStyle _grabS;

		private GUIStyle _toggleOn;

		private GUIStyle _toggleOff;

		private static readonly string _grabRaw = "grab grab grab grab grab grab grab grab grab grab grab grab";

		private static string _grabRich;

		private const string DiscordLogoB64 = "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";

		private static Texture2D _discordLogo;

		private static readonly Color ColBg = new Color(0.05f, 0.05f, 0.07f);

		private static readonly Color ColGreen = new Color(0.18f, 0.55f, 0.25f);

		private static readonly Color ColGreenH = new Color(0.22f, 0.62f, 0.3f);

		private static readonly Color ColRed = new Color(0.6f, 0.12f, 0.12f);

		private static readonly Color ColRedH = new Color(0.68f, 0.16f, 0.16f);

		private static readonly Color ColToggleOn = new Color(0.18f, 0.6f, 0.28f);

		private static readonly Color ColToggleOff = new Color(0.65f, 0.15f, 0.15f);

		private static readonly Color ColToggleOnH = new Color(0.22f, 0.66f, 0.32f);

		private static readonly Color ColToggleOffH = new Color(0.71f, 0.19f, 0.19f);

		private static readonly Color ColDark = new Color(0.12f, 0.12f, 0.15f);

		private static readonly Color ColDarkH = new Color(0.2f, 0.2f, 0.24f);

		private static readonly Color ColTrack = new Color(0.2f, 0.2f, 0.24f);

		private static Color[] _rrBuf;

		private static Color[] _hueBuf;

		private bool _showBugPopup;

		private string _bugTitle = "";

		private string _bugDesc = "";

		private string _bugSteps = "";

		private bool _bugOpenGithub = true;

		private Material _tickMat;

		private Texture2D _clearTex;

		private GUIStyle _reportS;

		private GUIStyle _dcLabelS;

		private GUIStyle _dcBtnS;

		private float _dcLabelW;

		private bool _skinSaved;

		private Texture2D _origScrollBg;

		private Texture2D _origVBarBg;

		private Texture2D _origVThumbBg;

		private Texture2D _origVThumbHovBg;

		private float _origVThumbW;

		private RectOffset _origVThumbBorder;

		private RectOffset _origVThumbPad;

		private float _origHBarH;

		private GUIStyle _bugBtn;

		private GUIStyle _bugInputS;

		private event EventHandler SettingChanged
		{
			add
			{
				_removeAtmospheric.SettingChanged += value;
				_removeSphere.SettingChanged += value;
				_opacity.SettingChanged += value;
				_sphereOpacity.SettingChanged += value;
				_disableParticles.SettingChanged += value;
				_disablePlane.SettingChanged += value;
				_disableAnimations.SettingChanged += value;
				_disableShadows.SettingChanged += value;
				_disableVfx.SettingChanged += value;
				_sphereShadows.SettingChanged += value;
				_sphereParticles.SettingChanged += value;
				_sphereAnimations.SettingChanged += value;
				_disableSounds.SettingChanged += value;
				_disableColliders.SettingChanged += value;
			}
			remove
			{
			}
		}

		private Texture2D MkT(Color c)
		{
			//IL_0001: 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_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			//IL_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_006f: Expected O, but got Unknown
			//IL_0072: Unknown result type (might be due to invalid IL or missing references)
			int key = ((int)(c.r * 255f) << 24) | ((int)(c.g * 255f) << 16) | ((int)(c.b * 255f) << 8) | (int)(c.a * 255f);
			if (_solidCache.TryGetValue(key, out var value) && (Object)(object)value != (Object)null)
			{
				return value;
			}
			Texture2D val = new Texture2D(1, 1, (TextureFormat)4, false);
			val.SetPixel(0, 0, c);
			val.Apply();
			_solidCache[key] = val;
			return val;
		}

		private void DrawCircleGL(float cx, float cy, float r)
		{
			int num = 10;
			float num2 = (float)Math.PI * 2f / (float)num;
			for (int i = 0; i < num; i++)
			{
				float num3 = num2 * (float)i;
				float num4 = num2 * (float)(i + 1);
				float num5 = cx + Mathf.Cos(num3) * r;
				float num6 = cy + Mathf.Sin(num3) * r;
				float num7 = cx + Mathf.Cos(num4) * r;
				float num8 = cy + Mathf.Sin(num4) * r;
				GL.Vertex3(cx, cy, 0f);
				GL.Vertex3(num5, num6, 0f);
				GL.Vertex3(num7, num8, 0f);
				GL.Vertex3(cx, cy, 0f);
			}
		}

		private Texture2D RoundedRect(int w, int h, Color fill, int rad)
		{
			//IL_0017: 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_0066: Unknown result type (might be due to invalid IL or missing references)
			//IL_006b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: 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_0298: Unknown result type (might be due to invalid IL or missing references)
			//IL_029f: Expected O, but got Unknown
			//IL_0245: Unknown result type (might be due to invalid IL or missing references)
			//IL_024b: 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_0257: Unknown result type (might be due to invalid IL or missing references)
			//IL_0260: Unknown result type (might be due to invalid IL or missing references)
			//IL_0265: 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_01d5: Unknown result type (might be due to invalid IL or missing references)
			if (w <= 0 || h <= 0)
			{
				return MkT(fill);
			}
			if (rad <= 0)
			{
				return MkT(fill);
			}
			w = Mathf.Max(w, 2);
			h = Mathf.Max(h, 2);
			rad = Mathf.Min(rad, Mathf.Min(w, h) / 2);
			Color32 item = Color32.op_Implicit(fill);
			(int, int, Color32, int, int, int, int) key = (w, h, item, rad, rad, rad, rad);
			if (_rrCache.TryGetValue(key, out var value) && (Object)(object)value != (Object)null)
			{
				return value;
			}
			int num = w * h;
			if (_rrBuf == null || _rrBuf.Length < num)
			{
				_rrBuf = (Color[])(object)new Color[num];
			}
			float num2 = rad;
			float num3 = num2 - 0.5f;
			for (int i = 0; i < h; i++)
			{
				int num4 = i * w;
				float num5 = i;
				for (int j = 0; j < w; j++)
				{
					float num6 = 0f;
					float num7 = 0f;
					if ((float)j < num2 && (float)i < num2)
					{
						num6 = num2 - (float)j;
						num7 = num2 - num5;
					}
					else if ((float)j >= (float)w - num2 && (float)i < num2)
					{
						num6 = (float)j - ((float)w - num2 - 1f);
						num7 = num2 - num5;
					}
					else if ((float)j < num2 && (float)i >= (float)h - num2)
					{
						num6 = num2 - (float)j;
						num7 = num5 - ((float)h - num2 - 1f);
					}
					else
					{
						if (!((float)j >= (float)w - num2) || !((float)i >= (float)h - num2))
						{
							_rrBuf[num4 + j] = fill;
							continue;
						}
						num6 = (float)j - ((float)w - num2 - 1f);
						num7 = num5 - ((float)h - num2 - 1f);
					}
					float num8 = num6 * num6 + num7 * num7;
					float num9 = ((num8 < 0.0001f) ? 0f : ((float)Math.Sqrt(num8)));
					float num10 = Mathf.Clamp01(1f - (num9 - num3));
					_rrBuf[num4 + j] = new Color(fill.r, fill.g, fill.b, fill.a * num10);
				}
			}
			Texture2D val = new Texture2D(w, h, (TextureFormat)4, false);
			val.SetPixels(_rrBuf);
			val.Apply();
			_rrCache[key] = val;
			return val;
		}

		private Texture2D RoundedRect(int w, int h, Color fill, int rTL, int rTR, int rBL, int rBR)
		{
			//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_009c: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: 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_02ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d1: Expected O, but got Unknown
			//IL_0277: Unknown result type (might be due to invalid IL or missing references)
			//IL_027d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0283: Unknown result type (might be due to invalid IL or missing references)
			//IL_0289: Unknown result type (might be due to invalid IL or missing references)
			//IL_0292: Unknown result type (might be due to invalid IL or missing references)
			//IL_0297: Unknown result type (might be due to invalid IL or missing references)
			//IL_0227: Unknown result type (might be due to invalid IL or missing references)
			//IL_0228: Unknown result type (might be due to invalid IL or missing references)
			if (w <= 0 || h <= 0)
			{
				return MkT(fill);
			}
			int num = Mathf.Min(w, h) / 2;
			rTL = Mathf.Clamp(rTL, 0, num);
			rTR = Mathf.Clamp(rTR, 0, num);
			rBL = Mathf.Clamp(rBL, 0, num);
			rBR = Mathf.Clamp(rBR, 0, num);
			if (rTL <= 0 && rTR <= 0 && rBL <= 0 && rBR <= 0)
			{
				return MkT(fill);
			}
			w = Mathf.Max(w, 2);
			h = Mathf.Max(h, 2);
			Color32 item = Color32.op_Implicit(fill);
			(int, int, Color32, int, int, int, int) key = (w, h, item, rTL, rTR, rBL, rBR);
			if (_rrCache.TryGetValue(key, out var value) && (Object)(object)value != (Object)null)
			{
				return value;
			}
			int num2 = w * h;
			if (_rrBuf == null || _rrBuf.Length < num2)
			{
				_rrBuf = (Color[])(object)new Color[num2];
			}
			for (int i = 0; i < h; i++)
			{
				int num3 = i * w;
				float num4 = i;
				for (int j = 0; j < w; j++)
				{
					float num5;
					float num6;
					float num7;
					if (j < rTL && i < rTL)
					{
						num5 = rTL;
						num6 = (float)rTL - (float)j;
						num7 = (float)rTL - num4;
					}
					else if (j >= w - rTR && i < rTR)
					{
						num5 = rTR;
						num6 = (float)j - ((float)w - (float)rTR - 1f);
						num7 = (float)rTR - num4;
					}
					else if (j < rBL && i >= h - rBL)
					{
						num5 = rBL;
						num6 = (float)rBL - (float)j;
						num7 = num4 - ((float)h - (float)rBL - 1f);
					}
					else
					{
						if (j < w - rBR || i < h - rBR)
						{
							_rrBuf[num3 + j] = fill;
							continue;
						}
						num5 = rBR;
						num6 = (float)j - ((float)w - (float)rBR - 1f);
						num7 = num4 - ((float)h - (float)rBR - 1f);
					}
					float num8 = num6 * num6 + num7 * num7;
					float num9 = ((num8 < 0.0001f) ? 0f : Mathf.Sqrt(num8));
					float num10 = Mathf.Clamp01(1f - (num9 - (num5 - 0.5f)));
					_rrBuf[num3 + j] = new Color(fill.r, fill.g, fill.b, fill.a * num10);
				}
			}
			Texture2D val = new Texture2D(w, h, (TextureFormat)4, false);
			val.SetPixels(_rrBuf);
			val.Apply();
			_rrCache[key] = val;
			return val;
		}

		private void DrawTabBG(Rect r, bool sel, float glow)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00db: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0100: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: 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_0120: Unknown result type (might be due to invalid IL or missing references)
			//IL_015f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0177: Unknown result type (might be due to invalid IL or missing references)
			//IL_01af: Unknown result type (might be due to invalid IL or missing references)
			if (!(((Rect)(ref r)).width <= 0f))
			{
				bool flag = ((Rect)(ref r)).Contains(Event.current.mousePosition);
				int num = Mathf.Max((int)((Rect)(ref r)).width, 4);
				int num2 = Mathf.Max((int)((Rect)(ref r)).height, 4);
				float num3 = Mathf.Round(glow * 20f) / 20f;
				int value = _cornerRadius.Value;
				int num4 = value + 2;
				int num5 = Mathf.Max(value - 1, 2);
				int num6 = Mathf.Max(value - 1, 2);
				int num7 = value + 2;
				float num8 = (sel ? (0.55f + 0.35f * num3) : (flag ? 0.45f : 0.26f));
				Color color = GUI.color;
				GUI.color = new Color(1f, 1f, 1f, num8);
				GUI.DrawTexture(r, (Texture)(object)RoundedRect(num, num2, Color.white, num4, num5, num6, num7));
				Color value2 = _windowColor.Value;
				GUI.color = new Color(value2.r, value2.g, value2.b, _windowOpacity.Value);
				GUI.DrawTexture(new Rect(((Rect)(ref r)).x + 2f, ((Rect)(ref r)).y + 2f, ((Rect)(ref r)).width - 4f, ((Rect)(ref r)).height - 4f), (Texture)(object)RoundedRect(Mathf.Max(num - 4, 4), Mathf.Max(num2 - 4, 4), Color.white, Mathf.Max(num4 - 2, 0), Mathf.Max(num5 - 2, 0), Mathf.Max(num6 - 2, 0), Mathf.Max(num7 - 2, 0)));
				GUI.color = color;
			}
		}

		private void BuildGearTex()
		{
			//IL_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_0013: Expected O, but got Unknown
			//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
			int num = 22;
			_gearTex = new Texture2D(num, num, (TextureFormat)4, false);
			Color[] array = (Color[])(object)new Color[num * num];
			float num2 = (float)(num - 1) / 2f;
			for (int i = 0; i < num; i++)
			{
				for (int j = 0; j < num; j++)
				{
					float num3 = (float)j - num2;
					float num4 = (float)i - num2;
					float num5 = Mathf.Sqrt(num3 * num3 + num4 * num4);
					float num6 = Mathf.Atan2(num4, num3) * 4f / (float)Math.PI;
					float num7 = num6 - Mathf.Floor(num6);
					float num8 = Mathf.Abs(num7 - 0.5f) * 2f;
					float num9 = ((num8 > 0.45f) ? 9f : 6.5f);
					float num10 = Mathf.Clamp01(num9 + 0.5f - num5);
					float num11 = Mathf.Clamp01(num5 - 2.5f);
					array[i * num + j] = new Color(1f, 1f, 1f, Mathf.Min(num10, num11));
				}
			}
			_gearTex.SetPixels(array);
			_gearTex.Apply();
		}

		private static Color BugFieldColor(string ctl, Rect r)
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0029: Unknown result type (might be due to invalid IL or missing references)
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: 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_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: Unknown result type (might be due to invalid IL or missing references)
			if (GUI.GetNameOfFocusedControl() == ctl)
			{
				return new Color(0.15f, 0.3f, 0.5f, 1f);
			}
			if (((Rect)(ref r)).Contains(Event.current.mousePosition))
			{
				return new Color(0.14f, 0.14f, 0.18f, 1f);
			}
			return new Color(0.1f, 0.1f, 0.13f, 1f);
		}

		private void Awake()
		{
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Expected O, but got Unknown
			//IL_00af: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Expected O, but got Unknown
			//IL_0230: Unknown result type (might be due to invalid IL or missing references)
			//IL_023a: Expected O, but got Unknown
			//IL_026e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0278: Expected O, but got Unknown
			//IL_029d: Unknown result type (might be due to invalid IL or missing references)
			//IL_033c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0346: Expected O, but got Unknown
			//IL_036f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0379: Expected O, but got Unknown
			//IL_03bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c9: Expected O, but got Unknown
			//IL_050a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0514: Expected O, but got Unknown
			LoadDiscordLogo();
			_removeAtmospheric = ((BaseUnityPlugin)this).Config.Bind<bool>("VISUALS", "Remove Atmospheric Fog", false, (ConfigDescription)null);
			_removeSphere = ((BaseUnityPlugin)this).Config.Bind<bool>("VISUALS", "Remove Rising Sphere", false, (ConfigDescription)null);
			_opacity = ((BaseUnityPlugin)this).Config.Bind<float>("VISUALS", "Atmospheric Opacity", 1f, new ConfigDescription("0-1", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>()));
			_sphereOpacity = ((BaseUnityPlugin)this).Config.Bind<float>("VISUALS", "Sphere Opacity", 1f, new ConfigDescription("0-1", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>()));
			_disableParticles = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable Particles", false, (ConfigDescription)null);
			_disablePlane = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable Plane", false, (ConfigDescription)null);
			_disableSounds = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable Sounds", false, (ConfigDescription)null);
			_disableAnimations = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable Animations", false, (ConfigDescription)null);
			_disableColliders = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable Colliders", false, (ConfigDescription)null);
			_disableShadows = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable Shadows", false, (ConfigDescription)null);
			_disableVfx = ((BaseUnityPlugin)this).Config.Bind<bool>("PERFORMANCE", "Disable VFX", false, (ConfigDescription)null);
			_sphereShadows = ((BaseUnityPlugin)this).Config.Bind<bool>("SPHERE", "Disable Sphere Shadows", false, (ConfigDescription)null);
			_sphereParticles = ((BaseUnityPlugin)this).Config.Bind<bool>("SPHERE", "Disable Sphere Particles", false, (ConfigDescription)null);
			_sphereAnimations = ((BaseUnityPlugin)this).Config.Bind<bool>("SPHERE", "Disable Sphere Animations", false, (ConfigDescription)null);
			_toggleMenuKey = ((BaseUnityPlugin)this).Config.Bind<KeyCode>("KEYBIND", "Toggle Menu", (KeyCode)284, (ConfigDescription)null);
			_windowOpacity = ((BaseUnityPlugin)this).Config.Bind<float>("APPEARANCE", "Window Opacity", 0.92f, new ConfigDescription("0.3-1", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.3f, 1f), Array.Empty<object>()));
			_textScale = ((BaseUnityPlugin)this).Config.Bind<float>("APPEARANCE", "Text Scale", 1.3f, new ConfigDescription("1-2", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1f, 2f), Array.Empty<object>()));
			_windowColor = ((BaseUnityPlugin)this).Config.Bind<Color>("APPEARANCE", "Window Color", new Color(0.05f, 0.05f, 0.07f), "Background color of the settings window");
			_rememberPosition = ((BaseUnityPlugin)this).Config.Bind<bool>("APPEARANCE", "Remember Position", true, (ConfigDescription)null);
			_winX = ((BaseUnityPlugin)this).Config.Bind<float>("APPEARANCE", "Window X", -1f, "Saved window position (managed automatically)");
			_winY = ((BaseUnityPlugin)this).Config.Bind<float>("APPEARANCE", "Window Y", -1f, "Saved window position (managed automatically)");
			_cornerRadius = ((BaseUnityPlugin)this).Config.Bind<int>("APPEARANCE", "Corner Radius", 8, new ConfigDescription("0-16", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 16), Array.Empty<object>()));
			_bgDarkenStrength = ((BaseUnityPlugin)this).Config.Bind<int>("APPEARANCE", "Halo Strength", 4, new ConfigDescription("0-12", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 12), Array.Empty<object>()));
			_fullscreenDarken = ((BaseUnityPlugin)this).Config.Bind<bool>("APPEARANCE", "Fullscreen Darken When Open", true, (ConfigDescription)null);
			_fsDarkenStrength = ((BaseUnityPlugin)this).Config.Bind<int>("APPEARANCE", "Fullscreen Darken Strength", 5, new ConfigDescription("1-20", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 20), Array.Empty<object>()));
			_saved = new ToggleState
			{
				A = _removeAtmospheric.Value,
				S = _removeSphere.Value,
				O = _opacity.Value,
				SO = _sphereOpacity.Value,
				Pa = _disableParticles.Value,
				Pl = _disablePlane.Value,
				An = _disableAnimations.Value,
				Sh = _disableShadows.Value,
				V = _disableVfx.Value,
				SS = _sphereShadows.Value,
				SP = _sphereParticles.Value,
				SA = _sphereAnimations.Value
			};
			bool flag = (!_removeAtmospheric.Value && _opacity.Value > 0.01f) || (!_removeSphere.Value && _sphereOpacity.Value > 0.01f);
			_fogOff = !flag;
			_harmony = new Harmony("com.peaked.fogvisualonly");
			_harmony.PatchAll();
			SettingChanged += delegate
			{
				if (!_ap)
				{
					_dirtyApply = true;
					SyncFogToggle();
				}
			};
			_windowOpacity.SettingChanged += delegate
			{
				_texDirty = true;
			};
			_textScale.SettingChanged += delegate
			{
				_si = false;
				_texDirty = true;
			};
			_cornerRadius.SettingChanged += delegate
			{
				_texDirty = true;
			};
			_windowPick.Target = _windowColor;
			SanitizeWindow();
			SyncHSV();
			SceneManager.sceneLoaded += OnSceneLoaded;
			((BaseUnityPlugin)this).Logger.LogInfo((object)"FogVisualOnly v2.0.0 - F3=Menu");
		}

		private void SyncFogToggle()
		{
			bool flag = (!_removeAtmospheric.Value && _opacity.Value > 0.01f) || (!_removeSphere.Value && _sphereOpacity.Value > 0.01f);
			if (_fogOff == flag)
			{
				_fogOff = !flag;
			}
		}

		private void OnDestroy()
		{
			SceneManager.sceneLoaded -= OnSceneLoaded;
			if (_harmony != null)
			{
				_harmony.UnpatchSelf();
			}
			RestoreAll();
			UnlockCursor();
			RestoreSkin();
		}

		private void SanitizeWindow()
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_000c: 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_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: 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_0041: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			Color value = _windowColor.Value;
			if (float.IsNaN(value.r) || float.IsNaN(value.g) || float.IsNaN(value.b) || float.IsInfinity(value.r) || float.IsInfinity(value.g) || float.IsInfinity(value.b))
			{
				_windowColor.Value = new Color(0.05f, 0.05f, 0.07f);
			}
		}

		private void RestoreSkin()
		{
			if (_skinSaved)
			{
				_skinSaved = false;
				GUI.skin.scrollView.normal.background = _origScrollBg;
				GUI.skin.verticalScrollbar.normal.background = _origVBarBg;
				GUI.skin.verticalScrollbarThumb.normal.background = _origVThumbBg;
				GUI.skin.verticalScrollbarThumb.hover.background = _origVThumbHovBg;
				GUI.skin.verticalScrollbarThumb.fixedWidth = _origVThumbW;
				GUI.skin.verticalScrollbarThumb.border = _origVThumbBorder;
				GUI.skin.verticalScrollbarThumb.padding = _origVThumbPad;
				GUI.skin.horizontalScrollbar.fixedHeight = _origHBarH;
			}
		}

		private void OnSceneLoaded(Scene s, LoadSceneMode m)
		{
			_dirty = true;
		}

		private ToggleState CaptureState()
		{
			return new ToggleState
			{
				A = _removeAtmospheric.Value,
				S = _removeSphere.Value,
				O = _opacity.Value,
				SO = _sphereOpacity.Value,
				Pa = _disableParticles.Value,
				Pl = _disablePlane.Value,
				An = _disableAnimations.Value,
				Sh = _disableShadows.Value,
				V = _disableVfx.Value,
				SS = _sphereShadows.Value,
				SP = _sphereParticles.Value,
				SA = _sphereAnimations.Value
			};
		}

		private void ApplyState(ToggleState st)
		{
			_removeAtmospheric.Value = st.A;
			_removeSphere.Value = st.S;
			_opacity.Value = st.O;
			_sphereOpacity.Value = st.SO;
			_disableParticles.Value = st.Pa;
			_disablePlane.Value = st.Pl;
			_disableAnimations.Value = st.An;
			_disableShadows.Value = st.Sh;
			_disableVfx.Value = st.V;
			_sphereShadows.Value = st.SS;
			_sphereParticles.Value = st.SP;
			_sphereAnimations.Value = st.SA;
		}

		private void ApplyPreset(int i)
		{
			_ap = true;
			_saved = CaptureState();
			PD pD = Pr[i];
			ApplyState(new ToggleState
			{
				A = pD.A,
				S = pD.S,
				O = pD.O,
				SO = pD.SO,
				Pa = pD.Pa,
				Pl = pD.Pl,
				An = pD.An,
				Sh = pD.Sh,
				V = pD.V,
				SS = pD.SS,
				SP = pD.SP,
				SA = pD.SA
			});
			bool flag = (!pD.A && pD.O > 0.01f) || (!pD.S && pD.SO > 0.01f);
			_fogOff = !flag;
			_dirtyApply = true;
			_ap = false;
		}

		private void ResetToVanilla()
		{
			_ap = true;
			_saved = new ToggleState
			{
				O = 1f,
				SO = 1f,
				A = false,
				S = false,
				Pa = false,
				Pl = false,
				An = false,
				Sh = false,
				V = false,
				SS = false,
				SP = false,
				SA = false
			};
			ApplyState(_saved);
			_disableSounds.Value = false;
			_disableColliders.Value = false;
			_fogOff = false;
			_dirtyApply = true;
			_ap = false;
		}

		private void SyncHSV()
		{
			_windowPick.SyncFromTarget();
		}

		private void FindPeakFont()
		{
			if ((Object)(object)_peakFont != (Object)null || _fontSearched)
			{
				return;
			}
			_fontSearched = true;
			Font val = null;
			Font[] array = Resources.FindObjectsOfTypeAll<Font>();
			Font[] array2 = array;
			foreach (Font val2 in array2)
			{
				if (!((Object)(object)val2 == (Object)null) && val2.dynamic)
				{
					if (((Object)val2).name != null && (((Object)val2).name.Contains("Noto") || ((Object)val2).name.Contains("Peak") || ((Object)val2).name.Contains("peak")))
					{
						_peakFont = val2;
						return;
					}
					if ((Object)(object)val == (Object)null)
					{
						val = val2;
					}
				}
			}
			_peakFont = val;
		}

		private void Update()
		{
			//IL_0007: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cf: Invalid comparison between Unknown and I4
			//IL_0146: Unknown result type (might be due to invalid IL or missing references)
			//IL_014b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			if (Input.GetKeyDown(_toggleMenuKey.Value))
			{
				_menu = !_menu;
				InputBlocker.MenuOpen = _menu;
				if (_menu)
				{
					SyncHSV();
					LockCursor();
					if (!_rememberPosition.Value)
					{
						CenterWindow();
					}
					else if (_winX.Value >= 0f && _winY.Value >= 0f)
					{
						((Rect)(ref _wRect)).position = new Vector2(_winX.Value, _winY.Value);
					}
					((Rect)(ref _wRect)).x = Mathf.Clamp(((Rect)(ref _wRect)).x, 80f - ((Rect)(ref _wRect)).width, (float)Screen.width - 80f);
					((Rect)(ref _wRect)).y = Mathf.Clamp(((Rect)(ref _wRect)).y, 0f, (float)Screen.height - 40f);
					_tab = 0;
					_activeDrag = 0;
					_dragTarget = null;
					GUI.FocusControl((string)null);
					_scroll = Vector2.zero;
					_texDirty = true;
					_si = false;
				}
				else
				{
					_activeDrag = 0;
					_dragTarget = null;
					GUI.FocusControl((string)null);
					UnlockCursor();
					_winX.Value = ((Rect)(ref _wRect)).x;
					_winY.Value = ((Rect)(ref _wRect)).y;
					RestoreSkin();
				}
			}
			if (_menu)
			{
				Cursor.visible = true;
				if ((int)Cursor.lockState > 0)
				{
					Cursor.lockState = (CursorLockMode)0;
				}
			}
			if (_dirty)
			{
				_dirty = false;
				_dirtyApply = false;
				RebuildCache();
				ApplyAll();
			}
			else if (_dirtyApply)
			{
				_dirtyApply = false;
				ApplyAll();
			}
			if (_pt > 0f)
			{
				_pt -= Time.deltaTime;
			}
		}

		private void OnApplicationFocus(bool f)
		{
			if (f)
			{
				_activeDrag = 0;
				_dragTarget = null;
			}
		}

		private void CenterWindow()
		{
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_004d: Unknown result type (might be due to invalid IL or missing references)
			_wRect = new Rect(((float)Screen.width - ((Rect)(ref _wRect)).width) / 2f, ((float)Screen.height - ((Rect)(ref _wRect)).height) / 2f, ((Rect)(ref _wRect)).width, ((Rect)(ref _wRect)).height);
		}

		private void LockCursor()
		{
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			_wasCursorVisible = Cursor.visible;
			_wasLockState = Cursor.lockState;
			Cursor.lockState = (CursorLockMode)0;
			Cursor.visible = true;
		}

		private void UnlockCursor()
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			Cursor.lockState = _wasLockState;
			Cursor.visible = _wasCursorVisible;
		}

		private void RebuildCache()
		{
			_rend.Clear();
			_sphRend.Clear();
			_sphGO.Clear();
			_src.Clear();
			_srcSet.Clear();
			_anim.Clear();
			_col.Clear();
			_vf.Clear();
			_psys.Clear();
			_mpb.Clear();
			_osh.Clear();
			_off.Clear();
			CacheObjects("Post Fog", isSphere: false);
			CacheObjects("FogSphereSystem", isSphere: true);
			CacheObjects("FogPlane", isSphere: false);
			_fogPlane = GameObject.Find("FogPlane");
			CacheFogSounds();
		}

		private void CacheObjects(string name, bool isSphere)
		{
			//IL_004a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Expected O, but got Unknown
			//IL_005f: Unknown result type (might be due to invalid IL or missing references)
			GameObject val = GameObject.Find(name);
			if ((Object)(object)val == (Object)null)
			{
				return;
			}
			Renderer[] componentsInChildren = val.GetComponentsInChildren<Renderer>(true);
			Renderer[] array = componentsInChildren;
			foreach (Renderer val2 in array)
			{
				_rend.Add(val2);
				_mpb[val2] = new MaterialPropertyBlock();
				_osh[val2] = val2.shadowCastingMode;
				if (isSphere)
				{
					_sphRend.Add(val2);
					_sphGO.Add(((Component)val2).gameObject);
				}
			}
			if (isSphere)
			{
				Transform[] componentsInChildren2 = val.GetComponentsInChildren<Transform>(true);
				for (int j = 0; j < componentsInChildren2.Length; j++)
				{
					_sphGO.Add(((Component)componentsInChildren2[j]).gameObject);
				}
			}
			Animator[] componentsInChildren3 = val.GetComponentsInChildren<Animator>(true);
			for (int k = 0; k < componentsInChildren3.Length; k++)
			{
				_anim.Add(componentsInChildren3[k]);
			}
			Collider[] componentsInChildren4 = val.GetComponentsInChildren<Collider>(true);
			for (int l = 0; l < componentsInChildren4.Length; l++)
			{
				_col.Add(componentsInChildren4[l]);
			}
			VisualEffect[] componentsInChildren5 = val.GetComponentsInChildren<VisualEffect>(true);
			for (int m = 0; m < componentsInChildren5.Length; m++)
			{
				_vf.Add(componentsInChildren5[m]);
			}
			ParticleSystem[] componentsInChildren6 = val.GetComponentsInChildren<ParticleSystem>(true);
			for (int n = 0; n < componentsInChildren6.Length; n++)
			{
				_psys.Add(componentsInChildren6[n]);
			}
		}

		private void CacheFogSounds()
		{
			GameObject[] array = Resources.FindObjectsOfTypeAll<GameObject>();
			GameObject[] array2 = array;
			foreach (GameObject val in array2)
			{
				if (((Object)val).name == null)
				{
					continue;
				}
				string name = ((Object)val).name;
				if (name.IndexOf("fog", StringComparison.OrdinalIgnoreCase) < 0 && name.IndexOf("mist", StringComparison.OrdinalIgnoreCase) < 0 && name.IndexOf("haze", StringComparison.OrdinalIgnoreCase) < 0)
				{
					continue;
				}
				AudioSource[] componentsInChildren = val.GetComponentsInChildren<AudioSource>(true);
				for (int j = 0; j < componentsInChildren.Length; j++)
				{
					if ((Object)(object)componentsInChildren[j] != (Object)null && _srcSet.Add(componentsInChildren[j]))
					{
						_src.Add(componentsInChildren[j]);
					}
				}
			}
		}

		private void ApplyAll()
		{
			//IL_034a: Unknown result type (might be due to invalid IL or missing references)
			//IL_034f: Unknown result type (might be due to invalid IL or missing references)
			RestoreAll();
			float value = _opacity.Value;
			float value2 = _sphereOpacity.Value;
			bool value3 = _removeAtmospheric.Value;
			bool value4 = _removeSphere.Value;
			bool value5 = _disableShadows.Value;
			bool value6 = _sphereShadows.Value;
			bool value7 = _disableAnimations.Value;
			bool value8 = _sphereAnimations.Value;
			for (int i = 0; i < _rend.Count; i++)
			{
				Renderer val = _rend[i];
				if ((Object)(object)val == (Object)null)
				{
					continue;
				}
				bool flag = _sphRend.Contains(val);
				if (flag && value4)
				{
					val.enabled = false;
					continue;
				}
				if (!flag && value3)
				{
					val.enabled = false;
					continue;
				}
				float a = (flag ? value2 : value);
				val.enabled = true;
				val.GetPropertyBlock(_mpb[val]);
				SetFogColor(_mpb[val], a);
				val.SetPropertyBlock(_mpb[val]);
				if (flag ? value6 : value5)
				{
					val.shadowCastingMode = (ShadowCastingMode)0;
				}
			}
			for (int j = 0; j < _anim.Count; j++)
			{
				Animator val2 = _anim[j];
				if (!((Object)(object)val2 == (Object)null) && (_sphGO.Contains(((Component)val2).gameObject) ? value8 : value7))
				{
					((Behaviour)val2).enabled = false;
				}
			}
			if (_disableSounds.Value)
			{
				for (int k = 0; k < _src.Count; k++)
				{
					AudioSource val3 = _src[k];
					if ((Object)(object)val3 != (Object)null)
					{
						val3.mute = true;
					}
				}
			}
			if (_disableColliders.Value)
			{
				for (int l = 0; l < _col.Count; l++)
				{
					Collider val4 = _col[l];
					if ((Object)(object)val4 != (Object)null)
					{
						val4.enabled = false;
					}
				}
			}
			if (_disableVfx.Value)
			{
				for (int m = 0; m < _vf.Count; m++)
				{
					VisualEffect val5 = _vf[m];
					if ((Object)(object)val5 != (Object)null)
					{
						((Behaviour)val5).enabled = false;
					}
				}
			}
			bool value9 = _disableParticles.Value;
			bool value10 = _sphereParticles.Value;
			for (int n = 0; n < _psys.Count; n++)
			{
				ParticleSystem val6 = _psys[n];
				if ((Object)(object)val6 != (Object)null && (_sphGO.Contains(((Component)val6).gameObject) ? value10 : value9))
				{
					EmissionModule emission = val6.emission;
					((EmissionModule)(ref emission)).enabled = false;
					val6.Stop(true, (ParticleSystemStopBehavior)0);
				}
			}
			if (_disablePlane.Value && (Object)(object)_fogPlane != (Object)null)
			{
				_fogPlane.SetActive(false);
				_off.Add(_fogPlane);
			}
		}

		private void RestoreAll()
		{
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			for (int i = 0; i < _rend.Count; i++)
			{
				Renderer val = _rend[i];
				if (!((Object)(object)val == (Object)null))
				{
					val.enabled = true;
					if (_osh.TryGetValue(val, out var value))
					{
						val.shadowCastingMode = value;
					}
				}
			}
			for (int j = 0; j < _src.Count; j++)
			{
				AudioSource val2 = _src[j];
				if ((Object)(object)val2 != (Object)null)
				{
					val2.mute = false;
				}
			}
			for (int k = 0; k < _anim.Count; k++)
			{
				Animator val3 = _anim[k];
				if ((Object)(object)val3 != (Object)null)
				{
					((Behaviour)val3).enabled = true;
				}
			}
			for (int l = 0; l < _col.Count; l++)
			{
				Collider val4 = _col[l];
				if ((Object)(object)val4 != (Object)null)
				{
					val4.enabled = true;
				}
			}
			for (int m = 0; m < _vf.Count; m++)
			{
				VisualEffect val5 = _vf[m];
				if ((Object)(object)val5 != (Object)null)
				{
					((Behaviour)val5).enabled = true;
				}
			}
			for (int n = 0; n < _psys.Count; n++)
			{
				ParticleSystem val6 = _psys[n];
				if ((Object)(object)val6 != (Object)null)
				{
					EmissionModule emission = val6.emission;
					((EmissionModule)(ref emission)).enabled = true;
					val6.Play(true);
				}
			}
			foreach (GameObject item in _off)
			{
				if ((Object)(object)item != (Object)null)
				{
					item.SetActive(true);
				}
			}
			_off.Clear();
		}

		private static void SetFogColor(MaterialPropertyBlock m, float a)
		{
			//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_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_005d: 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_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_0092: Unknown result type (might be due to invalid IL or missing references)
			if (m.HasProperty("_Color"))
			{
				Color color = m.GetColor("_Color");
				color.a = a;
				m.SetColor("_Color", color);
			}
			if (m.HasProperty("_TintColor"))
			{
				Color color2 = m.GetColor("_TintColor");
				color2.a = a;
				m.SetColor("_TintColor", color2);
			}
			if (m.HasProperty("_BaseColor"))
			{
				Color color3 = m.GetColor("_BaseColor");
				color3.a = a;
				m.SetColor("_BaseColor", color3);
			}
		}

		private void OnGUI()
		{
			//IL_0117: Unknown result type (might be due to invalid IL or missing references)
			if (_menu)
			{
				FindPeakFont();
				BuildGrabText();
				string nameOfFocusedControl = GUI.GetNameOfFocusedControl();
				if (nameOfFocusedControl != _prevFocus && !string.IsNullOrEmpty(nameOfFocusedControl))
				{
					_selectNext = true;
				}
				_prevFocus = nameOfFocusedControl;
				if (_texDirty)
				{
					_texDirty = false;
					_si = false;
				}
				if (!_si)
				{
					InitStyles();
				}
				_tabGlow0 = Mathf.MoveTowards(_tabGlow0, (_tab == 0) ? 1f : 0.35f, Time.deltaTime * 6f);
				_tabGlow1 = Mathf.MoveTowards(_tabGlow1, (_tab == 1) ? 1f : 0.35f, Time.deltaTime * 6f);
				if (_showBugPopup)
				{
					DrawBugReportPopup();
					DrawPopup();
					return;
				}
				HandleDrag();
				DrawFullscreenDarken();
				DrawWindowBG();
				GUILayout.BeginArea(_wRect);
				DrawWin();
				GUILayout.EndArea();
				DrawPopup();
			}
		}

		private void HandleDrag()
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Invalid comparison between Unknown and I4
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Invalid comparison between Unknown and I4
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_0079: 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_0096: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: 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_00f6: 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_0101: Unknown result type (might be due to invalid IL or missing references)
			Event current = Event.current;
			if ((int)current.type == 1 && current.button == 0)
			{
				_activeDrag = 0;
				return;
			}
			if ((int)current.type == 0 && current.button == 0 && _activeDrag == 0)
			{
				Rect val = new Rect(((Rect)(ref _wRect)).x, ((Rect)(ref _wRect)).y, ((Rect)(ref _wRect)).width, 28f);
				if (((Rect)(ref val)).Contains(current.mousePosition))
				{
					_activeDrag = 1;
					_dragOffset = current.mousePosition - ((Rect)(ref _wRect)).position;
					current.Use();
					return;
				}
			}
			if ((int)current.type == 3 && current.button == 0 && _activeDrag == 1)
			{
				((Rect)(ref _wRect)).position = current.mousePosition - _dragOffset;
				((Rect)(ref _wRect)).x = Mathf.Clamp(((Rect)(ref _wRect)).x, 80f - ((Rect)(ref _wRect)).width, (float)Screen.width - 80f);
				((Rect)(ref _wRect)).y = Mathf.Clamp(((Rect)(ref _wRect)).y, 0f, (float)Screen.height - 40f);
				current.Use();
			}
		}

		private void DrawWindowBG()
		{
			//IL_0125: Unknown result type (might be due to invalid IL or missing references)
			//IL_012a: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0150: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_015d: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bd: 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)
			float value = _windowOpacity.Value;
			float num = _bgDarkenStrength.Value;
			if (num > 0.01f)
			{
				float num2 = num * 4f;
				int num3 = Mathf.Clamp(Mathf.RoundToInt(num), 2, 8);
				Rect val = default(Rect);
				for (int num4 = num3; num4 >= 0; num4--)
				{
					float num5 = (float)num4 / (float)num3;
					float num6 = 0.65f * (1f - num5) * 0.15f;
					float num7 = num2 * num5;
					((Rect)(ref val))..ctor(((Rect)(ref _wRect)).x - num7, ((Rect)(ref _wRect)).y - num7, ((Rect)(ref _wRect)).width + num7 * 2f, ((Rect)(ref _wRect)).height + num7 * 2f);
					GUI.DrawTexture(val, (Texture)(object)RoundedRect((int)((Rect)(ref val)).width, (int)((Rect)(ref val)).height, new Color(0f, 0f, 0f, num6), _cornerRadius.Value + (int)(num7 * 0.3f)));
				}
			}
			Color value2 = _windowColor.Value;
			GUI.DrawTexture(_wRect, (Texture)(object)RoundedRect((int)((Rect)(ref _wRect)).width, (int)((Rect)(ref _wRect)).height, new Color(value2.r, value2.g, value2.b, value), _cornerRadius.Value));
		}

		private void DrawFullscreenDarken()
		{
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Unknown result type (might be due to invalid IL or missing references)
			if (_fullscreenDarken.Value && _menu)
			{
				float num = _fsDarkenStrength.Value;
				float num2 = Mathf.Clamp01(num * 0.05f);
				GUI.DrawTexture(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), (Texture)(object)MkT(new Color(0f, 0f, 0f, num2)));
			}
		}

		private void DrawPopup()
		{
			//IL_005f: 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_00dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
			if (!(_pt <= 0f))
			{
				float num = Mathf.Clamp01(_pt / 0.3f);
				float value = _windowOpacity.Value;
				float num2 = 260f;
				float num3 = 46f;
				float num4 = ((float)Screen.width - num2) / 2f;
				float num5 = 20f;
				GUI.DrawTexture(new Rect(num4, num5, num2, num3), (Texture)(object)RoundedRect((int)num2, (int)num3, new Color(_ptc.r, _ptc.g, _ptc.b, 0.35f * value * num), _cornerRadius.Value));
				_popupS.normal.textColor = new Color(_ptc.r, _ptc.g, _ptc.b, num);
				GUI.Label(new Rect(num4, num5 + 7f, num2, 32f), _ptx, _popupS);
			}
		}

		private void InitStyles()
		{
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Expected O, but got Unknown
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bc: 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_01cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fb: 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_0213: Unknown result type (might be due to invalid IL or missing references)
			//IL_021e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0230: Unknown result type (might be due to invalid IL or missing references)
			//IL_0236: 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)
			//IL_0253: Expected O, but got Unknown
			//IL_025e: 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_026b: 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_027f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0291: Unknown result type (might be due to invalid IL or missing references)
			//IL_0297: 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_02b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02dd: 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_02fa: Expected O, but got Unknown
			//IL_0305: Unknown result type (might be due to invalid IL or missing references)
			//IL_030a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0319: Unknown result type (might be due to invalid IL or missing references)
			//IL_0321: Unknown result type (might be due to invalid IL or missing references)
			//IL_0327: Unknown result type (might be due to invalid IL or missing references)
			//IL_0332: Unknown result type (might be due to invalid IL or missing references)
			//IL_0344: Expected O, but got Unknown
			//IL_034f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0354: Unknown result type (might be due to invalid IL or missing references)
			//IL_035c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0364: Unknown result type (might be due to invalid IL or missing references)
			//IL_0370: Unknown result type (might be due to invalid IL or missing references)
			//IL_0382: Unknown result type (might be due to invalid IL or missing references)
			//IL_0397: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dd: 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_03fa: Expected O, but got Unknown
			//IL_0401: Unknown result type (might be due to invalid IL or missing references)
			//IL_0406: Unknown result type (might be due to invalid IL or missing references)
			//IL_0418: Unknown result type (might be due to invalid IL or missing references)
			//IL_041e: Unknown result type (might be due to invalid IL or missing references)
			//IL_042e: Expected O, but got Unknown
			//IL_043a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0444: Expected O, but got Unknown
			//IL_043f: Unknown result type (might be due to invalid IL or missing references)
			//IL_045a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0464: Expected O, but got Unknown
			//IL_045f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0137: Unknown result type (might be due to invalid IL or missing references)
			//IL_0141: Expected O, but got Unknown
			//IL_016f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0179: Expected O, but got Unknown
			//IL_0492: Unknown result type (might be due to invalid IL or missing references)
			//IL_0497: Unknown result type (might be due to invalid IL or missing references)
			//IL_049f: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ca: Expected O, but got Unknown
			//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04da: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0501: Unknown result type (might be due to invalid IL or missing references)
			//IL_0506: Unknown result type (might be due to invalid IL or missing references)
			//IL_0510: Expected O, but got Unknown
			//IL_0511: Unknown result type (might be due to invalid IL or missing references)
			//IL_0516: Unknown result type (might be due to invalid IL or missing references)
			//IL_0520: Expected O, but got Unknown
			//IL_0526: Expected O, but got Unknown
			//IL_0531: 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_053f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0547: Unknown result type (might be due to invalid IL or missing references)
			//IL_0553: Unknown result type (might be due to invalid IL or missing references)
			//IL_0565: Unknown result type (might be due to invalid IL or missing references)
			//IL_056b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0576: Unknown result type (might be due to invalid IL or missing references)
			//IL_0588: Unknown result type (might be due to invalid IL or missing references)
			//IL_058e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0599: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ce: Expected O, but got Unknown
			//IL_05d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05da: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0602: Expected O, but got Unknown
			//IL_060d: 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_061b: 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_063b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0643: Unknown result type (might be due to invalid IL or missing references)
			//IL_0655: Expected O, but got Unknown
			//IL_0660: Unknown result type (might be due to invalid IL or missing references)
			//IL_0665: Unknown result type (might be due to invalid IL or missing references)
			//IL_066e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0676: Unknown result type (might be due to invalid IL or missing references)
			//IL_0682: Unknown result type (might be due to invalid IL or missing references)
			//IL_068e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0696: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ec: 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_0703: Unknown result type (might be due to invalid IL or missing references)
			//IL_070e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0728: Unknown result type (might be due to invalid IL or missing references)
			//IL_0739: Unknown result type (might be due to invalid IL or missing references)
			//IL_073f: Unknown result type (might be due to invalid IL or missing references)
			//IL_074a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0757: Unknown result type (might be due to invalid IL or missing references)
			//IL_075c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0766: Expected O, but got Unknown
			//IL_0767: Unknown result type (might be due to invalid IL or missing references)
			//IL_076c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0776: Expected O, but got Unknown
			//IL_077c: Expected O, but got Unknown
			//IL_0783: Unknown result type (might be due to invalid IL or missing references)
			//IL_0788: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_07c9: Expected O, but got Unknown
			//IL_07d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_0800: Unknown result type (might be due to invalid IL or missing references)
			//IL_0806: Unknown result type (might be due to invalid IL or missing references)
			//IL_0811: Unknown result type (might be due to invalid IL or missing references)
			//IL_082b: 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: Unknown result type (might be due to invalid IL or missing references)
			//IL_0852: Expected O, but got Unknown
			//IL_085d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0862: Unknown result type (might be due to invalid IL or missing references)
			//IL_086b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0873: Unknown result type (might be due to invalid IL or missing references)
			//IL_087f: Unknown result type (might be due to invalid IL or missing references)
			//IL_088b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0896: Unknown result type (might be due to invalid IL or missing references)
			//IL_08a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_08b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_08d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_08da: Unknown result type (might be due to invalid IL or missing references)
			//IL_08e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0901: Unknown result type (might be due to invalid IL or missing references)
			//IL_0907: Unknown result type (might be due to invalid IL or missing references)
			//IL_0912: Unknown result type (might be due to invalid IL or missing references)
			//IL_0924: Expected O, but got Unknown
			//IL_092f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0934: Unknown result type (might be due to invalid IL or missing references)
			//IL_093d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0945: Unknown result type (might be due to invalid IL or missing references)
			//IL_0951: Unknown result type (might be due to invalid IL or missing references)
			//IL_095d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0968: Unknown result type (might be due to invalid IL or missing references)
			//IL_0979: Unknown result type (might be due to invalid IL or missing references)
			//IL_097f: Unknown result type (might be due to invalid IL or missing references)
			//IL_098a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0995: Unknown result type (might be due to invalid IL or missing references)
			//IL_09a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_09b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_09d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_09e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_09f6: Expected O, but got Unknown
			//IL_09ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a15: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a30: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a35: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a3e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a46: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a4e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a60: Expected O, but got Unknown
			//IL_0a6b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a70: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a79: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a81: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a89: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a97: Unknown result type (might be due to invalid IL or missing references)
			//IL_0aa2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ab4: Expected O, but got Unknown
			//IL_0ad8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b1c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b9a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bce: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd8: Expected O, but got Unknown
			//IL_0be7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bf1: Expected O, but got Unknown
			//IL_0d14: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d19: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d22: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d2a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d36: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d48: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d6d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d7f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d85: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0db3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dc5: Expected O, but got Unknown
			//IL_0dcc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0de1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0df3: Expected O, but got Unknown
			//IL_0e12: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e24: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e29: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e38: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e45: Expected O, but got Unknown
			//IL_0e50: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e66: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e6b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e82: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e96: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ea6: Expected O, but got Unknown
			//IL_0ea7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb6: Expected O, but got Unknown
			//IL_0eb7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ed6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ee7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0efc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f07: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f26: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f37: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f4c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f57: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f76: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f87: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f8d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f98: Unknown result type (might be due to invalid IL or missing references)
			//IL_0faa: Expected O, but got Unknown
			//IL_0fb6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fc0: Expected O, but got Unknown
			//IL_0fbb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fdb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fe0: 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_0ff1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ff9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1001: Unknown result type (might be due to invalid IL or missing references)
			//IL_1013: Unknown result type (might be due to invalid IL or missing references)
			//IL_1019: Unknown result type (might be due to invalid IL or missing references)
			//IL_1024: Unknown result type (might be due to invalid IL or missing references)
			//IL_1036: Unknown result type (might be due to invalid IL or missing references)
			//IL_103c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1047: Unknown result type (might be due to invalid IL or missing references)
			//IL_1059: Unknown result type (might be due to invalid IL or missing references)
			//IL_105f: Unknown result type (might be due to invalid IL or missing references)
			//IL_106a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1077: Unknown result type (might be due to invalid IL or missing references)
			//IL_107c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1086: Expected O, but got Unknown
			//IL_1087: Unknown result type (might be due to invalid IL or missing references)
			//IL_108c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1096: Expected O, but got Unknown
			//IL_1097: Unknown result type (might be due to invalid IL or missing references)
			//IL_10a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_10b0: Expected O, but got Unknown
			//IL_0c60: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c6a: Expected O, but got Unknown
			//IL_0c8c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c91: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cac: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cb1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ccc: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cd1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0cf1: Unknown result type (might be due to invalid IL or missing references)
			_si = true;
			FindPeakFont();
			float value = _textScale.Value;
			int value2 = _cornerRadius.Value;
			int num = (int)(15f * value);
			if ((Object)(object)_clearTex == (Object)null)
			{
				_clearTex = new Texture2D(1, 1, (TextureFormat)4, false);
				_clearTex.SetPixel(0, 0, Color.clear);
				_clearTex.Apply();
			}
			if (!_skinSaved)
			{
				_skinSaved = true;
				_origScrollBg = GUI.skin.scrollView.normal.background;
				_origVBarBg = GUI.skin.verticalScrollbar.normal.background;
				_origVThumbBg = GUI.skin.verticalScrollbarThumb.normal.background;
				_origVThumbHovBg = GUI.skin.verticalScrollbarThumb.hover.background;
				_origVThumbW = GUI.skin.verticalScrollbarThumb.fixedWidth;
				RectOffset border = GUI.skin.verticalScrollbarThumb.border;
				_origVThumbBorder = new RectOffset(border.left, border.right, border.top, border.bottom);
				RectOffset padding = GUI.skin.verticalScrollbarThumb.padding;
				_origVThumbPad = new RectOffset(padding.left, padding.right, padding.top, padding.bottom);
				_origHBarH = GUI.skin.horizontalScrollbar.fixedHeight;
			}
			int fontSize = (int)(13f * value);
			int fontSize2 = (int)(12f * value);
			int fontSize3 = (int)(11f * value);
			GUIStyle val = new GUIStyle(GUI.skin.button)
			{
				fontSize = fontSize,
				fontStyle = (FontStyle)1,
				fixedHeight = 36f
			};
			val.normal.background = _clearTex;
			val.normal.textColor = Color.white;
			val.hover.background = _clearTex;
			val.hover.textColor = Color.white;
			val.active.background = _clearTex;
			val.active.textColor = Color.white;
			val.font = _peakFont;
			_fogBtnGreen = val;
			GUIStyle val2 = new GUIStyle(GUI.skin.button)
			{
				fontSize = fontSize,
				fontStyle = (FontStyle)1,
				fixedHeight = 36f
			};
			val2.normal.background = _clearTex;
			val2.normal.textColor = Color.white;
			val2.hover.background = _clearTex;
			val2.hover.textColor = Color.white;
			val2.active.background = _clearTex;
			val2.active.textColor = Color.white;
			val2.font = _peakFont;
			_fogBtnRed = val2;
			GUIStyle val3 = new GUIStyle(GUI.skin.label)
			{
				fontSize = (int)(20f * value),
				fontStyle = (FontStyle)1
			};
			val3.normal.textColor = Color.white;
			val3.font = _peakFont;
			_ts = val3;
			GUIStyle val4 = new GUIStyle(GUI.skin.button)
			{
				fontSize = fontSize,
				fontStyle = (FontStyle)1,
				fixedHeight = 34f
			};
			val4.normal.background = _clearTex;
			val4.normal.textColor = new Color(0.8f, 0.8f, 0.8f);
			val4.hover.background = _clearTex;
			val4.hover.textColor = Color.white;
			val4.active.background = _clearTex;
			val4.active.textColor = Color.white;
			val4.font = _peakFont;
			_tabs = val4;
			GUIStyle val5 = new GUIStyle(_tabs);
			val5.normal.background = _clearTex;
			val5.normal.textColor = Color.white;
			_tabas = val5;
			_settingsTw = _tabs.CalcSize(new GUIContent("SETTINGS")).x;
			_fogTw = _tabs.CalcSize(new GUIContent("FOG")).x;
			if ((Object)(object)_gearTex == (Object)null)
			{
				BuildGearTex();
			}
			GUIStyle val6 = new GUIStyle(GUI.skin.label)
			{
				fontSize = fontSize,
				fontStyle = (FontStyle)1
			};
			val6.normal.textColor = Color.white;
			val6.font = _peakFont;
			_secS = val6;
			GUIStyle val7 = new GUIStyle(GUI.skin.label)
			{
				fontSize = fontSize2
			};
			val7.normal.textColor = Color.white;
			val7.font = _peakFont;
			val7.padding = new RectOffset(0, 0, 0, 0);
			val7.margin = new RectOffset(0, 0, 0, 0);
			_ls = val7;
			GUIStyle val8 = new GUIStyle(GUI.skin.button)
			{
				fontSize = fontSize3,
				fontStyle = (FontStyle)1,
				fixedHeight = 30f
			};
			val8.normal.background = _clearTex;
			val8.normal.textColor = Color.white;
			val8.hover.background = _clearTex;
			val8.hover.textColor = Color.white;
			val8.active.background = _clearTex;
			val8.active.textColor = Color.white;
			val8.font = _peakFont;
			_ps = val8;
			GUIStyle val9 = new GUIStyle(_ps);
			val9.normal.background = _clearTex;
			val9.normal.textColor = Color.white;
			_pas = val9;
			GUIStyle val10 = new GUIStyle(GUI.skin.label)
			{
				fontSize = f