Decompiled source of CopyPasteFilterHotkeys v1.0.1

CopyPasteFilterHotkeys_IL2Cpp.dll

Decompiled 2 months ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using CopyPasteFilterHotkeys;
using Il2CppScheduleOne.DevUtilities;
using Il2CppScheduleOne.ItemFramework;
using Il2CppScheduleOne.UI.Items;
using MelonLoader;
using MelonLoader.Preferences;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(global::CopyPasteFilterHotkeys.CopyPasteFilterHotkeys), "CopyPasteFilterHotkeys", "1.0.1", "Delassa", null)]
[assembly: MelonGame("TVGS", "Schedule I")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: IgnoresAccessChecksTo("")]
[assembly: AssemblyCompany("CopyPasteFilterHotkeys_IL2Cpp")]
[assembly: AssemblyConfiguration("IL2CPP")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.0+9b711463eb5befac44729ede01f7172e92749f6b")]
[assembly: AssemblyProduct("CopyPasteFilterHotkeys_IL2Cpp")]
[assembly: AssemblyTitle("CopyPasteFilterHotkeys_IL2Cpp")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.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 CopyPasteFilterHotkeys
{
	public class CopyPasteFilterHotkeys : MelonMod
	{
		private MelonPreferences_Category _category;

		private MelonPreferences_Entry<KeyCode> _copyKey;

		private MelonPreferences_Entry<KeyCode> _pasteKey;

		private SlotFilter _copiedFilter;

		public override void OnInitializeMelon()
		{
			//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
			_category = MelonPreferences.CreateCategory("CopyPasteFilterHotkeys", "Copy Paste Filter Hotkeys Settings");
			_copyKey = _category.CreateEntry<KeyCode>("CopyKey", (KeyCode)91, "Copy Filter Hotkey", (string)null, false, false, (ValueValidator)null, (string)null);
			((MelonPreferences_Entry)_copyKey).Description = "Key to use to copy filter settings";
			_pasteKey = _category.CreateEntry<KeyCode>("PasteKey", (KeyCode)93, "Paste Filter Hotkey", (string)null, false, false, (ValueValidator)null, (string)null);
			((MelonPreferences_Entry)_pasteKey).Description = "Key to use to paste filter settings";
			((MelonBase)this).LoggerInstance.Msg($"Initialized. Use <{_copyKey.Value}> to copy a filter, and <{_pasteKey.Value}> to paste a filter");
		}

		public override void OnLateUpdate()
		{
			//IL_0029: 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)
			if (Singleton<ItemUIManager>.InstanceExists && (Object)(object)Singleton<ItemUIManager>.Instance.HoveredSlot != (Object)null)
			{
				if (Input.GetKeyDown(_copyKey.Value) && Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.PlayerFilter != null && Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.CanPlayerSetFilter)
				{
					_copiedFilter = Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.PlayerFilter.Clone();
					Singleton<ItemUIManager>.Instance.HoveredSlot.UpdateUI();
				}
				if (Input.GetKeyDown(_pasteKey.Value) && _copiedFilter != null && Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.CanPlayerSetFilter)
				{
					Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.SetPlayerFilter(_copiedFilter.Clone(), false);
					Singleton<ItemUIManager>.Instance.HoveredSlot.UpdateUI();
				}
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		internal IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}

CopyPasteFilterHotkeys_Mono.dll

Decompiled 2 months ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using CopyPasteFilterHotkeys;
using MelonLoader;
using MelonLoader.Preferences;
using Microsoft.CodeAnalysis;
using ScheduleOne.DevUtilities;
using ScheduleOne.ItemFramework;
using ScheduleOne.UI.Items;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(global::CopyPasteFilterHotkeys.CopyPasteFilterHotkeys), "CopyPasteFilterHotkeys", "1.0.1", "Delassa", null)]
[assembly: MelonGame("TVGS", "Schedule I")]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("CopyPasteFilterHotkeys_Mono")]
[assembly: AssemblyConfiguration("MONO")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.0+9b711463eb5befac44729ede01f7172e92749f6b")]
[assembly: AssemblyProduct("CopyPasteFilterHotkeys_Mono")]
[assembly: AssemblyTitle("CopyPasteFilterHotkeys_Mono")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.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 CopyPasteFilterHotkeys
{
	public class CopyPasteFilterHotkeys : MelonMod
	{
		private MelonPreferences_Category _category;

		private MelonPreferences_Entry<KeyCode> _copyKey;

		private MelonPreferences_Entry<KeyCode> _pasteKey;

		private SlotFilter _copiedFilter;

		public override void OnInitializeMelon()
		{
			//IL_008d: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Unknown result type (might be due to invalid IL or missing references)
			_category = MelonPreferences.CreateCategory("CopyPasteFilterHotkeys", "Copy Paste Filter Hotkeys Settings");
			_copyKey = _category.CreateEntry<KeyCode>("CopyKey", (KeyCode)91, "Copy Filter Hotkey", (string)null, false, false, (ValueValidator)null, (string)null);
			((MelonPreferences_Entry)_copyKey).Description = "Key to use to copy filter settings";
			_pasteKey = _category.CreateEntry<KeyCode>("PasteKey", (KeyCode)93, "Paste Filter Hotkey", (string)null, false, false, (ValueValidator)null, (string)null);
			((MelonPreferences_Entry)_pasteKey).Description = "Key to use to paste filter settings";
			((MelonBase)this).LoggerInstance.Msg($"Initialized. Use <{_copyKey.Value}> to copy a filter, and <{_pasteKey.Value}> to paste a filter");
		}

		public override void OnLateUpdate()
		{
			//IL_0029: 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)
			if (Singleton<ItemUIManager>.InstanceExists && (Object)(object)Singleton<ItemUIManager>.Instance.HoveredSlot != (Object)null)
			{
				if (Input.GetKeyDown(_copyKey.Value) && Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.PlayerFilter != null && Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.CanPlayerSetFilter)
				{
					_copiedFilter = Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.PlayerFilter.Clone();
					Singleton<ItemUIManager>.Instance.HoveredSlot.UpdateUI();
				}
				if (Input.GetKeyDown(_pasteKey.Value) && _copiedFilter != null && Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.CanPlayerSetFilter)
				{
					Singleton<ItemUIManager>.Instance.HoveredSlot.assignedSlot.SetPlayerFilter(_copiedFilter.Clone(), false);
					Singleton<ItemUIManager>.Instance.HoveredSlot.UpdateUI();
				}
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		internal IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}