Decompiled source of PEAK Unbound v1.3.0

PEAKUnbound.dll

Decompiled a week ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Microsoft.CodeAnalysis;
using UnityEngine.InputSystem;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("PEAKUnbound")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("My first plugin")]
[assembly: AssemblyTitle("PEAKUnbound")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.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 PEAKUnbound
{
	[BepInPlugin("PEAKUnbound", "My first plugin", "1.0.0")]
	public class Plugin : BaseUnityPlugin
	{
		internal static ManualLogSource Logger;

		private static ConfigEntry<string> configPause;

		private static ConfigEntry<string> configForward;

		private static ConfigEntry<string> configBackward;

		private static ConfigEntry<string> configLeft;

		private static ConfigEntry<string> configRight;

		private static ConfigEntry<string> configLook;

		private static ConfigEntry<string> configJump;

		private static ConfigEntry<string> configSprint;

		private static ConfigEntry<string> configSprintToggle;

		private static ConfigEntry<string> configInteract;

		private static ConfigEntry<string> configDrop;

		private static ConfigEntry<string> configCrouch;

		private static ConfigEntry<string> configCrouchToggle;

		private static ConfigEntry<string> configUsePrimary;

		private static ConfigEntry<string> configUseSecondary;

		private static ConfigEntry<string> configScrollUp;

		private static ConfigEntry<string> configScrollDown;

		private static ConfigEntry<string> configPushToTalk;

		private static ConfigEntry<string> configEmote;

		private static ConfigEntry<string> configPing;

		private static ConfigEntry<string> configSelectSlotForward;

		private static ConfigEntry<string> configSelectSlotBackward;

		private static ConfigEntry<string> configSpectateLeft;

		private static ConfigEntry<string> configSpectateRight;

		private static ConfigEntry<string> configScrollButtonLeft;

		private static ConfigEntry<string> configScrollButtonRight;

		private static ConfigEntry<string> configHotBarAction1;

		private static ConfigEntry<string> configHotBarAction2;

		private static ConfigEntry<string> configHotBarAction3;

		private void RebindMoveKeys()
		{
			//IL_0120: Unknown result type (might be due to invalid IL or missing references)
			//IL_0125: 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_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ac: 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_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d7: 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_00f4: 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_0103: Unknown result type (might be due to invalid IL or missing references)
			//IL_0111: Unknown result type (might be due to invalid IL or missing references)
			InputAction val = InputSystem.actions.FindAction("Move", false);
			if (val == null)
			{
				Logger.LogInfo((object)"Move action not found.");
				return;
			}
			for (int i = 0; i < val.bindings.Count; i++)
			{
				InputBinding val2 = val.bindings[i];
				if (((InputBinding)(ref val2)).isPartOfComposite)
				{
					BindingSyntax val3;
					switch (((InputBinding)(ref val2)).name)
					{
					case "up":
						val3 = InputActionSetupExtensions.ChangeBinding(val, i);
						((BindingSyntax)(ref val3)).WithPath(configForward.Value);
						break;
					case "down":
						val3 = InputActionSetupExtensions.ChangeBinding(val, i);
						((BindingSyntax)(ref val3)).WithPath(configBackward.Value);
						break;
					case "left":
						val3 = InputActionSetupExtensions.ChangeBinding(val, i);
						((BindingSyntax)(ref val3)).WithPath(configLeft.Value);
						break;
					case "right":
						val3 = InputActionSetupExtensions.ChangeBinding(val, i);
						((BindingSyntax)(ref val3)).WithPath(configRight.Value);
						break;
					}
				}
			}
		}

		private void RebindScrollAction()
		{
			//IL_00c7: 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_0039: Unknown result type (might be due to invalid IL or missing references)
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: Unknown result type (might be due to invalid IL or missing references)
			//IL_0048: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008d: 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_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
			InputAction val = InputSystem.actions.FindAction("Scroll", false);
			if (val == null)
			{
				Logger.LogInfo((object)"Scroll action not found.");
				return;
			}
			for (int i = 0; i < val.bindings.Count; i++)
			{
				InputBinding val2 = val.bindings[i];
				if (!((InputBinding)(ref val2)).isPartOfComposite)
				{
					continue;
				}
				string name = ((InputBinding)(ref val2)).name;
				string text = name;
				BindingSyntax val3;
				if (!(text == "up"))
				{
					if (text == "down")
					{
						val3 = InputActionSetupExtensions.ChangeBinding(val, i);
						((BindingSyntax)(ref val3)).WithPath(configScrollDown.Value);
					}
				}
				else
				{
					val3 = InputActionSetupExtensions.ChangeBinding(val, i);
					((BindingSyntax)(ref val3)).WithPath(configScrollUp.Value);
				}
			}
		}

		private void Awake()
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_014a: Unknown result type (might be due to invalid IL or missing references)
			//IL_014f: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_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_01be: 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)
			//IL_0213: Unknown result type (might be due to invalid IL or missing references)
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_0270: Unknown result type (might be due to invalid IL or missing references)
			//IL_0275: Unknown result type (might be due to invalid IL or missing references)
			//IL_0282: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d2: 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_02e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_0334: Unknown result type (might be due to invalid IL or missing references)
			//IL_0339: Unknown result type (might be due to invalid IL or missing references)
			//IL_0346: Unknown result type (might be due to invalid IL or missing references)
			//IL_0396: Unknown result type (might be due to invalid IL or missing references)
			//IL_039b: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f8: 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_040a: 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_045f: Unknown result type (might be due to invalid IL or missing references)
			//IL_046c: Unknown result type (might be due to invalid IL or missing references)
			//IL_04bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_04c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_051e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0523: Unknown result type (might be due to invalid IL or missing references)
			//IL_0530: Unknown result type (might be due to invalid IL or missing references)
			//IL_0580: Unknown result type (might be due to invalid IL or missing references)
			//IL_0585: Unknown result type (might be due to invalid IL or missing references)
			//IL_0592: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_05e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f4: 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_0658: Unknown result type (might be due to invalid IL or missing references)
			//IL_06aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_06af: Unknown result type (might be due to invalid IL or missing references)
			//IL_06bc: Unknown result type (might be due to invalid IL or missing references)
			Logger = ((BaseUnityPlugin)this).Logger;
			Logger.LogInfo((object)"Plugin PEAKUnbound is loaded!");
			configPause = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Pause", "<Keyboard>/escape", "Pause Button");
			BindingSyntax val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Pause", false), 0);
			((BindingSyntax)(ref val)).WithPath(configPause.Value);
			CharacterInput.action_pause = InputSystem.actions.FindAction("Pause", false);
			configForward = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Forward", "<Keyboard>/w", "Forward Movement Button");
			configBackward = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Backward", "<Keyboard>/s", "Backward Movement Button");
			configLeft = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Left", "<Keyboard>/a", "Left Movement Button");
			configRight = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Right", "<Keyboard>/d", "Right Movement Button");
			RebindMoveKeys();
			configJump = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Jump", "<Keyboard>/space", "Jump Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Jump", false), 0);
			((BindingSyntax)(ref val)).WithPath(configJump.Value);
			CharacterInput.action_jump = InputSystem.actions.FindAction("Jump", false);
			configSprint = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Sprint", "<Keyboard>/leftShift", "Sprint Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Sprint", false), 0);
			((BindingSyntax)(ref val)).WithPath(configSprint.Value);
			CharacterInput.action_sprint = InputSystem.actions.FindAction("Sprint", false);
			configInteract = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Interact", "<Keyboard>/e", "Interact Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Interact", false), 0);
			((BindingSyntax)(ref val)).WithPath(configInteract.Value);
			CharacterInput.action_interact = InputSystem.actions.FindAction("Interact", false);
			configDrop = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Drop", "<Keyboard>/q", "Drop Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Drop", false), 0);
			((BindingSyntax)(ref val)).WithPath(configDrop.Value);
			CharacterInput.action_drop = InputSystem.actions.FindAction("Drop", false);
			configCrouch = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Crouch", "<Keyboard>/ctrl", "Crouch Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Crouch", false), 0);
			((BindingSyntax)(ref val)).WithPath(configCrouch.Value);
			CharacterInput.action_crouch = InputSystem.actions.FindAction("Crouch", false);
			configUsePrimary = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Use Primary", "<Mouse>/leftButton", "Use Primary Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("UsePrimary", false), 0);
			((BindingSyntax)(ref val)).WithPath(configUsePrimary.Value);
			CharacterInput.action_usePrimary = InputSystem.actions.FindAction("UsePrimary", false);
			configUseSecondary = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Use Secondary", "<Mouse>/rightButton", "Use Secondary Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("UseSecondary", false), 0);
			((BindingSyntax)(ref val)).WithPath(configUseSecondary.Value);
			CharacterInput.action_useSecondary = InputSystem.actions.FindAction("UseSecondary", false);
			configPushToTalk = ((BaseUnityPlugin)this).Config.Bind<string>("General", "PushToTalk", "<Keyboard>/v", "PushToTalk Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("PushToTalk", false), 0);
			((BindingSyntax)(ref val)).WithPath(configPushToTalk.Value);
			CharacterInput.push_to_talk = InputSystem.actions.FindAction("PushToTalk", false);
			configEmote = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Emote", "<Keyboard>/r", "Emote Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Emote", false), 0);
			((BindingSyntax)(ref val)).WithPath(configEmote.Value);
			CharacterInput.action_emote = InputSystem.actions.FindAction("Emote", false);
			configPing = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Ping", "<Mouse>/middleButton", "Ping Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Ping", false), 0);
			((BindingSyntax)(ref val)).WithPath(configPing.Value);
			CharacterInput.action_ping = InputSystem.actions.FindAction("Ping", false);
			configSpectateLeft = ((BaseUnityPlugin)this).Config.Bind<string>("General", "SpectateLeft", "<Keyboard>/a", "SpectateLeft Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("SpectateLeft", false), 0);
			((BindingSyntax)(ref val)).WithPath(configSpectateLeft.Value);
			CharacterInput.action_spectateLeft = InputSystem.actions.FindAction("SpectateLeft", false);
			configSpectateRight = ((BaseUnityPlugin)this).Config.Bind<string>("General", "SpectateRight", "<Keyboard>/d", "SpectateRight Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("SpectateRight", false), 0);
			((BindingSyntax)(ref val)).WithPath(configSpectateRight.Value);
			CharacterInput.action_spectateRight = InputSystem.actions.FindAction("SpectateRight", false);
			configHotBarAction1 = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Hotbar1", "<Keyboard>/1", "Hotbar1 Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Hotbar1", false), 0);
			((BindingSyntax)(ref val)).WithPath(configHotBarAction1.Value);
			CharacterInput.hotbarActions[0] = InputSystem.actions.FindAction("Hotbar1", false);
			configHotBarAction2 = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Hotbar2", "<Keyboard>/2", "Hotbar2 Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Hotbar2", false), 0);
			((BindingSyntax)(ref val)).WithPath(configHotBarAction2.Value);
			CharacterInput.hotbarActions[1] = InputSystem.actions.FindAction("Hotbar2", false);
			configHotBarAction3 = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Hotbar3", "<Keyboard>/3", "Hotbar3 Button");
			val = InputActionSetupExtensions.ChangeBinding(InputSystem.actions.FindAction("Hotbar3", false), 0);
			((BindingSyntax)(ref val)).WithPath(configHotBarAction3.Value);
			CharacterInput.hotbarActions[2] = InputSystem.actions.FindAction("Hotbar3", false);
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "PEAKUnbound";

		public const string PLUGIN_NAME = "My first plugin";

		public const string PLUGIN_VERSION = "1.0.0";
	}
}